2013-10-29 161 views
1

我一直無法弄清楚如何訪問,添加,乘法,替換矩陣的單列。我可以通過循環遍歷列的各個元素來完成此操作,但是我想將列作爲一個單元來處理,這是我可以對行進行的操作。使用NumPy矩陣的列

當我嘗試搜索時,我通常指向處理NumPy數組的答案,但這不是同一回事。

+1

使用空切片':'索引行,然後使用列號索引列,例如, 'a [:, 4]'是矩陣'a'的第五列。它將作爲一維數組返回,因此它看起來像一個行向量,但其中的數據將是該列的數據。 – Jaime

回答

1

你能提供一些麻煩的代碼嗎?您列出的列上的操作是NumPy中支持和優化的最基本的操作。考慮查看關於NumPy for MATLAB用戶的教程,其中有許多訪問行或列的示例,對它們執行矢量化操作以及用拷貝或就地修改它們。

NumPy for MATLAB Users

只是爲了澄清,假設你有一個2維NumPy的ndarraymatrix稱爲a。然後a[:, 0]將訪問與a[0]相同的第一列或a[0, :]將訪問第一行。任何適用於行的操作都應該適用於列,以及一些關於廣播規則和某些依賴陣列對齊的數學運算的警告。您也可以使用numpy.transpose(a)函數(它也暴露於a.T)轉置a使列成爲行。

+0

謝謝。我一直在嘗試使用a [0 ,:]形式,但我忘記了我試圖設置它的一維對象被定義爲一行 - 您提到的轉置爲我打開了燈光。並感謝鏈接。 – thelma