【发布时间】:2014-04-16 22:44:40
【问题描述】:
如何使用 Numpy 在 MATLAB 中复制此索引?
X=magic(5);
M=[0,0,1,2,1];
X(M==0,M==2)
返回:
ans =
8
14
我发现在 Numpy 中这样做是不正确的,因为它不会给我相同的结果..
X = np.matrix([[17, 24, 1, 8, 15],
[23, 5, 7, 14, 16],
[ 4, 6, 13, 20, 22],
[10, 12, 19, 21, 3],
[11, 18, 25, 2, 9]])
M=array([0,0,1,2,1])
X.take([M==0]).take([M==2], axis=1)
因为我得到:
matrix([[24, 24, 24, 24, 24]])
在 numpy 中使用两个索引进行逻辑索引的正确方法是什么?
【问题讨论】:
标签: python matlab numpy indexing