NumPy 替换值

Muhammad Maisam Abbas 2023年1月30日
  1. NumPy 用 numpy.clip() 函数替换值
  2. NumPy 用 numpy.minimum()numpy.maximum() 函数替换值
  3. NumPy 用 Python 中的数组索引方法替换值
NumPy 替换值

本教程将介绍如何在 Python 中替换 NumPy 数组中的值。

NumPy 用 numpy.clip() 函数替换值

如果我们需要替换 NumPy 数组中所有大于某个阈值的值,我们可以使用 numpy.clip() 函数。我们可以使用 numpy.clip() 函数指定数组的上限和下限。numpy.clip() 函数返回一个数组,其中小于指定限制的元素被替换为最低限制。大于指定限制的元素将替换为最大限制。以下代码示例向我们展示了如何使用 numpy.clip() 函数替换 NumPy 数组中的值。

import numpy as np

array = np.array([1, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 9])

result = np.clip(array, 0, 5)
print(result)

输出:

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

我们用上面代码中的 np.clip() 函数替换了 NumPy 数组 array 中大于 5 的值。我们首先使用 np.array() 函数创建了一个 NumPy 数组。然后我们通过在 np.clip() 函数内指定从 05 的限制来裁剪 array,并将结果保存在 result 数组中。

NumPy 用 numpy.minimum()numpy.maximum() 函数替换值

我们还可以使用 numpy.minimum()numpy.maximum() 函数来替换超出我们指定限制的数组中的值。numpy.maximum() 函数用于将小于下限的值替换为下限。numpy.minimum() 函数用于将大于上限的值替换为上限。numpy.maximum() 函数将数组和可能的最低值作为输入参数。numpy.minimum() 函数将数组和最大可能值作为输入参数。请参考以下代码示例。

import numpy as np

array = np.array([1, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 9])

result1 = np.minimum(array, 5)

result2 = np.maximum(result1, 0)
print(result2)

输出:

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

我们使用 np.minimum() 函数将大于 5 的值替换为 5,使用 np.maximum() 函数将小于 0 的值替换为 0。我们将这些操作的结果存储在 result2 数组中。

NumPy 用 Python 中的数组索引方法替换值

实现与前两种方法相同目标的最简单方法是使用 Python 中的数组索引。我们可以使用 NumPy 中的数组索引方法轻松替换大于或小于某个阈值的值。这个方法不是像前两种方法那样创建一个新数组,而是修改了我们原始数组的内容。

import numpy as np

array = np.array([1, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 9])

array[array > 5] = 5
print(array)

输出:

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

我们通过在 Python 中使用 array[array > 5] = 5array 中大于 5 的所有值替换为 5

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn