Numpy 簡介 #
NumPy 是為科學運算所提供的套件。提供許多數學公式的實作以及高效率的陣列、矩陣運算。
安裝方式:
pip install numpy
NumPy Array #
NumPy array 是 NumPy 的 array (廢話),不同於 Python List,所有元素都是一樣的型態,如果型態是 np.int64, np.int32 等,如同其他語言,是會 overflow 的。型態部分可以參考官方文件
基本操作 #
import numpy as np
a = np.array([0, 1, 2]) # 建立一維的 array
print(type(a)) # 印出 "<class 'numpy.ndarray'>"
print(a.shape) # 印出 "(3,)"
print(a[0], a[1], a[2]) # 印出 "0 1 2"
b = np.array([[1,2,3],[4,5,6]]) # 建立二維的 array
print(b.shape) # 印出 "(2, 3)"
print(b[0, 0], b[0, 1], b[1, 0]) # 印出 "1 2 4"
a = np.zeros((2,2)) # 建立 2x2 全 0 的 array
print(a) # 印出 "[[ 0. 0.]
# [ 0. 0.]]"
b = np.ones((1,2)) # 建立 1x2 全 1 的 array
# indexing
print(b[:, 1]) # 印出 "[2 5]", 第零維任意且第一維 1 的值
print(b[:, 1:]) # 印出 "[[2 3]
# [5 6]]", 第零維任意且第一維 1 (含)以上的值
# Boolean indexing
a = np.array([0, 1, 2])
print(a > 1) # 印出 "[False, False, True]"
print(a[a > 1]) # 印出 "[2]"
資料型態 #
建立 Numpy array 時可以指定資料型態。
import numpy as np
x = np.array([1.0, 2.0])
print(x.dtype) # 印出 "float64"
x = np.array([1, 2])
print(x.dtype) # 印出 "int32"
x = np.array([1.0, 2.0], dtype=np.int8) # 可以指定資料型態
print(x.dtype) # 印出 "int8"
x[0] += 1000
print(x) # 印出 "[-23 2]" int8 範圍為 -128 ~ 127,直接加 1000 會溢位
更詳細的介紹可以參考官方網站
參考資料: