20 個 NumPy 常用操作助你提升數(shù)據(jù)處理效率
作者:用戶007
以下是NumPy中常用的20個操作,涵蓋了數(shù)組創(chuàng)建、數(shù)學(xué)運算、統(tǒng)計、形狀操作等高頻場景,掌握它們可以快速創(chuàng)建和操作多維數(shù)組。
NumPy(Numerical Python)是Python科學(xué)計算的核心庫,廣泛應(yīng)用于數(shù)據(jù)分析、機器學(xué)習(xí)、圖像處理等領(lǐng)域。以下是NumPy中常用的20個操作,涵蓋了數(shù)組創(chuàng)建、數(shù)學(xué)運算、統(tǒng)計、形狀操作等高頻場景。

1. np.array():從列表/元組創(chuàng)建數(shù)組
import numpy as np
# 創(chuàng)建一維數(shù)組
arr1 = np.array([1, 2, 3])
print(arr1) # 輸出: [1 2 3]
# 創(chuàng)建二維數(shù)組
arr2 = np.array([[1, 2], [3, 4]])
print(arr2)
# 輸出:
# [[1 2]
# [3 4]]2. np.arange():生成等差序列
# 生成0-4的整數(shù)
arr = np.arange(5)
print(arr) # 輸出: [0 1 2 3 4]
# 從5開始,步長3,直到小于15
arr = np.arange(5, 15, 3)
print(arr) # 輸出: [5 8 11 14]3. np.linspace():生成等間隔數(shù)
# 在0-1之間生成5個等間距數(shù)
arr = np.linspace(0, 1, 5)
print(arr) # 輸出: [0. 0.25 0.5 0.75 1. ]4. np.zeros():創(chuàng)建全零數(shù)組
zeros_array = np.zeros((3, 3))
print(zeros_array) # 輸出:[[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]5. np.ones():創(chuàng)建全一數(shù)組
ones_array = np.ones((2, 2))
print(ones_array) # 輸出:[[1. 1.] [1. 1.]]6. np.eye():創(chuàng)建單位矩陣
identity_array = np.eye(2)
print(identity_array) # 輸出:[[1. 0.] [0. 1.]]7. np.random.rand():生成均勻分布隨機數(shù)
random_array = np.random.rand(2, 2)
print(random_array) # 示例輸出: [[0.5488135 0.71518937] [0.60276338 0.54488318]]8. np.random.randint():生成隨機整數(shù)
rand_ints = np.random.randint(1, 11, 5)
print(rand_ints) # 示例輸出: [3 7 2 9 5]9. np.sum():數(shù)組求和
arr = np.array([[1, 2], [3, 4]])
total = np.sum(arr) # 全局求和
col_sum = np.sum(arr, axis=0) # 按列求和
row_sum = np.sum(arr, axis=1) # 按行求和10. np.mean():計算平均值
arr = np.array([2, 4, 6])
avg = np.mean(arr)
print(avg) # 輸出: 4.011. np.reshape():改變數(shù)組維度
arr = np.arange(6) # [0 1 2 3 4 5]
reshaped = arr.reshape(2, 3)
print(reshaped)
# 輸出:
# [[0 1 2]
# [3 4 5]]12. np.transpose():矩陣轉(zhuǎn)置
arr = np.array([[1, 2], [3, 4]])
transposed = arr.transpose()
print(transposed)
# 輸出:
# [[1 3]
# [2 4]]13. np.dot():矩陣乘法
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
result = np.dot(a, b)
print(result)
# 輸出:
# [[19 22]
# [43 50]]14. np.linalg.inv():求逆矩陣
matrix = np.array([[1, 2], [3, 4]])
inv_matrix = np.linalg.inv(matrix)
print(inv_matrix)
# 輸出:
# [[-2. 1. ]
# [ 1.5 -0.5]]15. np.where():條件篩選
arr = np.array([1, 2, 3, 4])
result = np.where(arr > 2, arr, 0)
print(result) # 輸出: [0 0 3 4]16. np.concatenate():數(shù)組拼接
a = np.array([1, 2])
b = np.array([3, 4])
combined = np.concatenate([a, b])
print(combined) # 輸出: [1 2 3 4]17. np.split():數(shù)組分割
arr = np.array([1, 2, 3, 4, 5, 6])
split_arr = np.hsplit(arr, 2)
print(split_arr) # 輸出: [array([1, 2, 3]), array([4, 5, 6])]18. np.sort():數(shù)組排序
arr = np.array([3, 1, 2])
sorted_arr = np.sort(arr)
print(sorted_arr) # 輸出: [1 2 3]19. np.unique():獲取唯一值
arr = np.array([1, 2, 2, 3, 3, 3])
unique_values = np.unique(arr)
print(unique_values) # 輸出: [1 2 3]20. np.bincount():統(tǒng)計元素出現(xiàn)次數(shù)
arr = np.array([1, 2, 2, 3, 3, 3])
counts = np.bincount(arr)
print(counts) # 輸出: [0 1 2 3]總結(jié)與學(xué)習(xí)建議
掌握上述函數(shù)后,你可以:
- 快速創(chuàng)建和操作多維數(shù)組
- 實現(xiàn)高效的數(shù)學(xué)計算與統(tǒng)計分析
- 處理矩陣運算和隨機數(shù)生成
學(xué)習(xí)建議:
- 在Jupyter Notebook中逐行運行示例代碼
- 嘗試修改參數(shù)觀察結(jié)果變化
- 結(jié)合實際項目(如數(shù)據(jù)處理、圖像變換)加深理解
責(zé)任編輯:趙寧寧
來源:
Python數(shù)智工坊






























