Numpy索引:为每列获取特定行

2024-03-28 11:56:26 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

A = np.random.randn(4,32)
inds = np.random.randint(4,size=32)
res = A[inds,np.arange(32)]

这得到了预期的结果,但相当麻烦。有没有更简单的方法来获得这种行为?(例如,使用高级索引)


Tags: 方法sizenpresrandomrandintrandnarange
2条回答
inds = np.random.randint(4,size=32)
result=[]
for i in range(0,len(inds):
    result.append(A[inds[i],i])
    print result
res = A[inds,np.arange(32)] 

上面使用的是numpy高级索引,inds是行索引,inds是行索引np.arange公司(32)作为要提取的列索引。你知道吗

你的高级解决方案是什么样的?你知道吗

相关问题 更多 >