Python語言一直以來都被視作數據科學和機器學習領域的主要工具之一。Python內置的數據結構如列表、元組、字典等可以方便地操作數據,但對於大規模數據的處理,它們的效率並不高,因此誕生了NumPy庫。NumPy(Numeric Python)是Python科學計算的核心庫,它是一個開源的Python擴展庫,支持高效處理多維數組和矩陣運算。
一、NumPy數組的創建和索引
NumPy數組是一個由同類型元素組成的多維數組,它可以是一維數組也可以是多維數組。創建一個NumPy數組可以通過Python列表或元組傳遞給NumPy數組構造函數。
import numpy as np
# 一維數組
arr1 = np.array([1, 2, 3])
print(arr1)
# 多維數組
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)
NumPy數組的索引方式與Python列表類似,可以通過下標訪問數組中的元素,也可以使用切片操作選擇數組的子集。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr[0]) # 輸出結果為1
print(arr[-1]) # 輸出結果為5
print(arr[1:3]) # 輸出結果為[2 3]
二、NumPy數組的屬性和方法
在NumPy中,數組的維度和形狀對計算非常重要。可以使用NumPy數組的shape和ndim屬性來獲取數組的形狀和維度。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape) # 輸出結果為(2, 3)
print(arr.ndim) # 輸出結果為2
NumPy數組對象提供了各種操作數組的方法,包括轉置、元素排序、搜索、數學和邏輯運算等。下面是一些常用的數組方法:
import numpy as np
arr = np.array([1, 3, 2, 5, 4])
# 數組排序
print(np.sort(arr)) # 輸出結果為[1 2 3 4 5]
# 數組翻轉
print(np.flip(arr)) # 輸出結果為[4 5 2 3 1]
# 數組求和、均值、方差、標準差等
print(np.sum(arr)) # 輸出結果為15
print(np.mean(arr)) # 輸出結果為3.0
print(np.var(arr)) # 輸出結果為2.0
print(np.std(arr)) # 輸出結果為1.4142135623730951
三、NumPy的矩陣運算
NumPy不僅支持一般的數學運算和數組運算,還支持矩陣運算。通過NumPy可以輕鬆地執行矩陣的加、減、乘、轉置和求逆等運算。
首先,創建NumPy數組。
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
加減法:
print(arr1 + arr2) # 輸出結果為[[ 6 8][10 12]]
print(arr1 - arr2) # 輸出結果為[[-4 -4][-4 -4]]
乘法:
print(np.dot(arr1, arr2)) # 輸出結果為[[19 22][43 50]]
轉置:
print(arr1.T) # 輸出結果為[[1 3][2 4]]
print(arr2.T) # 輸出結果為[[5 7][6 8]]
求逆:
arr3 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 8]])
arr3_inv = np.linalg.inv(arr3)
print(arr3_inv)
以上就是NumPy庫中數組創建、索引等基礎知識和矩陣運算知識的介紹。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236686.html