給定一個矩陣A,例如A = np.array([[1,2,3,4],[5,6,7,8]]),兩個串列之一是行索引和一個列索引,例如row=(0,1), column=(0,2)我想在python中提取矩陣A的相應行和列,所以在這個例子中我希望結果是np.array([[1, 3], [5,7]))。我知道如何處理矩陣中的單個條目,但不是串列中的所有條目,而且我總是失去結構。到目前為止,我得到的最好結果是 with A[row, column],它不會回傳列出的所有索引,只回傳A=np.array(([1,7])). 我也知道存在切片命令,但這僅適用于連續的行和列,情況并非如此。
非常感謝您!
uj5u.com熱心網友回復:
看起來你想要:
A[np.array(row)[:,None], column]
輸出:
array([[1, 3],
[5, 7]])
中間的:
np.array(row)[:,None]
array([[0],
[1]])
uj5u.com熱心網友回復:
np.array([[A[r][c] for c in column] for r in row]) # array([[1, 3], [5, 7]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/490271.html
