我一直無法弄清楚如何訪問,添加,乘法,替換矩陣的單列。我可以通過循環遍歷列的各個元素來完成此操作,但是我想將列作爲一個單元來處理,這是我可以對行進行的操作。使用NumPy矩陣的列
當我嘗試搜索時,我通常指向處理NumPy數組的答案,但這不是同一回事。
我一直無法弄清楚如何訪問,添加,乘法,替換矩陣的單列。我可以通過循環遍歷列的各個元素來完成此操作,但是我想將列作爲一個單元來處理,這是我可以對行進行的操作。使用NumPy矩陣的列
當我嘗試搜索時,我通常指向處理NumPy數組的答案,但這不是同一回事。
你能提供一些麻煩的代碼嗎?您列出的列上的操作是NumPy中支持和優化的最基本的操作。考慮查看關於NumPy for MATLAB用戶的教程,其中有許多訪問行或列的示例,對它們執行矢量化操作以及用拷貝或就地修改它們。
只是爲了澄清,假設你有一個2維NumPy的ndarray
或matrix
稱爲a
。然後a[:, 0]
將訪問與a[0]
相同的第一列或a[0, :]
將訪問第一行。任何適用於行的操作都應該適用於列,以及一些關於廣播規則和某些依賴陣列對齊的數學運算的警告。您也可以使用numpy.transpose(a)
函數(它也暴露於a.T
)轉置a
使列成爲行。
謝謝。我一直在嘗試使用a [0 ,:]形式,但我忘記了我試圖設置它的一維對象被定義爲一行 - 您提到的轉置爲我打開了燈光。並感謝鏈接。 – thelma
使用空切片':'索引行,然後使用列號索引列,例如, 'a [:, 4]'是矩陣'a'的第五列。它將作爲一維數組返回,因此它看起來像一個行向量,但其中的數據將是該列的數據。 – Jaime