如何在 Python 中从 Numpy 数组中选择元素?

如何在 Python 中从 Numpy 数组中选择元素?

在本文中,我们将展示如何在 Python 中从 NumPy 数组中选择元素。

Python 中的 Numpy 数组

NumPy 数组是 NumPy 库的核心数据结构,顾名思义。该库的名称是“Numeric Python”或“Numerical Python”的缩写。

换句话说,NumPy 是一个 Python 库,可作为 Python 中科学计算的基础。其中一种工具是高性能的多维数组对象,是一种强大的数据结构,用于高效的数组和矩阵计算。

我们可以一次从 Numpy 数组中选择一个单独的元素或子数组。现在我们看一下从 Numpy 数组中选择元素的以下方法。

  • 选择单个 NumPy 数组元素。
  • 使用切片从 NumPy 数组中选择子数组。
  • 只给出停止值来选择/访问子数组。
  • 仅给出起始值来选择/访问子数组。

方法 1 – 选择单个 NumPy 数组元素

这些 ndarray 的每个元素都可以通过它们的索引号码进行访问。

算法(步骤)

下面是执行所需任务的算法/步骤 –

  • 使用 import 关键字导入 numpy 模块并给其取一个别名 np。

  • 通过向其传递 1 维数组作为参数,使用 numpy.array() 函数(返回 ndarray。ndarray 是一个满足给定要求的数组对象)来创建 numpy 数组。

  • 使用正索引访问 NumPy 数组中的元素,并打印它。

  • 使用负索引访问 NumPy 数组中的元素,即最后一个元素的索引 -1,并打印它。

负索引:
Python 允许“从结尾索引”,即负索引。
这意味着序列中最后一个值的索引为-1,倒数第二个索引为-2,以此类推。
当您想从可迭代对象的末尾(右侧)选择值时,您可以利用负索引。

示例

以下程序使用索引号码从输入的 NumPy 数组返回指定索引处的元素 –

# 使用别名 np 导入 numpy 模块
import numpy as np

# 通过传递 1 维数组作为参数创建 NumPy 数组
inputArray = np.array([4, 5, 1, 2, 8])

# 使用正索引访问 NumPy 数组中的索引 1 处的元素并打印它
print("The input array = ",inputArray)
print("Numpy array element at index 1:", inputArray[1]<)

# 使用负索引访问 NumPy 数组中的索引 -1 处的元素,即最后一个元素,并打印它
print("Numpy array element at index -1(last element):", inputArray[-1])

输出

执行以上程序将生成以下输出 –

The input array =  [4 5 1 2 8]
Numpy array element at index 1: 5
Numpy array element at index -1(last element): 8

方法 2 – 使用切片从 NumPy 数组中选择子数组

为了获得子数组,我们可以用切片代替元素索引。

语法

numpyArray[start:stop]

其中, start, stop 分别为子数组的第一个和最后一个索引。

算法 (步骤)

以下是执行所需任务的算法/步骤:

  • 使用 numpy.array() 函数(返回一个ndarray。该ndarray是一个满足给定要求的数组对象), 通过将1维数组作为参数传递给它来创建NumPy数组。

  • 通过给定的开始和结束值使用切片访问索引位于2到5(不包含)的子数组,并打印它。

示例

以下程序使用切片从输入NumPy数组返回子数组,同时给出开始和结束值-

#导入带有别名名称的NumPy模块
import numpy as np

#创建一个1维NumPy数组
inputArray = np.array([4, 5, 1, 2, 8, 9, 7])
print("输入数组 = ", inputArray)

#通过给定的开始和结束值使用切片访问索引位于2到5(不包含)的子数组,并打印它。
print("索引位于2到5(不包含)的子数组 = ", inputArray[2:5])

输出

执行上述程序将生成以下输出-

输入数组 = [4 5 1 2 8 9 7]
索引位于2到5(不包含)的子数组 = [1 2 8]

方法3-仅通过停止值选择/访问子数组

通过将起始索引留空,可以从第一个元素开始切片子数组。

默认情况下将起始值作为0。

示例

以下程序从索引0(默认)开始从输入NumPy数组返回子数组到给定的停止值-

#导入带有别名名称的NumPy模块
import numpy as np

#创建一个1维NumPy数组
inputArray = np.array([4, 5, 1, 2, 8, 9, 7])
print("输入数组 = ", inputArray)

#通过只提供停止值打印从输入NumPy数组返回的子数组-
# 打印从索引0(默认)开始的子数组到给定的停止值

# 默认从0开始
print("从索引0(默认)开始的子数组至止值 = ",inputArray[:5])

输出

执行上述程序将生成以下输出-

输入数组 = [4 5 1 2 8 9 7]
从索引0(默认)开始的子数组至止值 = [4 5 1 2 8]

方法4-仅通过起始值选择/访问子数组

类似地,留空冒号左侧将为您提供一组到最后一个元素的数组。

示例

以下程序从给定的起始索引值到数组的最后一个索引值(default)返回输入的NumPy数组的子数组。

# 导入带别名的NumPy模块
import numpy as np

# 创建一个一维NumPy数组
inputArray = np.array([4, 5, 1, 2, 8, 9, 7])

# 打印从索引2到默认最后一个索引的子数组
print("Input Array = ",inputArray)
# 默认延伸到最后一个索引值
print("The sub-array till index 5(excluded)=", inputArray[2:])

输出

在执行时,上述程序将生成以下输出 −

Input Array = [4 5 1 2 8 9 7]
The sub-array till index 5(excluded)= [1 2 8 9 7]

结论

在本文中,我们学习了如何使用四个不同的示例在Python中选择numpy数组的元素。 我们还学习了有关切片NumPy数组的知识。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程