Numpy中where函数

Numpy中的where函数是一个非常实用的函数,它可以帮助我们根据条件选择数组中的元素,where函数的基本语法如下:

Numpy中where函数
(图片来源网络,侵删)
numpy.where(condition[, x, y])

参数说明:

condition:一个布尔类型的数组,用于指定条件,当条件为True时,返回x中对应位置的元素;当条件为False时,返回y中对应位置的元素。

x:可选参数,一个数组,用于指定条件为True时返回的值,如果未提供,则默认为1。

y:可选参数,一个数组,用于指定条件为False时返回的值,如果未提供,则默认为0。

下面是一些使用where函数的示例:

1、基本用法

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
result = np.where(condition, arr 3, arr)
print(result)  # 输出:[1 2 3 1 2]

在这个示例中,我们首先创建了一个数组arr,然后定义了一个布尔类型的数组condition,用于表示arr中的元素是否大于3,接着,我们使用where函数根据condition选择arr中的元素,当条件为True时,返回arr 3中对应位置的元素;当条件为False时,返回arr中对应位置的元素,我们打印出结果数组result

2、使用多个条件

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
condition1 = arr > 3
condition2 = arr % 2 == 0
result = np.where((condition1 & condition2), arr 3, arr)
print(result)

在这个示例中,我们首先创建了一个二维数组arr,然后定义了两个布尔类型的数组condition1condition2,分别表示arr中的元素是否大于3和是否为偶数,接着,我们使用where函数根据这两个条件选择arr中的元素,当两个条件都满足时(即元素大于3且为偶数),返回arr 3中对应位置的元素;否则,返回arr中对应位置的元素,我们打印出结果数组result

3、使用x和y参数

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3
x = np.array([4, 5, 6])
y = np.array([7, 8, 9])
result = np.where(condition, x, y)
print(result)  # 输出:[4 5 6]

在这个示例中,我们首先创建了一个数组arr,然后定义了一个布尔类型的数组condition,用于表示arr中的元素是否大于3,接着,我们提供了两个数组xy,分别用于指定条件为True时返回的值和条件为False时返回的值,我们使用where函数根据condition选择对应的值,并打印出结果数组result

Numpy中的where函数是一个非常实用的函数,它可以帮助我们根据条件选择数组中的元素,通过合理地使用where函数,我们可以方便地对数组进行筛选、替换等操作,希望本文的介绍能帮助你更好地理解和使用where函数。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/479759.html

(0)
未希新媒体运营
上一篇 2024-04-15 17:07
下一篇 2024-04-15 17:09

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入