用于访问多维 Numpy 数组不同列的程序

pythonserver side programmingprogramming

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("数组:",arr)
print("数组维度:",np.ndim(arr))

输出

数组:[[90 56 14 22 1]
[21 7 12 5 24]]
数组维度: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("数组的维度:",np.ndim(arr))
print("数组的第一列:",arr[:,0])

输出

数组:[[90 56 14 22 1]
[21 7 12 5 24]]
数组的维度:2
数组的第一列:[90 21]

使用切片

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

示例

在此示例中,我们访问中间使用切片技术应用 [:,3:5] 分割输入数组的 2 列,并返回中间列元素作为输出。

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("数组的维度:",np.ndim(arr))
print("数组的中间列:",arr[:,3:5])

输出

array: [[90 56 14 22 1]
[21 7 12 5 24]]
数组的维度: 2
数组的中间列:[[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("数组的维度:",np.ndim(arr))
print("数组的第一列和最后一列array:",arr[:,[0,4]])

输出

array: [[90 56 14 22 1]
[21 7 12 5 24]]
数组的维度:2
数组的第一列和最后一列:[[90 1]
[21 24]]


相关文章