我想創建一個大小爲1234 * 5678的矩陣,並且它以1到5678的行次序填充?> .. !!如何在python中使用矩陣?
1
A
回答
1
Here's a forum post有一些你想要實現的代碼示例。
2
或者只是使用Numerical Python如果你想在矩陣上做一些數學的東西(比如乘法......)。如果他們在內存中使用行主排序矩陣佈局我不能告訴你,但它在他們的文檔中得到掩蓋
+0
您可以修改numpy中的內部訂單。例如,創建未填充數組的空函數具有順序參數(C和Fortran的'C'和'F')。但是,默認佈局是行順序。 – 2009-06-13 11:53:17
6
我認爲你需要使用numpy來有效地保存這樣一個大矩陣,而不僅僅是計算。您有〜5e6個4/8字節的項目意味着純C中已有20/40 Mb,這是python中幾倍於沒有高效數據結構(行列表,每行一列)的數倍。現在
,關於你的問題:
import numpy as np
a = np.empty((1234, 5678), dtype=np.int)
a[:] = np.linspace(1, 5678, 5678)
首先創建的要求大小的數組,int型的(我假設你知道你要4個字節的整數,這是什麼np.int會給你在大多數平臺上)。第三行使用廣播,以便爲每行(a [0],a [1],... a [1233])分配np.linspace行的值(它給出了[1,...] ...,5678])。如果你想F儲存,即列爲主:
a = np.empty((1234, 4567), dtype=np.int, order='F')
...
遺囑需要的內存只有一個很小的量超過C中的數組,並計算矩陣至少,數組的索引功能要好得多比python列表。
nitpick:numeric是Python的舊數字包的名稱 - 推薦的名稱是numpy。
相關問題
- 1. 如何使用python打印2D矩陣,如矩陣。?
- 2. 矩陣使用python
- 3. 如何使用joblib Python返回矩陣?
- 4. 如何截斷矩陣使用NumPy(Python)
- 5. 如何在Python中將矩陣複製到更大的矩陣?
- 6. 如何在python中打印子矩陣?
- 7. 如何在Python中創建矩陣AxB?
- 8. 如何在python中填充矩陣
- 9. 如何在python中添加矩陣
- 10. 你如何在Nimrod中使用矩陣?
- 11. 如何在循環中使用python矩陣的維數
- 12. 你如何在Python中使用sklearn來聚焦N * M矩陣
- 13. 如何在python中轉置矩陣而不使用zip
- 14. 如何在Python中使用列表理解與矩陣?
- 15. 如何矩陣矩陣轉換(N)(1,N)基體在python
- 16. 如何occurence矩陣共同occurence矩陣轉換在Python
- 17. python矩陣的矩陣
- 18. Python中的矩陣和逆矩陣
- 19. 如何使用矩陣
- 20. Isabelle:如何使用矩陣
- 21. 在Python中反轉矩陣
- 22. 在Python中複製矩陣
- 23. 在Python中處理矩陣
- 24. sympy中使用python的複雜矩陣
- 25. 在python中使矩陣無窮大化
- 26. Python中的矩陣
- 27. HDF5矩陣在python
- 28. 如何用python表示矩陣
- 29. 如何解析Python中的矩陣?
- 30. Python的 - 如何在子矩陣
儘管如此,這樣的位矩陣表現不佳。只是創建它將需要相當多的CPU和內存。 – 2009-06-13 11:51:07