回答
這裏有一個簡單的語法:
np.matlib.identity(n)
這裏是一個運行得更快更簡單的語法:
In [1]: n = 1000
In [2]: timeit np.matlib.identity(n)
100 loops, best of 3: 8.78 ms per loop
In [3]: timeit np.matlib.eye(n)
1000 loops, best of 3: 695 us per loop
我不認爲這是一個簡單的解決。你可以稍微更有效地做到這一點,雖然:
numpy.matrix(numpy.identity(n), copy=False)
這避免了不必要的數據複製。
我從來沒有使用'np.identity',總是用眼睛..你知道什麼是'np.eye'而這其中的區別? – wim
@wim:沒有區別。 'numpy.eye()'更靈活一點。 NumPy的界面並不是非常流暢,並且存在許多具有重疊功能的功能。 –
@wim:根據[docs](http://docs.scipy.org/doc/numpy/reference/generated/numpy.eye.html)'np.eye'就像'np.identity',但添加了功能。您可以指定列大小並移動對角線。 –
- 1. 如何使用Excel VBA創建標識矩陣?
- 2. NumPy的 - 創建矩陣
- 3. NumPy的創建矩陣
- 4. 創建置換矩陣 - numpy
- 5. 用numpy創建矩陣CSV文件
- 6. Numpy座標矩陣
- 7. 標識矩陣
- 8. 使用矩陣索引創建矩陣
- 9. 創建在Matlab使用指標矩陣
- 10. Numpy:爲稀疏矩陣創建索引
- 11. 創建特殊矩陣的Python/numpy的
- 12. 如何截斷矩陣使用NumPy(Python)
- 13. 矩陣圖標識
- 14. 使用NumPy矩陣的列
- 15. 如何在numpy中創建3維矩陣,如matlab a(:,:,:)
- 16. 構建一個numpy矩陣
- 17. 構建從numpy的矩陣
- 18. Haskell - 如何創建矩陣
- 19. Numpy使用特定位置的值創建矩陣
- 20. 使用追加方法創建一個3d numpy數組矩陣
- 21. 使用numpy,sympy函數創建符號矩陣?
- 22. 如何乘numpy矩陣乘numpy數組?
- 23. 使用DataFrame獲取標識符矩陣
- 24. 如何在NumPy中創建一個空數組/矩陣?
- 25. 如何在numpy python中創建相似性矩陣?
- 26. 如何加快Numpy中的轉換矩陣創建?
- 27. 陣列矩陣numpy
- 28. 如何讓NumPy使用字符串和浮點數創建矩陣
- 29. MATLAB - 用子矩陣創建矩陣
- 30. Numpy陣列創建
你需要使用'matlib'嗎?你不能只是做'np.eye(n)'? 'matlib'專門生成矩陣,而不是產生numpy數組的「正常」numpy函數。 –
根據文檔,似乎np.eye不一定創建正方形矩陣。至於使用np.matlib.eye的性能增益,我不確定。 – hlin117