歡迎來到Python數據分析的世界!對于初學者來說,NumPy是你的第一站,它是Python科學計算的基石,特別是當你想要處理數組和進行大規模數據操作時。本文專為那些希望深入了解并掌握NumPy核心功能的數據分析新手設計。我們將通過10個實用的應用示例,帶你從基礎操作到一些高級技巧,讓你的數據分析之旅更加順暢。
應用示例:
創建數組:
import numpy as nparr = np.array([1, 2, 3, 4])print("簡單數組:", arr)
這段代碼創建了一個一維數組,并打印出來。
解釋:np.array()是創建NumPy數組的基本函數,它接受列表、元組等作為輸入。
改變形狀:
arr_2d = arr.reshape(2, 2)print("二維數組:", arr_2d)
通過reshape,我們可以不改變數據的情況下,調整數組的形狀。
加法與乘法:
arr_add = arr + 10arr_mult = arr * 2print("加10:", arr_add, "/n乘2:", arr_mult)
數學運算在NumPy中可以直接對數組操作,非常高效。
求平均值與最大值:
mean_val = np.mean(arr)max_val = np.max(arr)print("平均值:", mean_val, "最大值:", max_val)
np.mean()和np.max()用于快速統計分析。
篩選特定值:
bool_arr = arr > 2print("大于2的索引:", bool_arr)filtered_arr = arr[bool_arr]print("篩選結果:", filtered_arr)
布爾索引允許根據條件選擇數組元素。
生成隨機數組:
random_arr = np.random.rand(3, 3)print("3x3隨機數組:", random_arr)
np.random.rand()用于生成指定形狀的隨機數矩陣。
矩陣乘法:
mat1 = np.array([[1, 2], [3, 4]])mat2 = np.array([[5, 6], [7, 8]])product = np.dot(mat1, mat2)print("矩陣乘法結果:", product)
np.dot()進行矩陣乘法,是機器學習中的基礎操作。
不同形狀數組運算:
broad_arr = arr + np.array([10, 10])print("廣播機制結果:", broad_arr)
NumPy的廣播機制允許不同形狀的數組進行運算。
排序數組:
sorted_arr = np.sort(arr)print("排序后的數組:", sorted_arr)
np.sort()按升序排序數組。
保存與加載數組:
np.save('my_array.npy', arr)loaded_arr = np.load('my_array.npy')print("從文件加載的數組:", loaded_arr)
使用np.save()和np.load()進行數組的持久化存儲和讀取。
分位數與標準差 :
# 分位數quartiles = np.percentile(arr, [25, 50, 75])print("四分位數:", quartiles)# 標準差與方差std_dev = np.std(arr)variance = np.var(arr)print("標準差:", std_dev, "方差:", variance)
分位數和統計度量是評估數據分布的關鍵指標。
花式索引 :
# 索引數組indices = np.array([[0, 1], [2, 2]])print("根據索引選取元素:", arr[indices])# 切片與步長sliced_arr = arr[1:4:2] # 從第二個元素開始,每隔一個取一個print("切片結果:", sliced_arr)
花式索引讓你能以非常靈活的方式訪問數組元素。
使用視圖減少內存消耗 :
view_arr = arr.view()view_arr[:] = 100 # 注意:這會改變原數組,因為是視圖print("原數組變化后:", arr)
了解視圖和副本的區別對于處理大型數據集至關重要。
向量化操作是NumPy的核心優勢,相較于Python循環,它們提供了極大的性能提升。
比較與邏輯操作 :
# 等于特定值的索引equals_three = arr == 3print("等于3的索引:", equals_three)# 邏輯與both_greater = (arr > 2) & (arr < 4)print("大于2且小于4的索引:", both_greater)
利用邏輯操作符進行條件篩選,無需顯式循環。
本文鏈接:http://www.tebozhan.com/showinfo-26-92465-0.html關于 Python 數據分析的 15 個 NumPy 應用
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com