iT邦幫忙

2021 iThome 鐵人賽

DAY 24
1
Software Development

宇宙 69 大魔王的 python 世界系列 第 24

【Day 24】NumPy (1)

前言

NumPy 是一個提供矩陣運算的套件,他能很方便的計算線性代數,並且可以取代掉 Python 內建的 list。

他相當常被使用,在機器學習、深度學習、影像處理、人工智慧等領域都需要用到大量的矩陣運算,就會需要使用 NumPy 這個套件來加速我們的研究。

NumPy

在開始之前,需要先 import numpy,我們才能開始使用這個函式庫內的函式。

因為在接下來的程式中,要使用這個套件的函式都需要用 numpy.函式名稱來呼叫,所以為了讓程式碼更簡短,所以把它代稱為 np

import numpy as np

來建立第一個矩陣吧!

import numpy as np
x = np.array([1, 2, 3, 4, 5])    # 一維陣列
print(x)
print(type(x))

NumPy 的主要功能都架構在多重維度矩陣(N-dimensional array)上,稱為 ndarray。


圖片來源

y = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])    # 建立二維矩陣

z = np.array([[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]], [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]])    # 建立三維矩陣

array.ndim:查看矩陣的維度

a = np.array(42)
b = np.array([1, 2, 3, 4, 5])
c = np.array([[1, 2, 3], [4, 5, 6]])
d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])

print(a.ndim)
print(b.ndim)
print(c.ndim)
print(d.ndim)

ndmin:可以用來決定建立的矩陣維度

x = np.array([1, 2, 3, 4], ndmin=5)

print(x)
print(x.ndim)

建立矩陣並附上初始值的函式

np.zero([4, 5])    # 建立一個 4x5 全為 0 的矩陣
np.ones([2, 3])    # 建立一個 4x5 全為 1 的矩陣
np.arange(1, 10, 2)    # 建立一個 1 開始,最大到 10 一次加 2 的矩陣。
np.linspace(0, 6, 3)    # 建立一個 0 到 6 平均分成 3 份的矩陣 [0 3 6]
np.full([2, 3], 7)    # 建立一個 2x3 的矩陣,裡面的元素全都去 7
np.eye(3)    # 建立一個 3x3 的單位矩陣
np.random.random([2, 3])    # 建立 2x3 的矩陣,元素的值為隨機的

待續...


上一篇
【Day 23】Class 類別(續)
下一篇
【Day 25】NumPy (2)
系列文
宇宙 69 大魔王的 python 世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言