查找 NumPy 数组中的最大和最小元素

pythonnumpyserver side programmingprogramming

著名的开源 Python 库 NumPy 用于数值计算。它支持大型多维数组和矩阵,以及大量可用于有效处理这些数组的复杂数学运算。

使用 NumPy 数组时,查找最大和最小元素通常是必要的。

方法 1:使用 max() 和 min() 函数

以下代码演示了如何创建整数数组。然后,我们分别使用 max() 和 min() 函数来查找数组中最高值和最低值元素。

算法

  • 导入所需的 Numpy 库。

  • 创建一个具有整数统计信息的 1D numpy 数组。

  • 通过使用 max() 和 min() 功能发现最大和最小元素。

  • 打印记录。

示例

# 导入 numpy 库
import numpy as np
arry = np.array([69, 96, 99, 14, 3])

# 查找最大元素
max_elent = np.max(arry)

# 查找最大元素
min_elent = np.min(arry)

print("数组中的最大元素为:", max_elent)
print("数组中最小元素为:", min_elent)

输出

数组中的最大元素是:99
数组中最小元素是:3

方法 2:在 NumPy 中使用 Argmax() 和 Argmin() 函数

以下代码说明了如何使用 argmax() 和 argmin() 技术在给定数组中查找最小和最大元素。

算法

  • 导入 numpy 库。

  • 创建一个包含整数统计信息的列表的 numpy 数组。

  • 获取最大值的索引和最小因子。

  • 获取最大和最小元素及其索引。

  • 打印信息。

示例

import numpy as npy
ary = npy.array([2023, 56, 400, 2025, 3])

# 获取最大和最小元素的索引
max_idx = npy.argmax(ary)
min_idx = npy.argmin(ary)

# 获取最大和最小元素
max_elnt = ary[max_idx]
min_elnt = ary[min_idx]

print("数组中的最大元素为:", max_elnt)
print("数组中最小元素为:", min_elnt)

输出

数组中的最大元素为:2025
数组中最小元素为:3

方法 3:使用 Sort() 方法

在本例中,我们将创建一个包含几个整数的 numpy 数组。使用 sort() 技术对数组的因子进行排序,从中我们可以从排序数组的第一个和最后一个索引中检索最小和最大元素。

算法

  • 导入 numpy 库。

  • 开发具有随机因子的 numpy 数组。

  • 使用 sort() 方法对数组进行排序。

  • 通过访问初始元素,我们能够获得数组的最小元素。

  • 通过访问最后一个元素,您可以检索数组中的最大元素。

  • 打印信息。

示例

import numpy as npy
ary = npy.array([420, 99, 840, 366, 9])
ary.sort()

# 获取排序后的最小和最大元素
min_elnt = ary[0]
max_elnt = ary[-1]

print("数组中的max_ele是:", min_elnt)
print("数组中的min_ele是:", max_elnt)

输出

数组中的max_ele是:9
数组中的min_ele是:840

方法4:使用Amax()和Amin()函数

在此示例中,我们将构造一个二维NumPy数组,并使用amax()和amin()方法来发现数组的最大值和最小值对象。

算法

  • 导入 numpy 库。

  • 初始化二维 numpy 数组。

  • 使用 amax() 和 amin() 方法确定数组中的最大和最小元素。

  • 显示所需的详细信息。

import numpy as nmp
ary = nmp.array([[17, 23, 53], [466, 5, 76]])

# 查找最大和最小元素
max_elnt = nmp.amax(ary)
min_elnt = nmp.amin(ary)

print("数组中的最大元素为:", max_elnt)
print("数组中的最小元素为:", min_elnt)

输出

数组中的最大元素为:466
数组中的最小元素为:5

结论

max() 和 min() 方法对于管理大量数据而言高效且直接,但它们不提供元素索引。

amax() 和 amin() 函数适用于一维和多维数组。但是,与其他方法相比,它速度较慢,并且需要更多内存来存储数组。


相关文章