NumPy学习(二)

1. 加减

得益于广播机制,numpy的算术比较灵活

import numpy as np

a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
b = np.array([[10, 20, 30, 40], [50, 60, 70, 80]])
c = a + b
d = a + 10
e = a + [1, 2, 3, 4]
print(c)
print(d)
print(e)

注意:当两个数据类型不同的数组相加减时,结果以范围大的为准,比如uint8+float32=float32,uint8超出范围数据溢出时对255取模后减1。

2. 乘除

import numpy as np

a = np.array([1, 2, 0], np.uint8)
b = np.array([125, 150, 200], np.uint8)
# 乘法
print(a * b)
print(np.multiply(2, b))
# 除法
print(b / a)
# 矩阵乘法
print(np.dot(a, b.T))
print(a @ b.T)

3. 其他运算

方法示例注意事项
转置A.T
转置np.transpose(A)
改变形状A.reshape(4,2)
改变形状np.resize(A, (4,2))
迭代for element in A.flat:
迭代A.flatten()
迭代for element in np.nditer(A):
展开A.ravel()会改变原数组
分割np.split(A,3)
添加np.append(A, [7,8,9],axis=1)
插入np.insert(A, 2, [7,8,9],axis=1)
删除np.deleter(A,1,axis = 1)
乘方np.power(A,2)
乘方**
最后修改:2019 年 10 月 06 日 10 : 06 PM