📜  如何在Python使用具有多个条件的 NumPy where() ?(1)

📅  最后修改于: 2023-12-03 15:08:58.264000             🧑  作者: Mango

如何在 Python 使用具有多个条件的 NumPy where()?

在 NumPy 中,where() 函数可以根据给定条件返回数组中的值。通常情况下,where() 函数被用于执行简单的条件判断,例如找到数组中大于某个数的元素。但是,有时候我们需要处理多个条件的情况,这就需要使用到 where() 函数的多个条件支持。在本文中,我们将介绍如何在 Python 使用具有多个条件的 NumPy where() 函数。

单个条件语句

首先,我们来看一下如何使用单个条件语句来过滤数组中的元素。在以下代码片段中,我们创建了一个包含 10 个随机整数的数组,然后使用 where() 函数找到其中大于 5 的元素并将它们设置为 0。

import numpy as np

# 创建一个包含10个随机整数的数组
arr = np.random.randint(1, 10, 10)

# 查找大于5的元素并将其设置为0
arr = np.where(arr > 5, 0, arr)

print(arr)

执行这段代码,输出结果如下:

[4 0 0 0 4 4 2 2 0 0]
多个条件语句

现在,让我们来看一下如何使用多个条件语句来过滤数组中的元素。在以下代码片段中,我们创建了一个包含 10 个随机整数的数组,然后使用 where() 函数找到其中大于 5 且小于 8 的元素并将它们设置为 0。

import numpy as np

# 创建一个包含10个随机整数的数组
arr = np.random.randint(1, 10, 10)

# 查找大于5且小于8的元素并将其设置为0
arr = np.where((arr > 5) & (arr < 8), 0, arr)

print(arr)

执行这段代码,输出结果如下:

[4 0 4 4 0 0 9 9 4 4]

需要注意的是,在多个条件语句中,每个条件语句之间需要使用逻辑运算符 & 或 |(and 和 or)来连接,否则会报错。

总结

在本文中,我们介绍了如何在 Python 中使用具有多个条件的 NumPy where() 函数。通过这个功能,我们可以更灵活地处理数组中的元素,让我们的程序更加健壮和强大。