一、NumPy是什麼
NumPy是Python中最重要的第三方庫之一,特別是在數據科學和機器學習領域。它是一個開源的Python擴展庫,支持高性能的科學計算和數據分析。一般來說,使用Python進行數據分析一定會用到NumPy。其中的ndarray類型,是在Python中進行大規模數值運算的必備類型,它可以提高Python數值運算的效率。
除此之外,NumPy還提供了很多現代、科學運算所需的函數和方法,涉及線性代數、傅里葉變換、隨機數生成等等,為Python在科學計算和數據分析上提供了強大的支持。
二、如何使用NumPy
1. 安裝NumPy
$ pip install numpy
2. 引入NumPy模塊
import numpy as np
三、NumPy中的ndarray數組
ndarray,即N-dimensional array(多維數組),是NumPy中最重要的一個類。它是一個由相同數據類型的元素組成的基本數據結構,可以進行高效的運算。
在NumPy中,使用array()函數生成ndarray數組。
import numpy as np # 生成一維數組 arr1 = np.array([1, 2, 3, 4, 5]) print(arr1) # 生成二維數組 arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(arr2) # 生成三維數組 arr3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) print(arr3)
輸出結果:
[1 2 3 4 5] [[1 2 3] [4 5 6] [7 8 9]] [[[1 2] [3 4]] [[5 6] [7 8]]]
ndarray數組具有以下特點:
- 它們的元素必須是相同類型的,如int、float、string等。
- 它們的大小是固定的,一旦創建就不能改變。
- 對於元素的類型,ndarray數組是佔用內存最少的。
四、NumPy中的數組運算
1. 數組的加、減、乘、除
import numpy as np arr1 = np.array([1, 2, 3, 4, 5]) arr2 = np.array([6, 7, 8, 9, 10]) # 數組的加法 print(arr1 + arr2) # 數組的減法 print(arr2 - arr1) # 數組的乘法 print(arr1 * arr2) # 數組的除法 print(arr1 / arr2)
輸出結果:
[ 7 9 11 13 15] [5 5 5 5 5] [ 6 14 24 36 50] [0.16666667 0.28571429 0.375 0.44444444 0.5 ]
2. 數組的加、減、乘、除——廣播運算
當進行數組運算時,NumPy會利用廣播(broadcasting)機制,自動對不同大小的數組進行擴展,使它們的形狀相同。
如下代碼中,arr1是一維數組,arr2是二維數組。在計算時,NumPy會將arr1擴展成與arr2一樣的形狀,使它們可以進行運算。
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 數組的加法(廣播運算) print(arr1 + arr2) # 數組的減法(廣播運算) print(arr1 - arr2) # 數組的乘法(廣播運算) print(arr1 * arr2) # 數組的除法(廣播運算) print(arr1 / arr2)
輸出結果:
[[ 2 4 6] [ 5 7 9] [ 8 10 12]] [[ 0 0 0] [-3 -3 -3] [-6 -6 -6]] [[ 1 4 9] [ 4 10 18] [ 7 16 27]] [[1. 1. 1. ] [0.25 0.4 0.5 ] [0.14285714 0.25 0.33333333]]
五、NumPy中的矩陣運算
1. 矩陣的創建
使用matrix()函數可以創建矩陣。創建矩陣時需要注意,將所有的數值用英文逗號隔開,不同行之間需要用分號隔開。
import numpy as np # 創建3*3的矩陣mat1 mat1 = np.matrix('1, 2, 3; 4, 5, 6; 7, 8, 9') print(mat1) # 創建2*3的矩陣mat2 mat2 = np.matrix('1, 2, 3; 4, 5, 6') print(mat2) # 創建2*2的矩陣mat3 mat3 = np.matrix('1, 2; 3, 4') print(mat3)
輸出結果:
[[1 2 3] [4 5 6] [7 8 9]] [[1 2 3] [4 5 6]] [[1 2] [3 4]]
2. 矩陣的加、減、乘
使用矩陣時,NumPy提供了特殊的運算符:+、-、*。這些運算都是基於矩陣乘法的。
import numpy as np # 創建兩個矩陣 mat1 = np.matrix('1, 2, 3; 4, 5, 6; 7, 8, 9') mat2 = np.matrix('9, 8, 7; 6, 5, 4; 3, 2, 1') # 矩陣的加法 print(mat1 + mat2) # 矩陣的減法 print(mat1 - mat2) # 矩陣的乘法 print(mat1 * mat2)
輸出結果:
[[10 10 10] [10 10 10] [10 10 10]] [[-8 -6 -4] [-2 0 2] [ 4 6 8]] [[ 30 24 18] [ 84 69 54] [138 114 90]]
六、NumPy中的適用於數據分析的函數
NumPy除了提供運算外,還提供了適用於數據分析的各種函數。
1. sum()函數——數組元素的累加
sum()函數可以計算數組中元素的累加和。
import numpy as np # 創建一個數組 arr = np.array([1, 2, 3, 4, 5]) # 計算數組的累加和 print(np.sum(arr))
輸出結果:
15
2. mean()函數——數組元素的平均值
mean()函數可以計算數組中元素的平均值。
import numpy as np # 創建一個數組 arr = np.array([1, 2, 3, 4, 5]) # 計算數組的平均值 print(np.mean(arr))
輸出結果:
3.0
3. std()函數——數組元素的標準差
std()函數可以計算數組中元素的標準差。
import numpy as np # 創建一個數組 arr = np.array([1, 2, 3, 4, 5]) # 計算數組的標準差 print(np.std(arr))
輸出結果:
1.4142135623730951
七、總結
本文詳細介紹了Python中NumPy模塊的基本使用方法,包括如何安裝NumPy、引入NumPy模塊、ndarray數組的創建、數組和矩陣運算、適用於數據分析的各種函數等。NumPy是Python進行科學計算和數據分析的重要工具,掌握其基本使用方法,將有助於Python相關領域的工作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157427.html