索引
Bool索引, 先转换为数字索引再计算
arr[[ True, True, False], [False, False, True]]
<=> arr[[ 0, 1], [2]]
<=> arr[ [0,1], [2,2] ]
对于 a[ A, B ] 形式的数据
- 如果A,B格式相同, 返回数据格式与他们相同, A, B分别表示两个维度上的索引.
- 如果A,B格式不同, 需要通过广播规则填充索引数据, 然后再返回数据, 例如: 对于np.ix_函数解析的具体流程如下:
arr[np.ix_([0,1],[1,2])]
<=> arr[ [[0],[1]], [[1, 2]] ]
<=> arr[ [[0],[1]], [[1, 2],[1, 2]] ]
<=> arr[ [[0,0],[1,1]], [[1, 2],[1, 2]] ]
维度axis含义
- axis=0 表示沿着第一个括号来操作
- axis=1 表示沿着第二个括号来操作
stack含义
np.stack(a, axis = n)
<=> a.transpose(1, 2, 3 ... n-1, 0, n+1 ...)
vstack含义
- 维度是1时, 等价于np.concatenate([[a],[b]],axis=0)
- 维度大于1时, 等价于np.concatenate([a,b],axis=0)
hstack含义
- 维度是1时, 等价于np.concatenate([a,b],axis=0)
- 维度大于1时, 等价于np.concatenate([a,b],axis=1)