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中訪問多維資料。可以使用列表的行列元素索引訪問一維和多維列表的元素。要訪問多維資料,我們使用行列的索引範圍。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP