2 回答

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

TA貢獻1786條經驗 獲得超11個贊
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三個數組換成你的三個數組即可
- 2 回答
- 0 關注
- 594 瀏覽
添加回答
舉報