np.where双重判断
时间: 2024-06-06 10:04:33 浏览: 116
np.where是numpy中的一个函数,它用于根据条件从两个数组中选择元素来构建新的数组。np.where函数包含两个必需参数:第一个参数是条件,第二个参数是条件为True时输出的数组,第三个参数是条件为False时输出的数组。
如果只有第一个参数,则返回所有满足条件的元素的索引。如果只有第二个和第三个参数,则将满足条件的元素替换为第二个参数中的元素,不满足条件的元素替换为第三个参数中的元素。
双重判断指的是在np.where函数中可以嵌套使用另一个np.where函数,用于在满足条件时进一步选择元素。例如:
```
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([10, 20, 30, 40, 50])
c = np.where(a > 2, np.where(a < 5, b, 0), 0)
print(c)
```
这个例子中,第一个np.where函数根据条件"a > 2"选择了元素3,4,5,并将这些元素传递给第二个np.where函数。第二个np.where函数又根据条件"a < 5"选择了元素3,4,并将这些元素替换为数组b中对应位置的元素10,20。最终得到的数组c为[0, 0, 10, 20, 0]。
阅读全文