机器学习之numpy库中常用的函数介绍(一)
1. mat()
mat()与array的区别:
mat是矩阵,数据必须是2维的,是array的子集,包含array的所有特性,所做的运算都是针对矩阵来进行的。
array是数组,数据可以是多维的,所做的运算都是针对数组来进行的
(1) 数据能表示的维度不同,array数据可以是多维的,mat的数据必须是2维的。
array能表示超过2维的数据,而mat不能:
对于2维的数据,array和mat的表示形式完全一样(但运算不一样):
(2) 把array转换为mat
(3) matrix 和 array 都可以通过objects后面加.T 得到其转置。但是matrix objects 还可以在后面加 .H 得到共轭矩阵, 加 .I 得到逆矩阵。
(4) array遵从逐个元素的运算,array的类型的a和b的a*b的运算,相当与MATLAB中的a.*b的运算。
数组a,b的点乘乘法运算a*b (逐个元素的运算):
数组a,b的矩阵乘法运算:
相当于矩阵A,B的矩阵乘法运算:
(5) **运算不一样
对于array a,a**2运算相当于对于a的元素逐个求平方:
对于mat a,a**2运算相当于矩阵相乘a*a:
2. list和array的区别
(1) list是python的内置数据类型,list中的数据类型不必相同,主要用来作索性,可以通过索引查找数值,但不能对整个列表进行数值运算
但是可以进行+运算,表示的是两个列表的拼接:
(2) array的中的类型必须全部相同(同属于int,float,duoble)才能进行数组间的运算,否则也只能作索引:
3. shape() 读取矩阵的各个维度的长度
(1)shape() 返回的是各个维度的长度的列表:
(2)shape[n ]表示获取第n个维度的长度
4. random.uniform()方法
uniform(x,y): 随机产生一个在[x, y]范围内的实数,返回一个浮点数。
5. mean()方法
mean()方法为求平均值的方法:
mean(a, axis=None, dtype=None, out=None, skipna=False, keepdims=False)
a: 输入的数组,array类型
axis: None:计算数组中的所有值的平均值
=0:以列为单位计算数组中每一列的所有值的平均值;
=1:以行为单位计算数组中每一行的所有值的平均值
dtype: 为指定数组中的元素的类型,默认为float64
out: 如果提供,则为计算的输出结果保存的数组,大小要和输出结果的数组大小相同
skipna: 如果设置为true,则计算时跳过为NA的值
keepdims: 如果设置为true,输出结果将保持为1的维度,即计算结果放在一个数组内
6. tile() 方法
tile英文单词意思:拼贴。tile(A, n)功能:将数组A重复n次,构成一个新的数组。
A的类型:array, list, tuple, dict, matrix,int, string, float,bool
n的类型: tuple,list, dict, array, int,bool,不可以是float, string, matrix
(1) 当n为一个整数时
(2) 当n为list,tuple
(3) 当A的维度 < n的长度时
tile(A, n)将A中的所有元素作为单元,按n变成一个新的数组,以上为例子。
(4) 当A的维度 > n的长度时
n的长度不足为A的维度,即在n的前面加上(A的维度-n的长度),变成与A的维度相同的长度,再进行重复:
以上的a的维度为2,n的长度为1,n自动补充为[2-1, 3] =[1, 3], 与以下等效:
7. argsort()方法
argsort(a):对数组或元组a进行升序排序, 返回的是升序之后的各个元素在原来a未升序之前的下标,即返回升序之后对应的下标数组。
降序排序:
(1) 获取升序排列之后的最后一个下标
(2) 或者使用argsort(-a)进行降序排列,其中a只能是含相同数据类型的数组,不能是列表
8. transpose( )方法
装置,可以装置任何类型mat,list,array,当类=类型为mat的时候,等同于A.T
9. sum
sum(a, axis=None, dtype=None, out=None, skipna=False, keepdims=False)
a: 输入的数组,array类型
axis: None:计算数组中的所有值的和
=0:以列为单位计算数组中每一列的所有值的和;
=1:以行为单位计算数组中每一行的所有值的和
dtype: 为指定数组中的元素的类型,默认为float64
out: 如果提供,则为计算的输出结果保存的数组,大小要和输出结果的数组大小相同
skipna: 如果设置为true,则计算时跳过为NA的值
keepdims: 如果设置为true,输出结果将保持为1的维度,即计算结果放在一个数组内
10. get()方法
dict.get(key, default=None) key -- 字典中要查找的键。default -- 如果指定键的值不存在时,返回该默认值。
11. operator.itemgetter ()
operator.itemgetter(n)定义了一个用来获取对象第n个域数据的函数。
12. iteritems()
返回字典的一个迭代器。返回一个可以调用的对象(可以从操作对象中提取item)
13. sorted() 方法
对list或者iterable进行排列
sorted(iterable, cmp, key, reverse)
iterable指定要排序的list或者iterable,
cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,
key为函数,指定取待排序元素的哪一个域进行排序,
reverse默认为false(升序排列),定义为True时将按降序排列。
与sort区别的是,sort会改变原来对象的顺序:
ndarray.sort(axis=-1, kind='quicksort', order=None)
axis:排序的维度,0表示按行,1表示按列
kind:排序的算法,提供了快排、混排、堆排:’quicksort’, ‘mergesort’, ‘heapsort’
order:排列的顺序
机器学习之numpy库中常用的函数介绍(一)的更多相关文章
- C语言string.h中常用字符函数介绍
原文:http://www.cnblogs.com/xuwenmin888/archive/2013/05/03/3057883.html strcpy 函数名: strcpy 功 能: 拷贝一个字符 ...
- MySQL中常用转换函数介绍
Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name). ...
- string中常用的函数
string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...
- jQuery中常用的函数方法
jQuery中常用的函数方法总结 Ajax处理 load(url,[data],[callback]) url (String) : 待装入 HTML 网页网址. data (Map) : (可选) ...
- SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
- Mysql中常用的函数汇总
Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...
- Python3:numpy模块中的argsort()函数
Python3:numpy模块中的argsort()函数 argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...
- numpy库中数组的数据类型
numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as ...
- python中multiprocessing.pool函数介绍_正在拉磨_新浪博客
python中multiprocessing.pool函数介绍_正在拉磨_新浪博客 python中multiprocessing.pool函数介绍 (2010-06-10 03:46:5 ...
随机推荐
- 使用 qemu 搭建内核开发环境
本文主要介绍在 MacOS 上使用 qemu 搭建 Linux Kernel 的开发环境.(在开始之前需要注意的是,本文中的 Linux 开发环境是一个远程服务器,而 qemu 被安装在本地的 Mac ...
- httpd2.4常用配置
author:JevonWei 版权声明:原创作品 httpd 2.4配置 切换使用的MPM Centos7:/etc/httpd/conf.modules.d/00-mpm.conf 启用要启用的M ...
- 搞java的都土鳖
spring不就几个破框架让人们下载使用吗,但是官网什么都有,就是没有下载链接.java程序员被那些垃圾框架强奸的体无完肤,还乐在其中,还什么SSH,哇哦!java好像跟企业干上了,什么企业bean, ...
- 最近见到的JS返回函数的一些题
JS返回值题一直都是考察重点,面试和笔试之中也经常涉及到,说一说我最近遇到的一些有意思的JS返回函数问题. 之前见到过一道有意思的问题,说有一个sum函数,用户可以通过sum(2,3)来取到2+3 = ...
- IOS学习[Swift中跳转与传值]
Swift中页面跳转与传值: 1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyb ...
- js实现换肤效果
一,js换肤的基本原理 基本原理很简单,就是使用 JS 切换对应的 CSS 样式表文件.例如导航网站 Hao123 的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 ...
- MPLS VPN随堂笔记2
深入理解ospf 理解MPLS VPN 中对OSPF 层次化设计的补充 supper backbone area 2:理解MPLS VPN 中OSPF 的区域设计概念 3:理解MPLS VPN 中OS ...
- 1001.A+B Format (20)代码自查(补足版)
1001.A+B Format (20)代码自查(补足版) 谢谢畅畅酱的提醒,发现了代码中的不足,把变量名更改成更合理的名字,并且把注释也换成英文啦! 栋哥提供的代码自查的方式也帮助了我发现很多代码中 ...
- 201521123063 《Java程序设计》 第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 这次就不弄思维导图了,就直接总结了 遍历Map的方法 (1)使用键值对for循环 Map<String, ...
- 201521123098 《Java程序设计》第1周学习总结
1. 本章学习总结 在本章的学习中,我和当初学习C语言一样由"Hello world"入手,初步了解了: 1. *NotePad++*的文件创建和编写*Hello world.ja ...