我在python是新的,有一個基本的問題,一個3D的Python數組:使得從三個一維數組
我有兩個列表:
a = [1, 2, 3]
b = [2, 4, 5]
c = [5, 7, 8]
我要的是一個數組,看起來像:
x = np.array([1,2,5],[2,4,7],[5,7,8])
有沒有一些在線蟒蛇技巧做到這一點?
我在python是新的,有一個基本的問題,一個3D的Python數組:使得從三個一維數組
我有兩個列表:
a = [1, 2, 3]
b = [2, 4, 5]
c = [5, 7, 8]
我要的是一個數組,看起來像:
x = np.array([1,2,5],[2,4,7],[5,7,8])
有沒有一些在線蟒蛇技巧做到這一點?
嘗試zip(a, b, c)
,e.g,x = np.array(*zip(a, b, c))
Official Docs
np.vstack((np.array([1,2,3]), np.array([1,2,3]), np.array([1,2,3])))
或者也可以簡單
np.vstack(([1,2,3], [1,2,3], [1,2,3]))
完美:)我正在學習新的好花樣! – Panchi
另一個簡單的方法是使用其中.T
的轉置矩陣。
import numpy as np
a = [1, 2, 3]
b = [2, 4, 5]
c = [5, 7, 8]
np.array([a,b,c]).T
array([[1, 2, 5],
[2, 4, 7],
[3, 5, 8]])
這是非常優雅:)我想出了'np.array([a,b,c])',但不知道我們可以用'.T'找到它的轉置:)謝謝你的分享訣竅 – Panchi
很高興幫助! Numpy有一些很棒的小優雅技巧:) –
這是一個二維數組... – Doorknob
三維陣列,你的意思是你想有一個3×3 [矩陣](http://en.wikipedia.org/wiki/Matrix_(數學))? – thegrinner
你的意思是2D陣列嗎? –