Numpy 簡介

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 會溢位

更詳細的介紹可以參考官方網站

參考資料:

cs231n Python tutorial

comments powered by Disqus