1

我正在对一个 numpy 二维数组进行操作,并试图找到某种方法来访问每行的不同切片。最好以这样的方式利用 numpy 广播,即我传递一个切片数组,如下所示:

A = np.array([[1,2,3,4,5],[1,4,9,16,25],[1,8,27,64,125]])
A[[2:,3:,4:]]
>>> array([[3,4,5],[16,25],[125]])

我知道我上面写的是假的,但你明白了。我想传入一个数组 t = [2,3,4] 以便该数组的每个成员(由 t_i 表示)导致 t_i: (该成员和后面的冒号)。

谢谢

4

1 回答 1

1

广播可能无法实现您想要的。但是列表理解可能会起作用:

np.array([a[i+2:] for i,a in enumerate(A)])
#array([array([3, 4, 5]), array([16, 25]), array([125])], dtype=object)
于 2019-04-21T03:58:55.837 回答