我这里有一个数组
A = np.array([[1,2,3],
[4,5,6],
[7,8,9]])和另一个表示A中的列索引值的数组
Cols,rows = np.array([[0,1],[1,2]])然后,我想使用这些列值对数组A进行索引,以得到一个如下所示的数组
Cols_result = [[[1,2],[4,5],[7,8]],
[[2,3],[5,6],[8,9]]]
Row_results = [[[1,2,3],[4,5,6]],
[[4,5,6],[7,8,9]]]我尝试使用np.take(),但只能让它正确地为行值而不是列值建立索引
发布于 2021-11-02 04:02:04
在numpy.swapaxes中使用numpy.take的一种方法
A = np.array([[1,2,3],[4,5,6],[7,8,9]])
ind = np.array([[0,1],[1,2]])行的输出:
np.take(A, ind, 0)
array([[[1, 2, 3],
[4, 5, 6]],
[[4, 5, 6],
[7, 8, 9]]])列的输出:
np.swapaxes(np.take(A, ind, 1), 0, 1)
array([[[1, 2],
[4, 5],
[7, 8]],
[[2, 3],
[5, 6],
[8, 9]]])https://stackoverflow.com/questions/69805217
复制相似问题