访问多维NumPy数组不同列的程序


NumPy是 Python 中用于计算数值数据的强大库。它提供了多维数组,以及用于处理数组的不同函数和模块集合。其高效的数组运算、广播功能以及与其他库的集成,使其成为数据处理、分析和建模任务的首选。以下是 NumPy 库的关键特性和功能。

  • 多维数组

  • 数组创建

  • 数组运算

  • 索引和切片

  • 矢量化运算

  • 数值例程

  • 与其他库集成

  • 性能

  • 开源和社区支持

创建数组

在 NumPy 库中,我们有称为array()reshape()的函数。其中array()函数创建一维数组,而reshape()函数将给定的元素列表转换为定义的形状。

示例

在此示例中,我们将使用array()函数通过传递元素列表来创建二维数组,并使用reshape()函数通过传递数组的形状(即行数和列数)来创建二维数组。

import numpy as np
l = [90,56,14,22,1,21,7,12,5,24]
arr = np.array(l).reshape(2,5)
print("array:",arr)
print("dimension of the array:",np.ndim(arr))

输出

array: [[90 56 14 22  1]
 [21  7 12  5 24]]
dimension of the array: 2

有多种方法可以访问多维数组的不同列。让我们详细了解每一种方法。

使用基本索引

我们可以使用带方括号的基本索引来访问 NumPy 数组的特定列,其中我们在方括号内指定列索引以检索所需的列或列。

示例

在此示例中,我们将基本索引方法应用于二维数组,以使用[:, 0]访问数组的第一列,然后它将返回二维数组的第一列元素。

import numpy as np
l = [90,56,14,22,1,21,7,12,5,24]
arr = np.array(l).reshape(2,5)
print("array:",arr)
print("dimension of the array:",np.ndim(arr))
print("The first column of the array:",arr[:,0])

输出

array: [[90 56 14 22  1]
[21  7 12  5 24]]
dimension of the array: 2
The first column of the array: [90 21]

使用切片

切片用于从给定的输入数组访问一系列列,其中我们必须指定起始和结束索引,以及用冒号分隔的步长。

示例

在此示例中,我们通过使用切片技术应用 [:, 3:5] 来访问输入数组的中间两列,它将返回中间列元素作为输出。

import numpy as np
l = [90,56,14,22,1,21,7,12,5,24]
arr = np.array(l).reshape(2,5)
print("array:",arr)
print("dimension of the array:",np.ndim(arr))
print("The middle columns of the array:",arr[:,3:5])

输出

array: [[90 56 14 22  1]
 [21  7 12  5 24]]
dimension of the array: 2
The middle columns of the array: [[22  1]
 [ 5 24]]

使用花式索引

花式索引允许我们通过提供列索引数组来访问特定列。当我们想要访问非连续列或列的特定子集时,可以使用此方法。

示例

在此示例中,我们通过使用花式索引应用索引列表 [:, 0, 4] 来访问第一列和最后一列,然后它将返回数组的最后一列和第一列元素。

import numpy as np
l = [90,56,14,22,1,21,7,12,5,24]
arr = np.array(l).reshape(2,5)
print("array:",arr)
print("dimension of the array:",np.ndim(arr))
print("The first and last columns of the array:",arr[:,[0,4]])

输出

array: [[90 56 14 22  1]
 [21  7 12  5 24]]
dimension of the array: 2
The first and last columns of the array: [[90  1]
 [21 24]]

更新于: 2023年8月2日

92 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告