NumPy(Numerical Python)是一個開源的Python科學計算庫,提供了多維數(shù)組對象和對數(shù)組進行操作的工具。它是Python數(shù)據(jù)科學生態(tài)系統(tǒng)的核心庫之一,被廣泛用于科學計算、數(shù)據(jù)分析和機器學習等領域。本文將逐一解析NumPy庫中的常用函數(shù),包括數(shù)組創(chuàng)建、數(shù)組操作、數(shù)學函數(shù)、統(tǒng)計函數(shù)和線性代數(shù)等方面,并提供具體的代碼示例。
- 數(shù)組創(chuàng)建
NumPy提供了多種創(chuàng)建數(shù)組的方法,可以通過指定維度、數(shù)據(jù)類型以及初始化值等方式來創(chuàng)建數(shù)組。常用的函數(shù)有:
1.1 numpy.array():從列表或元組中創(chuàng)建數(shù)組。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) # 輸出:[1 2 3 4 5]
登錄后復制
1.2 numpy.zeros():創(chuàng)建指定維度的全零數(shù)組。
import numpy as np arr = np.zeros((3, 4)) print(arr) """ 輸出: [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]] """
登錄后復制
1.3 numpy.ones():創(chuàng)建指定維度的全一數(shù)組。
import numpy as np arr = np.ones((2, 3)) print(arr) """ 輸出: [[1. 1. 1.] [1. 1. 1.]] """
登錄后復制
1.4 numpy.arange():創(chuàng)建等差數(shù)組。
import numpy as np arr = np.arange(0, 10, 2) print(arr) # 輸出:[0 2 4 6 8]
登錄后復制
- 數(shù)組操作
NumPy提供了許多數(shù)組操作的函數(shù),包括形狀操作、索引和切片、擴展和堆疊以及數(shù)組轉(zhuǎn)置等。常用的函數(shù)有:
2.1 reshape():改變數(shù)組的形狀。
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) new_arr = arr.reshape((3, 2)) print(new_arr) """ 輸出: [[1 2] [3 4] [5 6]] """
登錄后復制
2.2 indexing和slicing:通過索引和切片操作數(shù)組。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr[2]) # 輸出:3 print(arr[1:4]) # 輸出:[2 3 4] print(arr[:3]) # 輸出:[1 2 3] print(arr[-3:]) # 輸出:[3 4 5]
登錄后復制
2.3 concatenate():將兩個或多個數(shù)組進行拼接。
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) arr = np.concatenate((arr1, arr2)) print(arr) # 輸出:[1 2 3 4 5 6]
登錄后復制
2.4 transpose():對數(shù)組進行轉(zhuǎn)置。
import numpy as np arr = np.array([[1, 2], [3, 4]]) new_arr = np.transpose(arr) print(new_arr) """ 輸出: [[1 3] [2 4]] """
登錄后復制
- 數(shù)學函數(shù)
NumPy提供了豐富的數(shù)學函數(shù),如數(shù)值運算、三角函數(shù)、對數(shù)函數(shù)、指數(shù)函數(shù)等。常用的函數(shù)有:
3.1 np.mean():計算數(shù)組的平均值。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) mean = np.mean(arr) print(mean) # 輸出:3.0
登錄后復制
3.2 np.sin():計算數(shù)組元素的正弦值。
import numpy as np arr = np.array([0, np.pi/2, np.pi]) sin = np.sin(arr) print(sin) # 輸出:[0. 1. 1.2246468e-16]
登錄后復制
3.3 np.exp():對數(shù)組元素進行指數(shù)運算。
import numpy as np arr = np.array([1, 2, 3]) exp = np.exp(arr) print(exp) # 輸出:[ 2.71828183 7.3890561 20.08553692]
登錄后復制
- 統(tǒng)計函數(shù)
NumPy提供了常用的統(tǒng)計函數(shù),包括最大值、最小值、中位數(shù)、方差和標準差等。常用的函數(shù)有:
4.1 np.max():計算數(shù)組的最大值。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) max_value = np.max(arr) print(max_value) # 輸出:5
登錄后復制
4.2 np.min():計算數(shù)組的最小值。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) min_value = np.min(arr) print(min_value) # 輸出:1
登錄后復制
4.3 np.median():計算數(shù)組的中位數(shù)。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) median = np.median(arr) print(median) # 輸出:3.0
登錄后復制
4.4 np.var():計算數(shù)組的方差。
import numpy as np arr = np.array([1, 2, 3, 4, 5]) variance = np.var(arr) print(variance) # 輸出:2.0
登錄后復制
- 線性代數(shù)
NumPy提供了基本的線性代數(shù)運算函數(shù),如矩陣乘法、矩陣求逆、矩陣行列式等。常用的函數(shù)有:
5.1 np.dot():計算兩個數(shù)組的點積。
import numpy as np arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6], [7, 8]]) dot_product = np.dot(arr1, arr2) print(dot_product) """ 輸出: [[19 22] [43 50]] """
登錄后復制
5.2 np.linalg.inv():計算矩陣的逆。
import numpy as np arr = np.array([[1, 2], [3, 4]]) inverse = np.linalg.inv(arr) print(inverse) """ 輸出: [[-2. 1. ] [ 1.5 -0.5]] """
登錄后復制
以上僅僅是NumPy庫中函數(shù)的一部分,通過了解這些常用函數(shù)的使用方法,我們能更高效地使用NumPy進行數(shù)組操作、數(shù)學運算、統(tǒng)計分析和線性代數(shù)等計算任務。同時,通過深入學習NumPy庫的相關文檔,我們可以發(fā)現(xiàn)更多強大的函數(shù)和功能,為我們的科學計算工作提供有力的支持。






