Numpy
1、两个重要属性
np.shape 属性主要是获取np数组的维度(长度)
np.dtype 主要表示数组的类型
2、Numpy属性
3、嵌套序列
arr=[[1,2,3,4],[4,5,6,7]]
np.array[arr],上边的dtype和shape属性能继续使用
4、矢量化
矢量化就是在不定义循环的条件下,就可以批量操作
arr1=[1,2,3,4] arr2=[4,5,6,7]
5、花式索引(Fancy indexing)它是一个NumPy中的索引,指的是利用整数数组进行索引
在这里插入代码片
arr=np.arange(32).reshape((8,4))
print(arr[ [1,5,7,2],[0,3,1,2]] )
print( arr[[1,5,7,2]][:,[0,3,1,2]] )
6、数组转置和兑换
转置就是重塑数组的一种特殊的形式,常用的方法T和transpose
三位数组中我们称三个轴分别为行,列,面,0行,1列,2面,交换哪两个轴,要保持另一个轴不改变;
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]
是一行展开写[[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]]看的更清楚。
7、条件逻辑转数组
np.where 等同于 x if condition else y 矢量化的一个版本
x if condition else y 表达的是 当条件conditon成立时,表达式的值为x,不成立时返回y
np.where的写法,一般用于一个数组产生另一个是数组,跟python函数表达式中的map、reduce等函数类似
#zip接收的参数就是可迭代的对象
#zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
np.where(arr > 0, 2, arr)
8、Numpy的数学运算
mean(),sum(),std()标准差;sort(axis=1) 轴1上的排序
argmin,argmax,cumsum返回最大值的参数值
9、numpy的文件操作
numpy可以读写磁盘上的文本数据或者是二进制数据 主要应用的函数是np.save和np.load,默认情况下数据是以未压缩的原始二进制格式保存在扩展名为.npy的文件中
np.load(‘arr11.npz’)[‘a’]
np.savez(‘arr11’,a=arr)
np.savetxt(‘arr2.txt’,arr1,delimiter=’,’)
np.loadtxt(‘arr2.txt’,delimiter=’,’)
10、线性代数
dot 矩阵的乘法运算
trace 计算对角线元素的和
det 计算矩阵的行列式
eig 计算方阵的特征值和特征向量
inv 计算方阵的逆