Numpy学习笔记——数组运算

数组运算
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]]
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值