1创建
matr1=np.mat("1 2 3;4 5 6;7 8 9")#用mat函数创建矩阵
matr2=np.matrix([[1,2,3],[4,5,6],[7,8,9]])#用matrix函数创建矩阵
np.bmat("arr1 arr2;arr1 arr2")#用bmat函数合成矩阵
Numpy矩阵
矩阵相乘:matr1*matr2
矩阵元素相乘:np.multiply(matr1,matr2)
矩阵特有属性 | 说明 |
---|---|
T | 返回自身的转置 |
H | 返回共轭转置 |
I | 返回自身的逆矩阵 |
A | 返回自身数据的2维数组的一个视图 |
e.g matr1.T
2.ufunc函数的广播机制
broadcasting是指不同形状的数组之间执行算术 运算的方式 ,要遵循4个原则
- 让所有输入数组都向其中的shape最长的数组看齐,shape中不足的部分通过前面加1补齐
- 输出数组的shape是输入数组shape的各个轴上的最大值
- 如果输入数组的某个轴和输出数组的对应轴长相同或长度为1,这个数组才能计算
- 如果输入数组轴长为1时,沿此轴运算都用该轴的第一组值
一维数组的广播机制:
3.读写文件
numpy文件读写主要是二进制的文件读写和文件列表形式的数据读写两种形式
- save函数是以二进制的格式保存数据 np.save("...",arr)
- load函数从二进制的文件读取数据np.load("...")
- savez函数可以将多个数组保存到一个文件("...",arr1,arr2)
- 储存时可以省略扩展名,但读取时不能省略
- savetxt函数是将数组写到某种分隔符隔开的文本文件中np.savetxt("...",arr,fmt="%d",delimiter=",")
- loadtxt函数执行的是将文件加载到二维数组里np.loadtxt("...",delimiter=",")
- genfromtxt函数面向的是结构化数据和缺失数据np.genfromtxt(".."delimiter=",")
4.简单统计分析
直接排序
arr.sort()是最长用的排序法,axis=1为横轴排序,axis=0为纵轴排序
间接排序
np.argsort()函数返回值为重新排序值的下标
np.lexsort((a,b,c))函数返回值是按照最后一个传入数据排序的
5.去重与重复数据
通过unique函数可以找出数组中唯一值并返回已排序的结果
np.tile(A,reps)函数主要是两个参数,参数“A”指定重复的数组,参数“reps”指定重复的次数
np.repeat(a,repeats,axis=none),和tile参数相似,不同是repeat是对数组中的每个元素进行重复操作
tile是对数组重复操作
常见的统计函数:
函数 | 说明 |
---|---|
sum | 计算数组和 |
mean | 数组均值 |
std | 数组标准差 |
var | 数组方差 |
min | 最小值 |
max | 最大值 |
argmin | 最小值的索引 |
argmax | 最大值的索引 |
cumsum | 所有元素累积和 |
cumprod | 所有元素累计积 |