Python學習筆記 ndarray

2021-08-16 19:39:47 字數 4289 閱讀 3493

python中的陣列

ndarray是什麼?

1、numpy中基本的資料結構

2、所有元素是同一種型別

3、別名是array

4、利於節省記憶體和提高cpu計算時間

5、有豐富的函式

ndarray的建立

>>> import numpy as np

>>> aarray=np.array([1,2,3])

>>> aarray

array([1, 2, 3])

>>> barray=np.array([(1,2,3),(4,5,6)])

>>> barray

array([[1, 2, 3],

[4, 5, 6]])

>>> np.arange(1,5,0.5)

array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])

>>> np.random.random((2,2))

array([[0.15637741, 0.23650666],

[0.37523649, 0.4608882 ]])

>>> np.linspace(1,2,10,endpoint=false)

array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])

>>> np.ones([2,3])

array([[1., 1., 1.],

[1., 1., 1.]])

>>> np.zeros((2,2))

array([[0., 0.],

[0., 0.]])

>>> np.fromfunction(lambda i,j:(i+1)*(j+1),(9,9))

array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9.],

[ 2., 4., 6., 8., 10., 12., 14., 16., 18.],

[ 3., 6., 9., 12., 15., 18., 21., 24., 27.],

[ 4., 8., 12., 16., 20., 24., 28., 32., 36.],

[ 5., 10., 15., 20., 25., 30., 35., 40., 45.],

[ 6., 12., 18., 24., 30., 36., 42., 48., 54.],

[ 7., 14., 21., 28., 35., 42., 49., 56., 63.],

[ 8., 16., 24., 32., 40., 48., 56., 64., 72.],

[ 9., 18., 27., 36., 45., 54., 63., 72., 81.]])

>>> import numpy as np

>>> x = np.array([(1,2,3),(4,5,6)])

>>> x

array([[1, 2, 3],

[4, 5, 6]])

>>> x.ndim

2>>> x.shape

(2, 3)

>>> x.size

6

>>> import numpy as np

>>> aarray=np.array([(1,2,3),(4,5,6)])

>>> print(aarray[1])

[4 5 6]

>>> print(aarray[0])

[1 2 3]

>>> print(aarray[0:2])

[[1 2 3]

[4 5 6]]

>>> print(aarray[:,[0,1]])

[[1 2]

[4 5]]

>>> print(aarray[1,[0,1]])

[4 5]

>>> for row in aarray:

print(row)

[1 2 3]

[4 5 6]

ndarray的操作:

>>> import numpy as np

>>> aarray=np.array([(1,2,3),(4,5,6)])

>>> aarray.shape

(2, 3)

>>> barray=aarray.reshape(3,2)

>>> barray

array([[1, 2],

[3, 4],

[5, 6]])

>>> aarray

array([[1, 2, 3],

[4, 5, 6]])

>>> import numpy as np

>>> aarray=np.array([(1,2,3),(4,5,6)])

>>> aarray.resize(3,2)

>>> aarray

array([[1, 2],

[3, 4],

[5, 6]])

>>> barray=np.array([1,3,7])

>>> carray=np.array([3,5,8])

>>> np.vstack((barray,carray))

array([[1, 3, 7],

[3, 5, 8]])

>>> np.hstack((barray,carray))

array([1, 3, 7, 3, 5, 8])

ndarray的運算:

>>> import numpy as np

>>> aarray=np.array([(5,5,5),(5,5,5)])

>>> barray=np.array([(2,2,2),(2,2,2)])

>>> carray=aarray*barray

>>> carray

array([[10, 10, 10],

[10, 10, 10]])

>>> aarray+=barray

>>> aarray

array([[7, 7, 7],

[7, 7, 7]])

廣播的思想:

>>> a=np.array([1,2,3])

>>> b=np.array([[1,2,3],[4,5,6]])

>>> a+b

array([[2, 4, 6],

[5, 7, 9]])

統計運算:

>>> import numpy as np

>>> aarray=np.array([(1,2,3),(4,5,6)])

>>> aarray.sum()

21>>> aarray.sum(axis=0)

array([5, 7, 9])

>>> aarray.sum(axis=1)

array([ 6, 15])

>>> aarray.min()

1>>> aarray.argmax()

5>>> aarray.mean()

3.5>>> aarray.var()

2.9166666666666665

>>> aarray.std()

1.707825127659933

ndarray的專門應用--線性代數:

>>> import numpy as np

>>> x=np.array([[1,2],[3,4]])

>>> r1=np.linalg.det(x)

>>> print(r1)

-2.0000000000000004

>>> r1

-2.0000000000000004

>>> r2=np.linalg.inv(x)

>>> r2

array([[-2. , 1. ],

[ 1.5, -0.5]])

>>> print(r2)

[[-2. 1. ]

[ 1.5 -0.5]]

>>> r3=np.dot(x,x)

>>> r3

array([[ 7, 10],

[15, 22]])

>>> print(r3)

[[ 7 10]

[15 22]]

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...