numpy.array的基本操作(numpy陣列運算)
阿新 • • 發佈:2018-12-11
為什麼要用numpy
- Python中提供了list容器,可以當作陣列使用。但列表中的元素可以是任何物件,因此列表中儲存的是物件的指標,這樣一來,為了儲存一個簡單的列表[1,2,3]。就需要三個指標和三個整數物件。對於數值運算來說,這種結構顯然不夠高效。
- Python雖然也提供了array模組,但其只支援一維陣列,不支援多維陣列,也沒有各種運算函式。因而不適合數值運算。
- NumPy的出現彌補了這些不足。
import numpy as np
陣列建立
##常規建立方法 a = np.array([2,3,4]) b = np.array([2.0,3.0,4.0]) c = np.array([[1.0,2.0],[3.0,4.0]]) d = np.array([[1,2],[3,4]],dtype=complex) # 指定資料型別 print a, a.dtype print b, b.dtype print c, c.dtype print d, d.dtype
[2 3 4] int32
[ 2. 3. 4.] float64
[[ 1. 2.]
[ 3. 4.]] float64
[[ 1.+0.j 2.+0.j]
[ 3.+0.j 4.+0.j]] complex128
##建立陣列的常用函式 print np.arange(0,7,1,dtype=np.int16) # 0為起點,間隔為1時可預設(引起歧義下不可預設) print np.ones((2,3,4),dtype=np.int16) # 2頁,3行,4列,全1,指定資料型別 print np.zeros((2,3,4)) # 2頁,3行,4列,全0 print np.empty((2,3)) #值取決於記憶體 print np.arange(0,10,2) # 起點為0,不超過10,步長為2 print np.linspace(-1,2,5) # 起點為-1,終點為2,取5個點 print np.random.randint(0,3,(2,3)) # 大於等於0,小於3,2行3列的隨機整數