我這里有一個陣列
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()但只能讓它正常作業索引行值而不是列值
uj5u.com熱心網友回復:
使用numpy.takewith 的一種方式numpy.swapaxes:
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://www.uj5u.com/qukuanlian/344553.html
