numpy数组切片
import numpy as np
arr = np.empty((8, 3))
for i in range(8): arr[i] == i arr[1,2] # 选取第1行第2个元素 arr[1][2] # 选取第1行第2个元素,与上句等价 arr[1:3] # 选取第1,2行 arr[1:3][2:3] # 选取第1,2行的第2列
# 下一行是花式索引,利用整数数组实现索引,花式索引会将数据复制到新数组
arr[[1, 3, 5]] # 选取1,3,5行, 注意此处,不是arr[1,3,5],arr[1,3,5]选择第一个轴的第1,第二个轴的3,第三个轴的5个元素,由于arr是二维数组,所以arr[1,3,5]会报错。
numpy where函数是python a = b if condition else c三元表达式的矢量化版本,速度更快
np.where(arr > 1, 1, 0) # The second and third parameter could be a numpy array or scalar