pandas.Series.case_when#

Series.case_when(caselist)[源代码][源代码]#

在条件为真时替换值。

Added in version 2.2.0.

参数:
caselist条件和预期替换的元组列表

采用以下形式: (condition0, replacement0), (condition1, replacement1), … . condition 应该是一个一维布尔数组类对象或一个可调用对象。如果 condition 是一个可调用对象,它会在 Series 上计算并应该返回一个布尔 Series 或数组。可调用对象不能改变输入的 Series(尽管 pandas 不会检查这一点)。 replacement 应该是一个一维数组类对象、一个标量或一个可调用对象。如果 replacement 是一个可调用对象,它会在 Series 上计算并应该返回一个标量或 Series。可调用对象不能改变输入的 Series(尽管 pandas 不会检查这一点)。

返回:
系列

根据提供的条件替换值的新系列。

参见

Series.mask

在条件为真时替换值。

例子

>>> c = pd.Series([6, 7, 8, 9], name="c")
>>> a = pd.Series([0, 0, 1, 2])
>>> b = pd.Series([0, 3, 4, 5])
>>> c.case_when(
...     caselist=[
...         (a.gt(0), a),  # condition, replacement
...         (b.gt(0), b),
...     ]
... )
0    6
1    3
2    1
3    2
Name: c, dtype: int64