一、NumPy簡介
NumPy,全稱Numerical Python,是基於Python語言的一個擁有強大數學計算能力的庫。主要用於數組數據的處理,例如科學計算,數據分析等領域。NumPy支持高效的數組操作,可以與其他科學計算和數據處理庫配合使用,例如Scipy、pandas等。
NumPy還包含一些線性代數和隨機數生成函數。除了NumPy之外,Python的數學計算庫還有NumPy的升級版NumPy 2、TensorFlow等。
二、NumPy 1.20.1新特性
NumPy 1.20.1是2021年1月發布的新版本,該版本包含數千個功能改進和bug修復,其中一些重要的特性包括:
- 提高數組、矩陣、向量和標量的算術性能
- 增加dtype取反和~的支持
- 新增了不少函數
- 提高了內存和性能
三、NumPy基礎操作
NumPy的主要功能是創建和操作數組。可以使用一下代碼創建一維和二維數組:
import numpy as np # 創建一維數組 a1 = np.array([1, 2, 3]) # 創建二維數組 a2 = np.array([[1, 2, 3], [4, 5, 6]])
可以使用以下代碼訪問數組的形狀、元素個數和尺寸:
print(a1.shape) # 輸出 (3,) print(a1.size) # 輸出 3 print(a1.ndim) # 輸出 1 print(a2.shape) # 輸出 (2, 3) print(a2.size) # 輸出 6 print(a2.ndim) # 輸出 2
四、數組操作
數組操作是NumPy的高級特性之一,可以對數組進行排序、篩選、索引和切片等處理。以下是對數組進行排序並取最大值和最小值的代碼示例:
arr = np.array([3, 2, 8, 4, 6, 5]) # 排序並取最大值和最小值 print("Sorted array: ", np.sort(arr)) print("Maximum value: ", np.max(arr)) print("Minimum value: ", np.min(arr))
五、矩陣計算
NumPy不僅支持數組操作,還支持矩陣計算,以下是實現矩陣加法的代碼示例:
matrix1 = np.array([[1, 2], [3, 4]]) matrix2 = np.array([[5, 6], [7, 8]]) # 矩陣加法 matrix_sum = np.add(matrix1, matrix2) print(matrix_sum)
六、隨機數生成
NumPy還提供了各種隨機數生成函數,可以用於模擬實驗和數據分析。以下是生成隨機整數和正態分布隨機數的代碼示例:
# 生成5個0-9之間的隨機整數 r = np.random.randint(0, 10, 5) print(r) # 生成20個均值為1,標準差為0.1的正態分布隨機數 mu, sigma = 1, 0.1 s = np.random.normal(mu, sigma, 20) print(s)
七、使用NumPy進行數據分析
NumPy不僅可以用於科學計算,還可以用於數據分析。以下是對一組體重數據進行分析的代碼示例:
weights = np.array([60, 70, 80, 85, 90, 75, 72, 68, 93, 100]) mean_weight = np.mean(weights) # 平均體重 median_weight = np.median(weights) # 中位數 std_weight = np.std(weights) # 標準差 print("Mean weight: ", mean_weight) print("Median weight: ", median_weight) print("Standard deviation: ", std_weight)
八、總結
NumPy是Python語言中最流行的科學計算庫之一,為計算和處理大型多維數組提供了高效的解決方案。NumPy 1.20.1版本增加了許多新的特性和改進,使得它更加易用和高效。它適用於數據分析、計算機視覺、自然語言處理、信號處理、機器學習和深度學習等領域,成為了進行科學計算和數據分析不可或缺的工具。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237017.html