Python中的where()函数有什么作用
发布时间:2023-12-24 04:29:58
在Python中,where()函数主要用于从给定的条件中选择元素。它返回满足条件的元素的索引作为结果。
下面是一个使用示例:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) condition = np.array([True, False, True, False, True]) result = np.where(condition) print(result)
运行以上代码,将输出 [0, 2, 4],即满足条件的元素在原始数组中的索引。
where()函数还可以使用三个参数:x, y和z。这里,x是满足条件的元素列表,y是相应条件为False时的元素列表,而z是条件为True时的元素列表。
以下是一个使用了三个参数的例子:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) condition = np.array([True, False, True, False, True]) result = np.where(condition, arr, 0) print(result)
运行以上代码,将输出 [1, 0, 3, 0, 5]。其中, 个元素是满足条件的,所以它被保留在原始数组中;第二个元素不满足条件,所以它被替换为0;第三个元素满足条件,所以它保留在原始数组中;依此类推。
where()函数也可以用于多维数组。在这种情况下,结果将是一个包含满足条件的坐标的元组,其中 个元素是行坐标,第二个元素是列坐标,依此类推。
以下是一个多维数组的示例:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) condition = np.array([[True, False, True], [False, True, False], [True, False, True]]) result = np.where(condition) print(result)
运行以上代码,将输出 (array([0, 0, 1, 2, 2]), array([0, 2, 1, 0, 2]))。这表示满足条件的元素的坐标为(0, 0),(0, 2),(1, 1),(2, 0)和(2, 2)。
总结一下,where()函数在Python中用于从给定条件选择元素。它可以返回满足条件的元素的索引,也可以使用三个参数来同时处理满足条件和不满足条件的元素。此外,where()函数还可以用于多维数组,返回满足条件的元素的坐标。
