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) | |
乘方 | ** |
此处评论已关闭