Python: Numpy 基础(二)基本函数

发布时间 2023-12-15 11:37:43作者: 49127

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]))) # 排序

#常用函数