1. 程式人生 > >數學之路-python計算實戰(5)-初識numpy以及pypy下執行numpy

數學之路-python計算實戰(5)-初識numpy以及pypy下執行numpy

N

NumPy系統是Python的一種開源的數字擴充套件。這種工具可用來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。據說NumPyPython相當於變成一種免費的更強大的MatLab系統。一個用python實現的科學計算包。包括:1、一個強大的N維陣列物件Array2、比較成熟的(廣播)函式庫;3、用於整合C/C++Fortran程式碼的工具包;4、實用的線性代數、傅立葉變換和隨機數生成函式。numpy和稀疏矩陣運算包scipy配合使用更加方便。
NumPy
Numeric Python

)提供了許多高階的數值程式設計工具,如:矩陣資料型別、向量處理,以及精密的運算庫。專為進行嚴格的數字處理而產生。多為很多大型金融公司使用,以及核心的科學計算組織如:LawrenceLivermoreNASA用其處理一些本來使用C++FortranMatlab等所做的任務。

git clonehttps://bitbucket.org/pypy/numpy.git

cd numpy 

pypy setup.pyinstall

deep@myddb:~$pypy
Python 2.7.6 (32f35069a16d819b58c1b6efb17c44e3e53397b2, Jun 26 2014, 21:49:19)
[PyPy 2.3.1 with GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or"license" for more information.
>>>> import numpy as np
>>>> 

本部落格所有內容是原創,如果轉載請註明來源

比python標準庫更方便的是,numpy提供了一個N維陣列型別ndarray,這是一個容器型別,儲存了相同型別與大小的資料項,ndarray可以被切片,擁有整數索引,每個資料項佔有一樣的記憶體空間,陣列物件的維度數目由shape屬性定義,這是一個元組,資料項的型別由dtype定義。

>>>> myx=np.array([[11,22,33],[44,55,66]])
>>>>myy=np.array([myx,myx])

>>>> myy
array([[[11, 22,33],
       [44, 55, 66]],


      [[11, 22, 33],
       [44, 55, 66]]])

>>>>myx[0]=[111,222,333]
>>>> myy
array([[[11, 22,33],
       [44, 55, 66]],


      [[11, 22, 33],
       [44, 55, 66]]])
>>>>myx.dtype

dtype('int32')

>>>>myy.dtype

dtype('int32')

>>>>myy.shape

(2, 2, 3)

>>>>myx.shape

(2, 3)

>>>> 

以上程式碼演示了基本使用,ndarray物件本身可以做為另一個ndarray物件的資料項,會生成一個複製品,所以對內嵌物件的修改不會有副作用。