我想創建一個大小爲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. 如何截斷矩陣使用NumPy(Python)
- 2. 如何使用joblib Python返回矩陣?
- 3. 如何在python中填充矩陣
- 4. 如何在python中打印子矩陣?
- 5. 如何在Python中創建矩陣AxB?
- 6. 如何在python中添加矩陣
- 7. 如何在Python中使用列表理解與矩陣?
- 8. 如何在python中轉置矩陣而不使用zip
- 9. python矩陣的矩陣
- 10. 如何矩陣矩陣轉換(N)(1,N)基體在python
- 11. Python中的矩陣和逆矩陣
- 12. 在Python中反轉矩陣
- 13. 在Python中複製矩陣
- 14. 在Python中處理矩陣
- 15. 如何使用矩陣
- 16. sympy中使用python的複雜矩陣
- 17. Python中的矩陣
- 18. 如何用python表示矩陣
- 19. 如何解析Python中的矩陣?
- 20. 使用Python 12×12矩陣使用numpy.linalg.svd
- 21. Python:如何使用python存儲稀疏矩陣?
- 22. 通過使用scipy/numpy在Python中添加2矩陣和乘法2矩陣
- 23. python - 如何在數據矩陣中計算nans的相關矩陣
- 24. 如何在Python中爲每個2D截面填充2D矩陣的4D矩陣
- 25. 如何在矩陣
- 26. 如何使用JAMA(Java矩陣包)計算矩陣的僞逆矩陣?
- 27. 在Fortran中閱讀在Python中使用tobytes保存的矩陣
- 28. 如何在循環中引用矩陣
- 29. 如何在CUDA中更大的矩陣中複製矩陣
- 30. 在C++中使用stl使用矩陣
儘管如此,這樣的位矩陣表現不佳。只是創建它將需要相當多的CPU和內存。 – 2009-06-13 11:51:07