np.where() 是 NumPy 库中的一个函数,用于根据条件从多个选择中选择元素。
它的一般语法如下:
np.where(condition, x, y)
参数说明:
- condition:表示一个条件表达式,可以是布尔值数组或条件语句。
- x:当 condition 中的元素为 True 时,将选择这些位置上的对应元素放入结果数组中。
- y:当 condition 中的元素为 False 时,将选择这些位置上的对应元素放入结果数组中。
返回值:
- 根据 condition 条件的结果,返回一个新的数组。
以下是 np.where() 的一些常见用法示例:
1.根据条件选择元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
result = np.where(condition, arr, 0)
print(result)
# 输出: [0 0 0 4 5]
在上面的示例中,如果 arr 数组中的元素大于 3,那么结果数组对应位置的元素就是 arr 中的对应元素;否则,结果数组对应位置的元素就是 0。
2.使用条件语句:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
condition = True
result = np.where(condition, arr1, arr2)
print(result)
# 输出: [1 2 3]
在上面的示例中,由于条件 condition 为 True,所以结果数组中的元素来自 arr1 数组;若 condition 为 False,则结果数组中的元素来自 arr2 数组。
np.where() 函数在数据处理和条件选择方面非常有用,可以根据不同的条件进行灵活的元素选择和替换操作。