Python擴展庫NumPy快速入門


NumPy(Numerical Python)是Python一個擴充庫。支持維度數組與矩陣運算,提供大量的數學函數庫。

ndarray類 :NumPy中的數組類被稱為ndarray

屬性:

ndarray.ndim表示數組的維度。

ndarray.shape是一個整型tuple,用來表示數組中的每個維度的大小。例如,一個n行和m列的矩陣,其shape為(n,m)。

ndarray.size表示數組中元素的個數,其值等於shape中所有整數的乘積

ndarray.dtype用來描述數組中元素的類型

ndarray.itemsize用於表示數組中每個元素的字節大小 

import numpy as np
a=np.arange(10).reshape(2,5)
a
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
注意:size=n*m 否則會報錯
a.shape (
2, 5) a.ndim 2 a.size 10 a.dtype dtype('int32') a.itemsize 4

數組創建

直接使用list或者tuple
import numpy as np a = np.array([1,2,3,4,5,6]) b = np.array((1,2,3,4,5,6)) a array([1, 2, 3, 4, 5, 6]) b array([1, 2, 3, 4, 5, 6])
傳入的參數必須是同一結構,不是同一結構將發生轉換

 NumPy還提供了便捷地創建特定數組的方式

   a=np.zeros((3,3))  

array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])

 a=np.ones([2,4])

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

 c = np.arange(15)

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

e=np.arange(15).reshape(5,3)

array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11],
       [12, 13, 14]])
g = np.arange(0,15,3)
array([ 0,  3,  6,  9, 12])

 h = np.arange(0,3,0.4)

array([0. , 0.4, 0.8, 1.2, 1.6, 2. , 2.4, 2.8])

 數組的基本操作(加減乘除

   相對應的位置進行加減乘除,這一塊很簡單,就不多做介紹

  在NumPy中,*用於數組間元素對應的乘法,而不是矩陣乘法,矩陣乘法可以用dot()方法來實現 

a=np.array([[1,2],[4,5]])
b=np.array([[0,1],[0,1]])
a
array([[1, 2],
       [4, 5]])
b
array([[0, 1],
       [0, 1]])
a*b
array([[0, 2],
       [0, 5]])
a.dot(b)
array([[0, 3],
       [0, 9]])

 矩陣乘積小結:

1. 只有當第一個矩陣的列數等於第二個矩陣的行數,兩個矩陣才能相乘

2.矩陣相乘不滿足交換律,AB!=BA

3.矩陣相乘不滿足消去率,例如:AB=AC 且A!=0 不能推出B=C

ndarray類實現了許多操作數組的一元方法,如求和、求最大值、求最小值等。

 a = np.random.random((2,3))
求和:a.sum() 

最小值:a.min()
最大值:a.max()
axis = 0表示列操作
axis = 1表示行操作
 
 
 

 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM