1. 常用的便捷访问方式
a = np.arange(1, 6)
a[0]
a[2: 4]
a[-2:]
a[::2]
a[[1, 3, 4]]
a[2:4] = 0
这些方式都可以直接修改原始值。所以需要注意是不是真的复制了。
2. 通过布尔索引取值
b = np.random.randint(0, 10, 10)
np.any(b > 5)
b[b > 5]
np.all(b > 5)
a[a > 5] = 0
a[(a > 3) | (a == 0)] = 5
3. whre/nonzero
np.where(a < 5)
np.nonzero(a < 5)
np.where(a < 5, 1, 0) # a[a < 5] = 1; a[a >= 5] = 0
np.clip(a, 2, 4) # a[a < 2] = 2; a[a > 4] = 4