iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0

NumPy 陣列也可以利用索引和切片來快速查找並並取得陣列中的元素。
下面將分別介紹一維、二維及多維陣列的索引和切片操作。

一維陣列

一維陣列的索引和切片操作與 Python 的列表分常相似。
array1 = np.array([1, 2, 3, 4, 5])

使用索引獲取元素。

print(array1[0])  # 1
print(array1[-1])  # 5

切片
print(array1[1:4]) # [2, 3, 4]

二維陣列

二維陣列跟一維陣列的查找會稍微有些不同,索引需要遵循「從外到內」的原則。
array2 = np.array([[1, 2, 3], [4, 5, 6]])

索引獲取元素
print(array2[0, 1]) # 2

列切片
print(array2[0, :]) # [1, 2, 3]

行切片
print(array2[:, 0]) # [1, 4]

子陣列切片
print(array2[1, 1:3]) # [5, 6]

補充說明:「:」代表所有元素。

多維陣列

在多維陣列中,索引和切片的原則依然是「從外到內」。對於三維及以上的陣列,操作時要特別注意順序和維度,越高維越容易混淆。
array3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

索引獲取元素
print(array3[0, 1, 1]) # 4

切片
print(array3[:, :, 1]) # [[2, 4], [6, 8]]
像這切片範例就是取最外層陣列的所有元素,次內層陣列的所有元素,最後取最內層陣列的第二個元素。


上一篇
Day15 Numpy(三)
下一篇
Day17 Pandas(一)
系列文
少年Py 的漂流日記- 第一次相遇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言