如何访问多维NumPy数组的不同行

如何访问多维NumPy数组的不同行

NumPy多维数组

顾名思义,多维数组是一种可以描述为以超过两个维度(2D)的格式定义和存储数据的技术。Python允许通过在一个列表函数内嵌套另一个列表函数来实现多维数组。

以下是使用NumPy在Python中创建单维和多维数组的一些示例。

单维数组

示例

import numpy as np
simple_arr = np.array([0, 1, 2, 3, 4])
print(simple_arr )

输出

[0 1 2 3 4]

步骤

  • 导入NumPy库

  • 使用NumPy array()函数创建一个一维数组

  • 使用print()函数打印数组的内容

二维数组

示例

import numpy as np
simple_arr = np.array([[1, 2, 3], [4, 5, 6]])
print(simple_arr )

输出

[[1 2 3]
[4 5 6]]

步骤

  • 导入NumPy库

  • 使用NumPy的array()函数创建一个二维数组

  • 使用print()函数打印数组的内容

三维数组

示例

import numpy as np
simple_arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(simple_arr )

输出

[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]

步骤

  • 导入NumPy库

  • 使用NumPy array()函数创建一个三维数组

  • 使用print()函数打印数组的内容

访问2D NumPy数组的行

在Python中,我们可以使用两个索引来访问二维数组的元素,以达到它们各自的位置。第一个索引指的是元素在列表中的位置,而第二个索引指的是它们出现的顺序。当我们只定义一个带有数组名称的索引时,索引将返回存储在该数组中的所有元素。

索引二维数组

示例

考虑一个二维数组 –

import numpy as np
array1 = np.arange(12).reshape(4,3)
print(array1)

输出

array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])

步骤

  • 使用np.arange()方法创建一个一维数组,并输入12。

  • 接下来,使用reshape()函数将一维数组转换成二维数组。

  • 将结果赋给array1。

  • 使用print()方法打印array1的内容。

我们可以通过两个索引来访问该数组的元素,一个索引对应每一行,一个索引对应每一列。两个索引都从0开始。例如,要访问“8”,使用索引2作为行索引,索引2作为列索引。

print(array1[2][2])

输出

8

在Python中,多维索引数组的工作方式与2D或3D数组相同。只需使用array [index1,index2,index3]来获取多维数组中的特定元素。您只需要根据数组的维度添加indexN。

切片2D数组

切片类似于索引,但与从数组中选择一个特定元素不同,它使用沿一个或两个维度的索引范围选择一组元素。

如果您想从二维数组中切片元素,您需要指定行索引和列索引为[row_index,column_index]。

要切片多个元素,您还可以使用行索引和列索引的范围-

[start_row_index:end_row_index, start_column_index:end_column_index]

示例

例如,您可以选择第一行的前两列的[0:1, 0:2]区域。

import numpy as np
array1 = np.arange(16).reshape(4,4)
print(array1)
print(array1[0:2, 1:3])

输出

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
[[1 2]
[5 6]]

步骤

  • 使用numpy的arange方法,创建一个4×4的numpy数组,并将其重塑为一个4×4的矩阵。

  • 从数组中打印整个4×4的矩阵

  • 切分原始数组以提取子矩阵-

    • 使用索引0:2指定原始数组的前两行。

    • 通过使用索引1:3,指定数组的第二和第三列。

    • 使用这两个索引范围切分原始数组。

  • 打印通过切片提取的子矩阵。

如果要在NumPy中切割多维数组,可以使用与切割2D或3D数组相同的语法;

array [start:end, start:end, start:end]

例如

my_array[1:3, 1:4, 1:3]

将为您提供在任何维度上切割多维数组的功能。

结论

NumPy多维数组是数据分析和操作的强大工具。它们允许我们以一种结构化的方式存储和访问数据,从而更容易处理大型数据集。

本文讨论了如何访问多维NumPy数组的不同行。我们讨论了使用单维和多维数组、索引和切片数组以及访问2D NumPy数组行。我们还介绍了一些在实践中如何使用这些技术的示例。

有了这些知识,您应该能够在自己的项目中有效地访问多维NumPy数组的不同行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程