📜  相当于熊猫中 r 中的 case_when - Python (1)

📅  最后修改于: 2023-12-03 15:11:22.690000             🧑  作者: Mango

Python中的相当于熊猫中r中的case_when

在R语言中,case_when函数用于对于符合一个或多个条件的变量进行分类。 在Python中,我们可以使用numpy的select函数来实现相似的功能。

select函数

numpy.select函数的语法如下:

numpy.select(condlist, choicelist, default=0)

该函数需要三个参数,其中第一个参数是一个条件列表,第二个参数则是您想要从该列表中选择的值的列表。默认返回值为0。

以下是一个示例程序:

import numpy as np

x = np.arange(10)
condlist = [x<3, x>5]
choicelist = [x, x**2]
result = np.select(condlist, choicelist)
print(result)

运行结果为:

[ 0  1  2  0  0  0 36 49 64 81]

在此示例中,当变量的值小于3时,函数返回变量的值本身,否则返回变量的平方。

创造更复杂的选择

当有多个条件时,可以将条件组合在一起以创建复杂的条件选择。 以下是示例:

import numpy as np

x = np.arange(10)
condlist = [x<3, x>5, (x>=3) & (x<=5)]
choicelist = [x, x**2, x*5]
result = np.select(condlist, choicelist)
print(result)

运行结果为:

[ 0  1  2 15 20 25 36 49 64 81]

在此示例中,当变量的值小于3时,函数返回变量本身,当变量的值大于5时,返回变量的平方。 对于介于3和5之间的变量,该函数返回变量的值与5的乘积。

总结

在Python中,numpy.select函数可以帮助我们对符合一个或多个条件的变量进行简单和复杂的分类。通过将条件和选择组合在一起,可以创建复杂的选择逻辑,以便更好地管理和分析数据集。