【发布时间】:2021-05-09 19:50:59
【问题描述】:
当索引具有多个相同大小数组的 numpy 数组时,行为取决于索引轴的位置。
- 如果轴彼此相邻,则将轴添加到索引数组的位置。
- 如果轴不相邻,则将新轴添加到数组的开头。
import numpy as np
a = np.ones((4, 5, 6, 7, 8))
print(a[:, [0, 1], [0, 1], :, :].shape) # (4, 2, 7, 8)
print(a[:, [0, 1], :, [0, 1], :].shape) # (2, 4, 6, 8)
print(a[:, [0, 1], [0, 1], [0, 1], :].shape) # (4, 2, 8)
print(a[:, [0, 1], [0, 1], :, [0, 1]].shape) # (2, 4, 7)
我的问题与this question 和答案中提到的PR 有关。
不过好像这个oindex还没有。
我有哪些选择才能实现一致的行为?例如,无论中间是否有:,始终在开头添加新轴。
【问题讨论】:
-
什么是一致的行为?
标签: python arrays numpy indexing