NumPy 建立陣列
NumPy 中的核心資料結構是 ndarray
,它代表多維陣列。NumPy 提供了多種方法來建立 ndarray
物件,包括:
使用 array()
函式
array()
函式是最常用的方法之一,它可以將 Python 列表、元組甚至其他陣列轉換為 ndarray
物件。
語法:
ndarray = np.array(data, dtype=dtype, order=order)
引數說明:
data
:可以是 Python 列表、元組或其他陣列。
dtype
:指定陣列元素的資料型別,預設為 float64
。
order
:指定陣列元素的記憶體儲存順序,預設為 C
順序(行優先)。
示例:
import numpy as np
# 建立一維陣列
arr1 = np.array([1, 2, 3, 4, 5])
# 建立二維陣列
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
# 建立三維陣列
arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(arr1)
print(arr2)
print(arr3)
輸出:
[1 2 3 4 5]
[[1 2 3]
[4 5 6]]
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
使用 zeros()
和 ones()
函式
zeros()
和 ones()
函式可以建立指定形狀和資料型別的全零或全一陣列。
語法:
ndarray = np.zeros(shape, dtype=dtype)
ndarray = np.ones(shape, dtype=dtype)
引數說明:
shape
:指定陣列的形狀,可以是元組或列表。
dtype
:指定陣列元素的資料型別,預設為 float64
。
示例:
import numpy as np
# 建立一個 3x4 的全零陣列
arr1 = np.zeros((3, 4))
# 建立一個 2x3 的全一陣列
arr2 = np.ones((2, 3))
print(arr1)
print(arr2)
輸出:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1. 1. 1.]
[1. 1. 1.]]
使用 empty()
函式
empty()
函式可以建立指定形狀的空陣列,但陣列元素的值未定義。
語法:
ndarray = np.empty(shape, dtype=dtype)
引數說明:
shape
:指定陣列的形狀,可以是元組或列表。
dtype
:指定陣列元素的資料型別,預設為 float64
。
示例:
import numpy as np
# 建立一個 3x4 的空陣列
arr = np.empty((3, 4))
print(arr)
輸出:
[[nan nan nan nan]
[nan nan nan nan]
[nan nan nan nan]]
使用特殊函式
NumPy 還提供了一些特殊函式來建立特定型別的陣列,例如:
arange()
:建立等差數列陣列。
linspace()
:建立線性間隔的陣列。
eye()
:建立單位矩陣。
diag()
:建立對角矩陣。
請參考 NumPy 文件瞭解有關這些函式的更多資訊。
練習
建立以下陣列:
一個包含 10 個元素的遞增整數陣列(從 0 到 9)。
一個包含 20 個元素的隨機浮點數陣列(範圍為 0 到 1)。
一個 3x3 的單位矩陣。
請在評論中分享您的答案。
Sure, here is the requested Markdown formatted content:
NumPy 陣列索引
NumPy 陣列可用於表示多維資料。訪問陣列元素是 NumPy 中常見操作之一。
訪問一維陣列元素
NumPy 陣列中的索引從 0 開始,這意味著第一個元素的索引為 0,第二個元素的索引為 1,依此類推。
要訪問一維陣列中的元素,可以使用方括號 []
並指定元素的索引。
示例:
import numpy as np
# 建立一維陣列
arr = np.array([1, 2, 3, 4, 5])
# 訪問第一個元素
print(arr[0]) # 輸出:1
# 訪問第二個元素
print(arr[1]) # 輸出:2
# 訪問最後一個元素
print(arr[-1]) # 輸出:5
訪問二維陣列元素
要訪問二維陣列中的元素,可以使用逗號分隔的兩個索引:第一個索引表示行,第二個索引表示列。
示例:
import numpy as np
# 建立二維陣列
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 訪問第一行第一個元素
print(arr[0, 0]) # 輸出:1
# 訪問第二行第三列元素
print(arr[1, 2]) # 輸出:6
# 訪問最後一個元素
print(arr[-1, -1]) # 輸出:9
訪問三維及更高維陣列元素
對於三維及更高維陣列,可以使用逗號分隔的多個索引來訪問元素,每個索引表示相應維度的索引。
示例:
import numpy as np
# 建立三維陣列
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
# 訪問第一個陣列的第二個陣列的第三個元素
print(arr[0, 1, 2]) # 輸出:6
負索引
NumPy 還支援負索引,從陣列的末尾開始計數。
例如,要訪問二維陣列的最後一個元素,可以使用 arr[-1, -1]
。
練習
建立一個 5x5 的二維陣列 arr
,並列印以下元素:
第一行的第一個元素
第二行的最後一個元素
第三列的第一個元素
第三個元素
在評論中分享您的程式碼和輸出。
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎點贊、收藏、關注