2 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
NumPy是Python科學(xué)計(jì)算的基礎(chǔ)包。它提供了多維數(shù)組對(duì)象、基于數(shù)組的各種派生對(duì)象(例如,masked Array, 矩陣)。除此之外,還提供了各種各樣的加快數(shù)組操作的例程,包括數(shù)學(xué)基本計(jì)算、邏輯、圖形操作、排序、選擇、輸入輸出,離散傅立葉變換、基礎(chǔ)線(xiàn)性代數(shù)、基礎(chǔ)統(tǒng)計(jì)操作、隨機(jī)仿真等等。
NumPy的核心是ndarray對(duì)象。一方面,Ndarray對(duì)象封裝了可以包含相同數(shù)據(jù)類(lèi)型的多維數(shù)組;另一方面,為獲得更好的性能, 在ndarray上的操作都是在編譯過(guò)的代碼上執(zhí)行的。此外,和Python自身的序列對(duì)象相比,兩者之間有如下不同:
1. NumPy數(shù)組的大小是固定的。Python的List是可以動(dòng)態(tài)增長(zhǎng)的。改變NumPy的大小會(huì)重新創(chuàng)建一個(gè)新的數(shù)組并把原來(lái)的刪掉。
2. NumPy數(shù)組中的元素一定是同一類(lèi)型的。(相應(yīng)地,每個(gè)元素所占的內(nèi)存大小也是一樣的。)例外情況是:(不是特別理解:one can have arrays of (Python, including NumPy) objects, thereby allowing for arrays of different sized elements.)
3. NumPy數(shù)組支持在大量數(shù)據(jù)上進(jìn)行數(shù)學(xué)計(jì)算和其他類(lèi)型的操作。通常情況下,與Python自帶的序列類(lèi)型相比,NumPy數(shù)組上的操作執(zhí)行更高效,代碼量也更少。
4. 越來(lái)越多的Python科學(xué)計(jì)算包都是用到了NumPy的數(shù)組;雖然這些庫(kù)支持Python序列類(lèi)型的輸入,但是內(nèi)部操作還是要先將其轉(zhuǎn)換為NumPy的數(shù)組類(lèi)型,而且輸出通常就是NumPy數(shù)組。所以,如果你想要高效地使用這些Python的科學(xué)計(jì)算包,僅僅知道Python內(nèi)建的序列類(lèi)型是不夠的,你還需要知道如何使用NumPy數(shù)組。
最后,NumPy完全支持面向?qū)ο蟮姆妒?。例如,ndarray是一個(gè)類(lèi),它擁有許多方法和屬性。它的許多方法都映射到了最外層的NumPy命名空間的函數(shù)里。這樣一來(lái),就可以給程序員更多的自由:程序員可以自由選者是面向?qū)ο蟮姆绞竭€是面向過(guò)程的方式使用這些接口。

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
1 2 3 4 5 6 | import numpy as np a = np.arange(100) b = a + 0.3 c = a + 0.6 for i in range(len(a)): print a[i], b[i], c[i] |
把這里的a,b,c三個(gè)數(shù)組換成你的三個(gè)數(shù)組即可
- 2 回答
- 0 關(guān)注
- 592 瀏覽
添加回答
舉報(bào)