您好,登錄后才能下訂單哦!
這篇文章主要講解了“NumPy的使用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“NumPy的使用方法有哪些”吧!
創(chuàng)建數組
我們可以創(chuàng)建一個NumPy數組(也就是強大的ndarray),方法是傳遞一個python列表并使用' np.array() '。在本例中,python創(chuàng)建了我們可以在這里看到的數組:
通常情況下,我們希望NumPy為我們初始化數組的值。NumPy為這些情況提供了像ones()、zeros()和random.random()這樣的方法。我們只是把我們想要生成的元素的數量傳遞給他們:
一旦我們創(chuàng)建了數組,我們就可以開始以有趣的方式操作它們。
數組運算
讓我們創(chuàng)建兩個NumPy數組來展示它們的用處。我們稱它們?yōu)閐ata和ones:
將它們按位置相加(即添加每一行的值)就像輸入data + ones一樣簡單:
當我開始學習這些工具時,我發(fā)現(xiàn)這樣的抽象使我不必在循環(huán)中編寫這樣的計算程序,這讓我耳目一新。這是一個很好的抽象概念,可以讓你在更高的層次上思考問題。
我們還可以這樣做:
通常情況下,我們希望在數組和單個數字之間執(zhí)行操作(我們也可以將此稱為向量和標量之間的操作)。例如,我們的數組以英里為單位表示距離,我們想把它轉換成千米。我們簡單地說data* 1.6:
看到NumPy是如何理解這個操作的了嗎?這個概念叫做廣播,它非常有用。
索引
我們可以索引和切片NumPy數組的所有方法,我們可以切片python列表:
聚合
NumPy給我們的額外好處是聚合功能:
除了最小值,最大值,和求和,你還可以使用其他的聚合函數,比如mean得到平均值,prod得到所有元素相乘的結果,std得到標準差,還有很多其他的。
更高的維度
我們看過的所有例子都是關于一維向量的。NumPy一個關鍵的部分是它能夠將我們目前看到的所有內容應用到任意數量的維度。
創(chuàng)建矩陣
我們可以傳遞python列表的列表的形狀如下,讓NumPy創(chuàng)建一個矩陣來表示它們:
np.array([[1,2],[3,4]])
我們也可以使用上面提到的方法(ones()、zero()和random.random()),只要我們給它們一個元組來描述我們正在創(chuàng)建的矩陣的維數:
矩陣運算
如果兩個矩陣大小相同,我們可以使用算術運算符(+-*/)對矩陣進行加法和乘法。NumPy將這些操作作為位置操作處理:
只有當不同維數為1時(例如,矩陣只有一列或一行),我們才可以對不同大小的矩陣執(zhí)行這些算術操作,在這種情況下,NumPy使用它的廣播規(guī)則來執(zhí)行該操作:
點乘
算術的一個關鍵區(qū)別是使用點乘和矩陣乘法。NumPy給每個矩陣一個點乘dot()方法,我們可以用它來執(zhí)行點積操作與其他矩陣:
我在這個圖的底部添加了矩陣維數來強調這兩個矩陣必須有相同的維數在它們彼此面對的一邊。你可以把這個操作想象成這樣:
矩陣聚合
我們可以像聚合向量一樣聚合矩陣:
我們不僅可以在矩陣中聚合所有的值,還可以使用axis參數跨行或跨列聚合:
感謝各位的閱讀,以上就是“NumPy的使用方法有哪些”的內容了,經過本文的學習后,相信大家對NumPy的使用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。