Numpy库中的where()函数是用于根据给定的条件返回符合条件的元素索引的函数。它的语法为:
numpy.where(condition, [x, y])
其中,condition是一个用于评估的数组,并返回一个给定形状的布尔类型数组。当布尔类型数组的某个元素为True时,则返回x中对应元素的值,否则返回y中对应元素的值。
接下来,我们将提供两个示例来说明这个函数更具体的用法。
示例1:使用where()函数找到数组中符合特定条件的所有元素的索引
假设有一个数组arr=[10,20,30,40,50,60,70,80,90],要求使用where()函数找到其中所有大于50的元素的索引。
代码:
import numpy as np
arr = np.array([10,20,30,40,50,60,70,80,90])
indexes = np.where(arr > 50)
print(f"满足条件的元素的索引为: {indexes}")
输出:
满足条件的元素的索引为: (array([5, 6, 7, 8], dtype=int64),)
解析:
通过where()函数将大于50的元素的索引找出,结果中的第一个数组表示所有满足条件的元素在原始数组中的下标。
示例2:使用where()函数进行数组的条件替换
假设有一个数组arr=[1,2,3,4,5,6,7,8,9],要求将其中小于等于3的元素都替换成0,其他的元素不变。
代码:
import numpy as np
arr = np.array([1,2,3,4,5,6,7,8,9])
new_arr = np.where(arr <= 3, 0, arr)
print(f"替换后的数组为: {new_arr}")
输出:
替换后的数组为: [0 0 0 4 5 6 7 8 9]
解析:
使用where()函数将小于等于3的元素置为0,其他元素不变,最终输出新数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Numpy where()(返回符合条件元素的索引)函数的作用与使用方法 - Python技术站