numpy.ix_的用法详解

import numpy as np 
x=np.arange(32).reshape((8,4))
print (x[np.ix_([1,5,7,2],[0,3,1,2])])

x的矩阵是:

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]
[16 17 18 19]
[20 21 22 23]
[24 25 26 27]
[28 29 30 31]]

输出结果是:

[[ 4 7 5 6]
[20 23 21 22]
[28 31 29 30]
[ 8 11 9 10]]

在看文档的时候,文档中没有详细的解释numpy.ix_的用法解析,下面我就仔细的讲一下。
x[np.ix_([1,5,7,2],[0,3,1,2])]中获取到的索引是

[1,0],[1,3],[1,1],[1,2]
[5,1],[5,3],[5,1],[5,2]
[7,1],[7,3],[7,1],[7,2]
[2,1],[2,3],[2,1],[2,2]

看到这里想必就应该就明白这行代码的意思了
当不是用np.ix_的时候,x[[1,5,7,2],[0,3,1,2]]所代表的索引是

[1,0],[5,3],[1,7],[2,2]
输出地结果是:[ 4 23 29 10]

你可能感兴趣的:(python)