Python?numpy生成矩陣基礎(chǔ)用法實例代碼
1、numpy.array() 可以把列表轉(zhuǎn)換為矩陣
numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None)
value = [[1, 2, 3], [1, 2, 3]] print(value) x = np.array(value) print(x)
[[1, 2, 3], [1, 2, 3]]
[[1 2 3]
[1 2 3]]
2、numpy.arange() 生成一個向量
可設(shè)置三個參數(shù),第一個為開始,第二個為結(jié)束,最后一個為步長,可省略開始與步長,默認(rèn)從0開始,取值范圍左閉右開
numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)
中括號的意思表示這個參數(shù)可以省略
x = np.arange(12) print(x) y = np.arange(10, 12) print(y) z = np.arange(10, 12, 2) print(z)
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[10 11]
[10]
3、numpy.ones() 生成一個全是1的矩陣, 里面填入矩陣范圍
numpy.ones(shape, dtype=None, order='C', *, like=None)
x = np.ones((3, 4)) print(x)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
這里提一嘴輸出里有點是因為dtype屬性默認(rèn)為float,如果改成int就會沒有,下面的函數(shù)同理
z = np.ones((3, 4), dtype=int) print(z)
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
4、numpy.zeros() 生成一個全是0的矩陣, 里面填入矩陣范圍
numpy.zeros(shape, dtype=float, order='C', *, like=None)
x = np.zeros((3, 4)) print(x)
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
5、numpy.eye() 可填入兩個參數(shù)分別代表行和列,也可只填一個參數(shù),即為方陣
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, like=None)
x = np.eye(3) print(x) y = np.eye(3, 4) print(y)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]]
6、numpy.empty() 返回一個沒有經(jīng)過初始化的一個矩陣
numpy.empty(shape, dtype=float, order='C', *, like=None)
x = np.empty((3, 4)) print(x)
[[6.23042070e-307 2.22523004e-307 1.24610994e-306 1.60219035e-306]
[1.24611674e-306 2.22522597e-306 1.33511969e-306 1.39071021e-307]
[1.78018403e-306 1.78018403e-306 8.34426464e-308 2.22522596e-306]]
7、numpy.linspace 返回在指定的范圍內(nèi)確定個數(shù)的等間距的一組數(shù)的向量
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
可以看到默認(rèn)是50個
X = numpy.linspace(1, 10, 10) print(X) x = numpy.linspace(1, 50) print(x)
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.]
更多的方法以及詳細內(nèi)容可以移步Routines — NumPy v1.23.dev0 Manual
補充:矩陣的逆矩陣
若兩個矩陣A / B滿足: AB = BA = E (E為單位矩陣). 則稱A與B互為逆矩陣.
單位矩陣E: 主對角線為1, 其他元素都為0.
矩陣求逆的API:
mi = m.I mi = np.linalg.inv(m)
矩陣求逆時, 若把方陣推廣到非方陣, 則稱為矩陣的廣義逆矩陣.
案例: 求斐波那契數(shù)列
x 1 1 1 1 1 1
1 0 1 0 1 0
----------------------------------
1 1 2 1 3 2 5 3
1 0 1 1 2 1 3 2 ...
m = np.mat('1 1; 1 0') for i in range(1, 30): print((m**i)[0,1], end=' ') 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229
總結(jié)
到此這篇關(guān)于Python numpy生成矩陣基礎(chǔ)用法的文章就介紹到這了,更多相關(guān)Python numpy生成矩陣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)數(shù)據(jù)清洗(缺失值與異常值處理)
今天小編就為大家分享一篇python實現(xiàn)數(shù)據(jù)清洗(缺失值與異常值處理),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python使用MySQL8.2讀寫分離實現(xiàn)示例詳解
在這篇文章中,我們將了解如何將?MySQL?8.2?的讀寫分離功能與?MySQL-Connector/Python?一起使用的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11玩轉(zhuǎn)python selenium鼠標(biāo)鍵盤操作(ActionChains)
這篇文章主要為大家詳細介紹了python selenium鼠標(biāo)鍵盤操作(ActionChains),教大家如何玩轉(zhuǎn)selenium鼠標(biāo)鍵盤,感興趣的小伙伴們可以參考一下2016-09-09Python常用base64 md5 aes des crc32加密解密方法匯總
這篇文章主要介紹了Python常用base64 md5 aes des crc32加密解密方法匯總,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11基于Python實現(xiàn)一個春節(jié)倒計時腳本
春節(jié)即將到來,本文將為大家介紹一個通過Python實現(xiàn)的春節(jié)倒計時腳本,文中的示例代碼簡潔易懂,感興趣的小伙伴可以自己動手嘗試一下2022-01-01Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)
這篇文章主要介紹了Pycharm中安裝Pygal并使用Pygal模擬擲骰子,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04