numpy常用矩阵计算函数总结
2016-06-30 15:48
519 查看
其他操作:http://www.cnblogs.com/shuaishuai-it/p/5392880.html
导入numpy包:from numpy import *
以下所有的函数使用格式为:object.函数
例如:
array(list): 创建矩阵或高维向量,例如a = array([[0,1,2,3],[4,5,6,7]]),传入参数也可以是元组
shape: 表示向量大小的元组,例如a.shape结果为tuple,形如(2,3)
ndim: 表示矩阵或高维向量的维数,例如矩阵a的a.ndim为2
size: 表示向量总元素数
itemsize: 表示元素所占字节数
nbytes: 表示向量所占字节数
real: 所有元素的实部,返回的还是矩阵形式
imag: 所有元素的虚部,返回的还是矩阵形式
flat: 用一维数组表示矩阵或高维向量(常用于顺序遍历)
T: 表示矩阵的转置矩阵(也适用于高维向量),例如:a.T
zeros(shape): 创建全0矩阵或高维向量,例如a = zeros((2,3))
ones(shape):创建全1矩阵或高维向量,例如a = ones((2,3))
add(matrix):将矩阵对应元素相加,结果相当于直接用加号
dot(matrix)
矩阵乘法,注意必须满足“能乘”的要求
如果是*,则需注意:
例如:
(1)aa
(2)aaa***2
15.reshape(shape)
得到改变形状的矩阵,例如a = array([[1,2,3],[4,5,6]]).reshape((3,2))的结果为[[1,2],[3,4],[5,6]]。注意矩阵的大小不能改变,即reshape的参数表示的矩阵元素数必须等于原矩阵的元素数。
16.transpose()
得到矩阵的转置矩阵,a.transpose()相当于a.T
17.swapaxes(d1,d2)
调换给定的两个维度
18.flatten()
返回对应一维向量,例如:
19.tolist()
得到矩阵对象转化为list的结果
20.min(axis)
得到所有元素中的最小值。当给定axis值(min(0)或min(axis=0))时,在该坐标上求最小值(得到数组)
例如:
21.max(axis)
得到所有元素中的最小值。缺省参数axis作用和min()相同
22.sum()
得到数组元素之和,得到的是一个数字。
23.cumsum()
得到累计和,即依次加一个元素求和的一维数组。
例如:
24.prod()
得到数组所有元素之积,是个数字。
25.cumprod()
得到累计积,例子形式与上面cumsum()相同,这两个函数也都可以分坐标累计加和累计乘。
26.mean()
得到元素的平均数
27.all()
如果所有元素为真,返回真;否则返回假
28.any()
如果所有元素只要有一个真,返回真;否则返回假。
29.特征值
linalg.eigvals()
返回A的特征值
linalg.eig(A)
返回A的特征值和特征向量,例如(eval, evec) = linalg.eig(A),其中eval的对角元为A的各个特征值,evec对应各列是相应特征向量。
即特征向量为λ1=2的(0,0,1)和λ2=λ3=1的(0.4,0.8,-0.4)
导入numpy包:from numpy import *
以下所有的函数使用格式为:object.函数
例如:
a = array([[1,2,3],[2,3,4]]) a.shape a.ndim a.min()
array(list): 创建矩阵或高维向量,例如a = array([[0,1,2,3],[4,5,6,7]]),传入参数也可以是元组
shape: 表示向量大小的元组,例如a.shape结果为tuple,形如(2,3)
ndim: 表示矩阵或高维向量的维数,例如矩阵a的a.ndim为2
size: 表示向量总元素数
itemsize: 表示元素所占字节数
nbytes: 表示向量所占字节数
real: 所有元素的实部,返回的还是矩阵形式
imag: 所有元素的虚部,返回的还是矩阵形式
flat: 用一维数组表示矩阵或高维向量(常用于顺序遍历)
T: 表示矩阵的转置矩阵(也适用于高维向量),例如:a.T
zeros(shape): 创建全0矩阵或高维向量,例如a = zeros((2,3))
ones(shape):创建全1矩阵或高维向量,例如a = ones((2,3))
add(matrix):将矩阵对应元素相加,结果相当于直接用加号
dot(matrix)
矩阵乘法,注意必须满足“能乘”的要求
如果是*,则需注意:
例如:
aaa = array([[10,9,8],[7,6,5],[42,33,2]]) a = aaa.min(0) #取每一列的最小值,返回的是一个数组 aaa*aaa#结果为(2),相当于aaa**2: aaa*a #aaa每行元素分别与a相乘,结果为(1) a*aaa #结果与上(1)相同 3*aaa #aaa中每个元素乘以3
(1)aa
array([[ 70, 54, 16], [ 49, 36, 10], [294, 198, 4]]))
(2)aaa***2
array([[ 100, 81, 64], [ 49, 36, 25], [1764, 1089, 4]])
15.reshape(shape)
得到改变形状的矩阵,例如a = array([[1,2,3],[4,5,6]]).reshape((3,2))的结果为[[1,2],[3,4],[5,6]]。注意矩阵的大小不能改变,即reshape的参数表示的矩阵元素数必须等于原矩阵的元素数。
16.transpose()
得到矩阵的转置矩阵,a.transpose()相当于a.T
17.swapaxes(d1,d2)
调换给定的两个维度
18.flatten()
返回对应一维向量,例如:
aaa = array([[10,9,8],[7,6,5],[42,33,2]]) aaa.flatten() 返回值为: array([10, 9, 8, 7, 6, 5, 42, 33, 2])
19.tolist()
得到矩阵对象转化为list的结果
aa = aaa.tolist() aa返回为list型(每一行又是一个子list): [[10, 9, 8], [7, 6, 5], [42, 33, 2]] aa[0] #返回为: [10, 9, 8]
20.min(axis)
得到所有元素中的最小值。当给定axis值(min(0)或min(axis=0))时,在该坐标上求最小值(得到数组)
例如:
aaa = array([[10,9,8],[7,6,5],[42,33,2]]) aaa.min() 返回为:aaa矩阵中所有元素的最小值 结果为:2 aaa.min(0) 返回为:aaa矩阵中所有列中元素的最小值 结果为:array([7, 6, 2]) aaa.min(1) 返回为:aaa矩阵中所有行中元素的最小值 结果为:array([8, 5, 2])
21.max(axis)
得到所有元素中的最小值。缺省参数axis作用和min()相同
22.sum()
得到数组元素之和,得到的是一个数字。
也可以aaa.sum(axis),分别求每一行或者是每一列的元素之和。
23.cumsum()
得到累计和,即依次加一个元素求和的一维数组。
例如:
aaa.cumsum() 结果为:array([ 10, 19, 27, 34, 40, 45, 87, 120, 122])
24.prod()
得到数组所有元素之积,是个数字。
也可以aaa.sum(axis),分别求每一行或者是每一列的元素之积。
25.cumprod()
得到累计积,例子形式与上面cumsum()相同,这两个函数也都可以分坐标累计加和累计乘。
26.mean()
得到元素的平均数
27.all()
如果所有元素为真,返回真;否则返回假
28.any()
如果所有元素只要有一个真,返回真;否则返回假。
29.特征值
linalg.eigvals()
返回A的特征值
linalg.eig(A)
返回A的特征值和特征向量,例如(eval, evec) = linalg.eig(A),其中eval的对角元为A的各个特征值,evec对应各列是相应特征向量。
>>> a = array([[-1,1,0], [-4,3,0], [ 1,0,2]]) >>> eval, evec = linalg.eig(a) >>> eval array([ 2., 1., 1.]) >>> evec array([[ 0. , 0.40824829, 0.40824829], [ 0. , 0.81649658, 0.81649658], [ 1. , -0.40824829, -0.40824829]])
即特征向量为λ1=2的(0,0,1)和λ2=λ3=1的(0.4,0.8,-0.4)
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法