我有一個大小爲(214,144)的數組。我需要它(214,144,1)有沒有一種方法可以在Python中輕鬆實現?基本上這些尺寸應該是(天,時間,站)。因爲我只有1個站點的數據,所以維度將是1。但是,如果我還可以使代碼具有足夠的靈活性,對於說2個站點來說會很好(例如將維度大小從(428,288)改變爲(214,144,2)))那太好了!如何在Python中將維度添加到numpy數組中
0
A
回答
5
你可以使用reshape
:
>>> a = numpy.array([[1,2,3,4,5,6],[7,8,9,10,11,12]])
>>> a.shape
(2, 6)
>>> a.reshape((2, 6, 1))
array([[[ 1],
[ 2],
[ 3],
[ 4],
[ 5],
[ 6]],
[[ 7],
[ 8],
[ 9],
[10],
[11],
[12]]])
>>> _.shape
(2, 6, 1)
除了改變從(x, y)
形狀來(x, y, 1)
,你可以使用(x, y/n, n)
爲好,但你可能要指定列的順序取決於輸入:
>>> a.reshape((2, 3, 2))
array([[[ 1, 2],
[ 3, 4],
[ 5, 6]],
[[ 7, 8],
[ 9, 10],
[11, 12]]])
>>> a.reshape((2, 3, 2), order='F')
array([[[ 1, 4],
[ 2, 5],
[ 3, 6]],
[[ 7, 10],
[ 8, 11],
[ 9, 12]]])
1
1)要向維度添加任意維度的數組a
:
b = numpy.reshape (a, list (numpy.shape (a)) + [1])
說明:
你得到的a
的形狀,把它變成一個列表,串聯1
到該列表,並使用該列表作爲新形狀的reshape
操作。
2)要指定尺寸的細分並自動計算最後一個尺寸的尺寸,請使用-1
作爲最後尺寸的尺寸。例如爲:
b = numpy.reshape(a, [numpy.size(a,0)/2, numpy.size(a,1)/2, -1])
b
的在這種情況下的形狀將是[214,144,4]
。
(很明顯,你可以結合如有必要,這兩種方法):
b = numpy.reshape (a, numpy.append (numpy.array (numpy.shape (a))/2, -1))
+1
'np.expand_dims(a,-1)'做了這種'reshape',在末尾用'-1'參數添加一個新軸。沒有新的功能,但新的'np.stack'使用它來連接任何新軸上的數組。 – hpaulj
+0
感謝@hpaulj很高興知道! –
相關問題
- 1. 如何在Python 2.7中將列添加到2d numpy數組?
- 2. 如何在Python中獲得numpy數組的真正維度?
- 3. 如何將列添加到numpy數組
- 4. 如何將NumPy數組附加到NumPy數組中
- 5. 如何在python中添加元素到3維數組
- 6. 如何在numpy中將數組追加到數組中?
- 7. 如何將numpy二維數組與numpy一維數組相乘?
- 8. 將PHP添加到多維數組中
- 9. 將維添加到數組
- 10. 如何將一維數組添加到二維數組?
- 11. 如何將密鑰添加到AutoHotkey中的多維數組中?
- 12. 可能添加numpy數組到Python集?
- 13. 如何將數據添加到JavaScript中的二維數組
- 14. 如何在openCV中將灰度圖像加載爲numpy數組
- 15. 將新列/數組添加到Numpy數組中
- 16. Python:如何在PyTables中存儲一個numpy多維數組?
- 17. 如何將用戶輸入添加到二維數組中
- 18. 如何將addslashes()添加到多維數組的元素中? (PHP)
- 19. 如何在Python中添加多維數組?
- 20. 將Excel文件加載到numpy二維數組中
- 21. 在Python 3中,如何交換2維numpy數組中的兩個子數組?
- 22. 如何在numpy中從一維數組中提取零維片
- 23. python/numpy:如何獲得二維數組列的長度?
- 24. 如何在Python/numpy中將3D數組結果保存到4D數組中?
- 25. 如何將兩個1d numpy數組拉到2d numpy數組中
- 26. 將多維元素添加到numpy數組中而無需重新塑形
- 27. 如何可視化python numpy數組中的維數
- 28. Python,Numpy,在多維空間中添加數組的方法(廣播)
- 29. 如何將數組添加到多維數組?
- 30. 將數據添加到3維數組
從形狀改變'(428,288)''到(214,144,2)'沒有意義:你在那裏減少了元素的總數。你想要像(428,144,2)這樣的東西嗎? –
是的,這就是我的意思!抱歉! 428,144,2 – HM14