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的多维数组。

Open Compiler
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开始。

Open Compiler
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]

示例

Open Compiler
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。

Open Compiler
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]]

示例

我们可以只使用: (分号) 来访问数组特定方向上的所有元素。我们可以访问第二行中的所有元素,方法是:

Open Compiler
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 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告