Numpy通用函数
1、数组形状
- T方法可以用来转置,例如原来的shape是(3,4)/(2,3,4),转置结果为(4,3)/(4,3,2),而一维数组转置后结果不变:
ar1=np.arange(10) ar2=np.zeros((2,5)) print(ar1) print(ar2) print(ar1.T) print(ar2.T)
- reshape()也能用来直接改变数组的形状:
ar1=np.arange(10) ar2=np.zeros((2,5)) print(ar1) print(ar2) print(ar1.T) print(ar2.reshape(5,2))
ar1=np.arange(10) ar2=np.zeros((2,5)) print(ar1) print(ar2) print(ar1.reshape(5,2)) print(np.ones((10,10)).reshape(5,20)) print(np.reshape(np.arange(16),(2,8)))
- resize与reshape的区分:
print(np.resize(np.arange(14),(3,4))) # resize在数值不一致时会进行调整,不用像reshape一样数据数量严格对应
2、数组的复制
ar1=np.arange(10)
ar2=ar1
print(ar1 is ar2)
ar1[2]=100
print(ar1,ar2)
ar3=ar1.copy()
ar1[3]=11
print(ar1,ar3)
3、数组类型转换 .astype()
ar1=np.arange(10,dtype=float)
ar2=ar.astype(np.int64)
print(ar1,ar1.dtype)
print(ar2,ar2.dtype)
4、数组的堆叠
注意,堆叠数组时要保证数组的列是相同的:
a=np.arange(5)
b=np.arange(5,9)
print(a)
print(b)
print(np.hstack((a,b))) # 横向连接
print('-------')
a=np.array([[1],[2],[3]])
b=np.array([['a'],['b'],['c']])
print(a)
print(b)
print(np.vstack((a,b))) # 竖向连接
5、数组的拆分
ar=np.arange(16).reshape(4,4)
print(np.hsplit(ar,2)[0])
print(np.vsplit(ar,4))
6、数组的简单运算
ar=np.arange(6).reshape(2,3)
print(ar+10) # 加法
print(ar*2) # 减法
print(1/(ar+1)) # 除法
print(ar**0.5) # 幂
# 与标量的运算
print(ar.mean()) # 求平均值
print(ar.max()) # 求最大值
print(ar.min()) # 求最小值
print(ar.std()) # 求标准差
print(ar.var()) # 求方差
print(ar.sum(),np.sum(ar,axis=0))
# 求和np.sum()→axis为0,按列求和;axis为1,按行求和
print(np.sort(np.array([1,4,3,2,5,6]))) # 排序
#常用函数