Python NumPy中多維陣列的資料訪問


NumPy是一個用於科學和數學計算的Python庫。NumPy提供了處理一維陣列和多維陣列的功能。多維陣列包含多行和多列。NumPy提供了多個內建函式來與多維陣列互動。在本文中,我們將探討如何在Python NumPy中訪問多維陣列中的資料。

在Python NumPy中建立多維陣列

要在Python中建立一個多維陣列,我們需要將列表的列表傳遞給NumPy的`array()`方法。該列表將包含多個列表,每個列表代表多維陣列的一行。

語法

numpy.array(list)

NumPy的`array()`函式將傳遞給它的列表轉換為多維陣列。傳遞列表中的多個列表將作為多維陣列的行。

示例

讓我們使用`numpy.array()`函式建立一個多維陣列,並在Python中列印轉換後的多維陣列。我們將把一個包含3個列表的列表傳遞給`numpy.array()`函式,這將建立一個3*3的多維陣列。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)

輸出

[[1 2 3]
 [4 5 6]
 [7 8 9]]

使用索引屬性訪問一維和多維陣列中的資料

在訪問多維陣列中的資料之前,我們需要知道如何訪問一維陣列中的資料。我們可以使用列表中元素的索引來訪問一維陣列中的資料。

語法

arr[index_of_element]

`arr[]`屬性在傳遞有效索引時,會返回陣列中特定索引處的元素。

示例

如果我們想訪問一維陣列的第三個元素,我們需要將2作為索引傳遞給`arr[]`屬性,因為陣列元素的索引從0開始。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[2])

輸出

3

類似地,要訪問多維陣列中的資料,我們必須將元素的行索引和列索引分別指定給`arr[]`屬性。要訪問3*3多維陣列的第二行和第三列的資料,我們需要將[1,2]分別指定給行索引和列索引。

語法

arr[row_index,column_index]

示例

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr[1, 2])

輸出

6

使用每個維度的索引範圍訪問多維資料

要訪問多維陣列中的多維資料,即訪問多維陣列的子集,我們必須為陣列的每個維度指定索引範圍。

示例

要訪問陣列的前兩行和前兩列,即我們3x3陣列的子集,我們必須使用分號(:)符號指定前兩行和前兩列的範圍。由於第一行索引從0開始,第二行索引為1,因此當我們訪問表的前兩行或列時,必須指定0:2。

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
subset = arr[0:2, 0:2]
print(subset)

輸出

[[1 2]
 [4 5]]

示例

我們可以只使用: (分號) 來訪問陣列特定方向上的所有元素。我們可以訪問第二行中的所有元素,方法是:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
row = arr[1, :]
print(row)

輸出

[4 5 6]

結論

在本文中,我們討論瞭如何使用Python中列表的索引屬性在Python中訪問多維資料。可以使用列表的行列元素索引訪問一維和多維列表的元素。要訪問多維資料,我們使用行列的索引範圍。

更新於:2023年4月13日

435 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.