我有一個二維表像如何將2d列表轉換爲2d numpy數組?
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
,我想將它轉換爲2D numpy的陣列。我們可以不用分配內存喜歡
numpy.zeros((3,3))
,然後存儲值呢?
我有一個二維表像如何將2d列表轉換爲2d numpy數組?
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
,我想將它轉換爲2D numpy的陣列。我們可以不用分配內存喜歡
numpy.zeros((3,3))
,然後存儲值呢?
只需通過列表np.array
:
a = np.array(a)
您也可以藉此機會設置dtype
如果默認是不是你的願望。
a = np.array(a, dtype=...)
此解決方案不起作用。你會得到一個numpy的Python列表。 – user1816847
@ user1816847只有當'sub'列表的長度不同時(例如:[[1,2],[1,2],[1,2,3]],纔會發生這種情況。 – compie
如果子陣列的長度不一樣,這個解決方案只會給你一個numpy的列表陣列(即內部列表不會被轉換成numpy陣列) 這是完全合理的,因爲你不能擁有一個2D陣列(矩陣),可變的第二維。 – AHA
我正在使用的形式
XVals1 = [.........]
XVals2 = [.........]
每個列表是相同長度的出口python文件大的數據集。我用
>>> a1 = np.array(SV.XVals1)
>>> a2 = np.array(SV.XVals2)
然後
>>> A = np.matrix([a1,a2])
np.array()
甚至比unutbu上面說的更強大。 你也可以用它來NP陣列的列表轉換成更高漁政陣列,下面是一個簡單的例子:
aArray=np.array([1,1,1])
bArray=np.array([2,2,2])
aList=[aArray, bArray]
xArray=np.array(aList)
xArray的形狀是(2,3),這是一個標準的NP陣列。該操作避免了循環編程。
只需使用下面的代碼
c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
然後它會給你
您可以通過使用下面的代碼
c.shape
c.ndim校驗矩陣的形狀和尺寸
@Donkopotamus,這是我的一個錯誤...我正在給出一個序列...我也是這樣做,但得到錯誤。在我從這裏得到相同的代碼後,我檢查了問題的位置......因此它有助於... offcourse在發佈之前檢查文檔...感謝友好提醒。 – Shan