例如:
A = np.random.randn(4,32)
inds = np.random.randint(4,size=32)
res = A[inds,np.arange(32)]
这会得到理想的结果,但相当麻烦。是否有更简单的方法来获得这种行为? (例如使用高级索引)
答案 0 :(得分:0)
inds = np.random.randint(4,size=32)
result=[]
for i in range(0,len(inds):
result.append(A[inds[i],i])
print result
答案 1 :(得分:0)
res = A[inds,np.arange(32)]
以上是使用numpy高级索引,其中inds是行索引,np.arange(32)是要提取的列索引。
您的更高级解决方案是什么?