比方說,我有一個形狀的行向量(1,256)。我想將其轉換爲形狀(256,1)的列向量。你如何在Numpy中做到這一點?將行向量轉換爲Numpy中的列向量
回答
可以使用transpose操作做到這一點:
例子:
In [2]: a = np.array([[1,2], [3,4], [5,6]])
In [5]: np.shape(a)
Out[5]: (3, 2)
In [6]: a_trans = a.transpose()
In [8]: np.shape(a_trans)
Out[8]: (2, 3)
In [7]: a_trans
Out[7]:
array([[1, 3, 5],
[2, 4, 6]])
注意原數組a
仍將保持不變。轉置操作只會複製並轉置它。
謝謝!我對numpy很陌生,所以這真的很有幫助。 –
要將行向量轉換爲列向量,Python中的可能很重要,例如,使用廣播:
import numpy as np
def colvec(rowvec):
v = np.asarray(rowvec)
return v.reshape(v.size,1)
colvec([1,2,3]) * [[1,2,3], [4,5,6], [7,8,9]]
乘以第一行1,第二行由2和第三行乘3:
array([[ 1, 2, 3],
[ 8, 10, 12],
[ 21, 24, 27]])
相反,試圖使用輸入作爲列向量矩陣:
np.asmatrix([1, 2, 3]).transpose() * [[1,2,3], [4,5,6], [7,8,9]]
失敗,出現錯誤ValueError: shapes (3,1) and (3,3) not aligned: 1 (dim 1) != 3 (dim 0)
。
我們可以簡單地使用numpy的的重塑功能:
a=np.array([[1,2,3,4]])
a:
array([[1, 2, 3, 4]])
a.shape
(1,4)
b=a.reshape(-1,1)
b:
array([[1],
[2],
[3],
[4]])
b.shape
(4,1)
如果你能解釋代碼的功能,這將是一個更好的答案。 – Nae
這個人是一個很好的問題。
一些我編做到這一點的方法是:
>> import numpy as np
>> a = np.array([1, 2, 3], [2, 4, 5])
>> a
>> array([[1, 2],
[2, 4],
[3, 5]])
另一種方式來做到這一點:
>> a.T
>> array([[1, 2],
[2, 4],
[3, 5]])
另一個辦法做到這一點是:
>> a.reshape(a.shape[1], a.shape[0])
>> array([[1, 2],
[3, 2],
[4, 5]])
我已經用在所有的這些問題,一個2維數組,真正的問題出現時,有要一維行向量優雅地列出。
與NumPy的重塑具有這樣你通過維度你想(的行或列數)的一個功能,numpy的可以自己計算出其他尺寸,如果你傳給其他維度-1
>> a.reshape(-1, 1)
>> array([[1],
[2],
[3],
[2],
[4],
[5]])
>> a = np.array([1, 2, 3])
>> a.reshape(-1, 1)
>> array([[1],
[2],
[3]])
>> a.reshape(2, -1)
>> ValueError: cannot reshape array of size 3 into shape (2,newaxis)
所以,你可以給你一維的選擇,而不只要(m * n)/your_choice
是一個整數擔心其他維度。
如果你想知道到更多關於這個-1
頭: What does -1 mean in numpy reshape?
注:所有這些操作都返回一個新的數組並且不修改原始數組。
- 1. 轉換行向量列向量與NumPy
- 2. 如何將行向量轉換爲Eigen中的列向量?
- 3. numpy不能將行向量轉換爲列?
- 4. 將行向量更改爲列向量
- 5. 將幾個向量轉換爲向量列表
- 6. 將時間序列轉換爲向量
- 7. 將Netlogo列表轉換爲R向量
- 8. 將序列文件轉換爲向量
- 9. 將矩陣列表轉換爲向量
- 10. numpy的 - 列向量次行向量的標量乘法
- 11. 將行向量轉換爲矩陣
- 12. PySpark:如何將行轉換爲向量?
- 13. 如何在Matlab中將二進制行向量轉換爲常規行向量?
- 14. 幾乎將struct的向量轉換爲struct成員的向量
- 15. 將float向量轉換爲uint32向量的最有效方法?
- 16. 如何將一個向量轉換爲相應的單向量向量?
- 17. 將python numpy數組轉換爲C++ stl向量
- 18. 將C/C++向量快速轉換爲Numpy數組
- 19. 將JSONArray轉換爲BlackBerry上的向量
- 20. MATLAB將值的向量轉換爲uint32
- 21. 轉換成向量列表
- 22. 轉換向量陣列
- 23. 如何將熊貓單列數據幀轉換爲系列或numpy向量
- 24. 將浮點型向量轉換爲字節向量並返回
- 25. 如何將未來[向量[UserLocation]]轉換爲未來[向量[User]]
- 26. 將二進制整數向量轉換爲向量位數
- 27. 在R:按行連接向量元素,將向量行轉換爲字符串
- 28. 將Python中的列表轉換爲R中的向量
- 29. std ::向量轉換爲cl_float
- 30. 轉換時間向量爲
array.T應該工作 – Krishna