数组运算
ar=np.arange(1,9).reshape(2,4)
print(ar)
print(ar+1)
print(ar-1)
print(ar*5)
print(8/ar)
print(ar**(0.5))#幂
#+= *=
print('----------')
ar1=np.ones((2,3),dtype=int)
ar2=np.arange(1,7).reshape(2,3)
ar3=np.random.rand(2,3)
print('ar1\n',ar1)
print('ar2\n',ar2)
print('ar3\n',ar3)
print('不同类型相加 ar1+ar3\n',ar1+ar3)
#casting rule 'same_kind'
ar1*=3
print('ar1*=3 等价于 ar1=ar1*3\n',ar1)
ar2+=ar1
print('ar2+=ar1 等价于 ar2=ar2+ar1\n',ar2)
'''
[[1 2 3 4]
[5 6 7 8]]
[[2 3 4 5]
[6 7 8 9]]
[[0 1 2 3]
[4 5 6 7]]
[[ 5 10 15 20]
[25 30 35 40]]
[[8. 4. 2.66666667 2. ]
[1.6 1.33333333 1.14285714 1. ]]
[[1. 1.41421356 1.73205081 2. ]
[2.23606798 2.44948974 2.64575131 2.82842712]]
----------
ar1
[[1 1 1]
[1 1 1]]
ar2
[[1 2 3]
[4 5 6]]
ar3
[[0.636418 0.0951684 0.27228144]
[0.00274012 0.27016612 0.33846301]]
不同类型相加 ar1+ar3
[[1.636418 1.0951684 1.27228144]
[1.00274012 1.27016612 1.33846301]]
ar1*=3 等价于 ar1=ar1*3
[[3 3 3]
[3 3 3]]
ar2+=ar1 等价于 ar2=ar2+ar1
[[4 5 6]
[7 8 9]]
'''
求和、排序时,参数axis=0 按列计算,axis=1按行计算
ar=np.arange(1,9).reshape(2,4)
print('ar\n',ar)
print('max求最大值',ar.max())
print('min求最小值',ar.min())
print('mean求平均值:',ar.mean())
print('std标准差',ar.std())
print('var方差',ar.var())
#求和
print('\n求和')
print('ar.sum求和,所有元素和',ar.sum())
print('np.sum(ar,axis=0)按列求和',np.sum(ar,axis=0))
print('ar.sum(axis=0)按列求和',ar.sum(axis=0))
print('np.sum(ar,axis=1)按行求和',np.sum(ar,axis=1))
print('ar.sum(axis=1)按行求和',ar.sum(axis=1))
#排序
print('\n排序')
ar4=np.array([[1,5,3],[2,1,7]])
print(ar4)
print('np.sort排序,axis=0,按列排序:\n',np.sort(ar4,axis=0))
print('np.sort排序,axis=1,按行排序:\n',np.sort(ar4,axis=1))
乘法注意对应元素相乘和矩阵乘法
# 乘法
A=np.array([[1,1],
[0,1]])
B=np.array([[2,0],
[3,4]])
print('A*B 对应位置元素相乘\n',A*B)
print('A@B 矩阵乘法 python>=3.5 \n',A@B)
print('A.dot(B) 矩阵乘法\n',A.dot(B))
A=np.array([[1,1,1],
[0,1,2]])
B=np.array([[2,0],
[3,4],
[4,5]])
#*法必须等维度的两个数组
# matrix product要求两个矩阵m*n n*k
#print('A*B 对应位置元素相乘\n',A*B)
print('A@B 矩阵乘法 python>=3.5 \n',A@B)
print('A.dot(B) 矩阵乘法\n',A.dot(B))
'''
A*B 对应位置元素相乘
[[2 0]
[0 4]]
A@B 矩阵乘法 python>=3.5
[[5 4]
[3 4]]
A.dot(B) 矩阵乘法
[[5 4]
[3 4]]
A@B 矩阵乘法 python>=3.5
[[ 9 9]
[11 14]]
A.dot(B) 矩阵乘法
[[ 9 9]
[11 14]]
'''