NumPy(Numeric Python)是Python在進行數據分析時,可以使用的一個Package,適用於數值計算、矩陣運算、數學函數等。
NumPy 主要功能
基本用法
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
# 輸出:[1 2 3 4 5]
range_arr = np.arange(10)
print(range_arr)
# 輸出:[0 1 2 3 4 5 6 7 8 9]
linspace_arr = np.linspace(0, 1, 5)
print(linspace_arr)
# 輸出:[0. 0.25 0.5 0.75 1. ]
zeros = np.zeros((3, 4))
print(zeros)
# 輸出:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
基本操作
arr = np.array([1, 2, 3, 4, 5])
print(arr.shape)
# 輸出:(5,) =>這裡的 (5,) 表示這是一個只有一維的數組,維度大小為 5。
print(arr.dtype)
# 輸出:int64 => int64 是整數(integer)的一種
print(np.sum(arr))
# 輸出:15
print(np.mean(arr))
# 輸出:3.0
print(np.std(arr))
# 輸出:1.4142135623730951
數學運算
arr = np.array([1, 2, 3, 4, 5])
arr2 = np.array([5, 4, 3, 2, 1])
print(arr + arr2) # 加法
print(arr * arr2) # 乘法
#輸出:
[6 6 6 6 6]
[5 8 9 8 5]
mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[5, 6], [7, 8]])
print(np.dot(mat1, mat2)) # 矩陣乘法
#輸出:
[[19 22]
[43 50]]
# C11 = (1×5)+(2×7)=5+14=19
rand_arr = np.random.rand(3, 3)
print(rand_arr)
#輸出:
[[0.22255929 0.12764158 0.78796942]
[0.20198989 0.55306197 0.7436789 ]
[0.04384077 0.90511024 0.57501742]]
randint_arr = np.random.randint(1, 10, size=(3, 3))
print(randint_arr)
#輸出:
[[7 8 4]
[1 8 6]
[1 5 7]]