说我有一个数组a,它可以是N维的,但为简单起见,我们说它:
a = np.array([[0,1,2],
[3,4,5]])
我也有一个长度为N的遮罩或农作物(我不知道专有名词),所以在这种情况下,类似:
b = [1,2]
如何“裁剪”数组,使其:
a = a[:b]
将切片与以下内容相同:
a = a[:1,:2]
但是不管N的值如何都可以。
答案 0 :(得分:2)
使用slice
表示法-
a[tuple([slice(None,bi) for bi in b])]
或以其简写np.s_
-
a[tuple([np.s_[:bi] for bi in b])]