苏州画廊网站建设/站长工具网址查询
文章目录
- 前言
- 布尔运算
- 拼接运算
- np.c_[]、np.r_[]
- np.hstack、np.vstack
- 矩阵运算
- np.matmul(a, b)
- np.multiply(a, b)
- np.dot(a, b)
- 广播运算
- 维度运算
- ndarry.ravel()、ndarry.flatten()、ndarry.reshape、ndarry.squeeze、np.expand_dims
- numpy生成随机索引
- np.argmax
前言
numpy还是蛮好用的,一直没记录,赶紧记录一下。
布尔运算
取出b的在a中大于4的索引的元素
a = np.array([1,2,3,44,4])
b = np.array([1,1,0,100,6])
print(a > 4)
print(b[a > 4])
输出:
拼接运算
np.c_[]、np.r_[]
import numpy as np
a = np.array([[1,2,3]])
b = np.array([[1,2,3]])
# 纵向拼接
c = np.r_[a, b]
# 横向拼接
d = np.c_[a, b]
print(c)
print(d)
输出:
np.hstack、np.vstack
import numpy as np
a = np.array([[1,2,3]])
b = np.array([[1,2,3]])
# 纵向拼接
c = np.vstack((a, b))
# 横向拼接
d = np.hstack((a, b))
print(c)
print(d)
输出:
矩阵运算
np.matmul(a, b)
矩阵乘法
import numpy as np
a = np.array([[1, 2],[2, 4]])b = np.array([[1, 1],[2, 2]])
c = np.matmul(a, b)
print(c)
输出:
np.multiply(a, b)
求对应元素点积
import numpy as np
a = np.array([[1, 2],[2, 4]])b = np.array([[1, 1],[2, 2]])
c = np.multiply(a, b)
print(c)
输出:
np.dot(a, b)
a = np.array([[1,2,2],[2,1,2]])
b = np.array([[1,2,3],[5,6,1]]).T
print(np.dot(a, b))
输出:
广播运算
当矩阵与一个常数进行运算时,会进行广播。
当维度相同时,则对应元素进行计算。
import numpy as np
a = np.array([[1, 2],[2, 4]])b = np.array([[1, 1],[2, 2]])
print(a - 1)
print(a - b)
输出:
使用numpy中的运算方法,当传入数组时,会自动进行对应元素进行计算
import numpy as np
a = np.array([[1, 2],[2, 4]])b = np.power(a, 2)
print(b)
输出:
维度运算
ndarry.ravel()、ndarry.flatten()、ndarry.reshape、ndarry.squeeze、np.expand_dims
import numpy as np
a = np.array([[[[1,2,3,4,6,8]]]])
aa = np.array([[[[1,2,3],[1,2,3]]]])
print(a.shape)
print(aa.shape)
b = a.ravel() # 展平成一维
bb = aa.ravel()
print(b.shape)
print(bb.shape)
c = a.flatten() # 展平成一维
print(c.shape)
d = a.reshape(-1, 2) # 自适应行*2列
print(d.shape)
e = aa.reshape(-1)
print(e.shape)
f = aa.squeeze() # 去除没用的维度
print(f.shape)
g = np.expand_dims(aa, axis=-1) # 升维
print(g.shape)
输出:
numpy生成随机索引
shuffle_indexes=np.random.permutation(100)
print(shuffle_indexes)
运行结果:
np.argmax
获取最大值得索引
import numpy as np
a = np.array([1,23,6,2,4])
print(np.argmax(a))