我正在对一个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 :(该成员和后面的冒号)。
谢谢
答案 0 :(得分:1)
广播可能无法满足您的需求。但是列表理解可能会起作用:
np.array([a[i+2:] for i,a in enumerate(A)])
#array([array([3, 4, 5]), array([16, 25]), array([125])], dtype=object)