numpy
基本功能
data.shape
data.dtype
np.array(data1)
data.ndim
np.zeros(10 )
np.zeros((3 ,6 ))
np.empty((2 ,3 ,2 ))
np.arange(15 )
np.array([1 ,2 ,3 ],dtype=np.float64)
data.astype(np.float64)
索引功能
data[5 :8 ]
data[5 :8 ].copy()
data[0 ][2 ]
data[0 ,2 ]
data[0 ]=42
data[:,:1 ]
data = randn(7 ,4 )
data == "bob"
data1[data == "bob" ]
data1[data == "bob" , 2 :]
data1[data != "bob" ]
data1[-(data == "bob" )]
data[data<0 ] = 0
data1[data != "joe" ] = 7
data=np.arange(32 ).reshape((8 ,4 ))
data[[1 ,5 ,7 ,2 ],[0 ,3 ,1 ,2 ]]
data[[1 ,5 ,7 ,2 ]][:,[0 ,3 ,1 ,2 ]]
data[np.ix_([1 ,5 ,7 ,2 ],[0 ,3 ,1 ,2 ])]
数组转置和轴对换
data.T
np.dot(data.T,data)
data.transpose((1 ,0 ,2 ))
data.swapaxes(1 ,2 )
通用函数:快速的元素级数组函数
np.aqrt(data)
np.exp(data)
np.maximum(data1,data2)
data=randn(7 )*5 ; np.modf(data)
将条件逻辑表述为数组运算
result=[(x if c else y) for x,y,z in zip(xarr,yarr,cond)]
np.where(cond,xarr,yarr)
np.where(arr<0 ,2 ,-2 )
np.where(arr<0 ,2 ,arr)
数学和统计方法
data.mean()
data.sum()
data.mean(axis=1 )
data.sum(0 )
data.cumsum(0 )
data.cumprod(1 )
(data>0 ).sum()
bools.any()
bools.all()
data.sort()
data.sort(1 )
data[int(0.05 *len(data))]
唯一化以及其他的集合逻辑
np.unique(data)
np.in1d(data,[2 ,3 ,6 ])
数组的文件输入输出
np.save("some_array.npy" ,data)
np.load("some_array.npy" )
np.savez("array_archive.npz" ,a=data1,b=data2)
np.load("array_archive.npz" ); arch["b" ]
!cat array_ex.txt
arr=np.loadtxt("array_ex.txt" ,delimiter="," )
线性代数
x.dot(y)
np.dot(x,y)
qr.(data)
inv(data)
随机数的生成
np.random.normal(size=(4 ,4 ))
%timeit
data.argmax()