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
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
使用每个维度的索引范围访问多维数据
要访问多维数组中的多维数据,即访问多维数组的子集,我们必须为数组的每个维度指定索引范围。
示例
要访问数组的前两行和前两列,即我们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中访问多维数据。可以使用列表的行列元素索引访问一维和多维列表的元素。要访问多维数据,我们使用行列的索引范围。