最近新上了一門numpy課程,作為一個(gè)python第三方庫,numpy可謂是一代傳奇,小編剛好借此機(jī)會介紹一下numpy,讓各位小伙伴了解一下這一個(gè)傳奇的工具。
什么是矩陣
矩陣是什么呢?矩陣就是一個(gè)數(shù)字組成的方形(矩形是長方形和正方形的統(tǒng)稱)的陣。這么一說,是不是覺得很像一個(gè)東西?
沒錯(cuò),就是表格。
這一個(gè)簡單的由數(shù)字組成的方陣,作用可不小。它是數(shù)學(xué)家們和科學(xué)家們常用的工具,可以用來:
- 統(tǒng)計(jì)數(shù)據(jù)(它和表格的構(gòu)造是一樣的)
- 簡化計(jì)算(高等數(shù)學(xué)中,可以利用矩陣來求方程組)
- 特殊表示(矩陣可以用來表示向量,)
- 矩陣力學(xué)(量子力學(xué)的一種,這里不做展開)
- 圖像處理(在計(jì)算機(jī)中,圖像的變換其實(shí)就是矩陣的變換)
如何表達(dá)矩陣
最開始,矩陣的表達(dá)我們可以使用二階數(shù)組來表示。但這只能表示矩陣的數(shù)據(jù)結(jié)構(gòu),矩陣的運(yùn)算方法我們還需要自己實(shí)現(xiàn)。
秉著有人造輪子,我們就直接用的原則,很多矩陣的運(yùn)算方法得到封裝,在python中這甚至直接封裝成一個(gè)模塊,這就是numpy。
numpy不僅僅是簡單的矩陣的數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)和矩陣的運(yùn)算方法封裝。因?yàn)閜ython的運(yùn)行速度是比較慢的,numpy的作者為了提高矩陣運(yùn)算的速度,使用c語言重寫了numpy的庫,這使得numpy的運(yùn)算速度提升巨大,如果自己使用python去實(shí)現(xiàn)矩陣和矩陣的運(yùn)算方法,在速度上是無法與numpy相比的。
numpy可以干什么?
- 圖像處理:在計(jì)算機(jī)中圖像存儲格式是一個(gè)或者多個(gè)二維數(shù)組(部分圖像格式使用的是多個(gè)二維數(shù)組,詳細(xì)內(nèi)容請查看PIL的相關(guān)教程了解),所以numpy可以將圖像的數(shù)據(jù)轉(zhuǎn)為矩陣,然后通過矩陣的變換,實(shí)現(xiàn)圖像的變換。
- 機(jī)器學(xué)習(xí)-圖像識別:圖像可以使用numpy進(jìn)行存儲,也可以通過一些運(yùn)算得到圖像的特征值,然后通過對特征值的不斷學(xué)習(xí),可以實(shí)現(xiàn)圖像識別的效果(需要結(jié)合機(jī)器學(xué)習(xí)相關(guān)內(nèi)容)
- 數(shù)據(jù)統(tǒng)計(jì):numpy中有一系列的數(shù)學(xué)統(tǒng)計(jì)函數(shù),你可以將numpy當(dāng)成一個(gè)統(tǒng)計(jì)表使用。
- 數(shù)學(xué)與科學(xué)運(yùn)算:小編非相關(guān)專業(yè),只知道numpy是可以求解線性方程組的,更多的應(yīng)用可以聯(lián)系小編補(bǔ)充。
小結(jié)
numpy之所以可以被稱為傳奇的第三方庫,原因就在于它在很多地方都能得到應(yīng)用,而且高效,且功能全面,這么牛逼的numpy,你要不要學(xué)?現(xiàn)在前百度資深大數(shù)據(jù)工程師佩帥帥老師來W3Cschool開課教授numpy知識啦,快點(diǎn)擊下方圖片前往學(xué)習(xí)了!