关键词

详解Numpy where()(返回符合条件元素的索引)函数的作用与使用方法

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,其他元素不变,最终输出新数组。

本文链接:http://task.lmcjl.com/news/17056.html

展开阅读全文