pandas.Series.case_when — pandas 2.2.3 documentation (original) (raw)

Series.case_when(caselist)[source]#

Replace values where the conditions are True.

Parameters:

caselistA list of tuples of conditions and expected replacements

Takes the form: (condition0, replacement0),(condition1, replacement1), … .condition should be a 1-D boolean array-like object or a callable. If condition is a callable, it is computed on the Series and should return a boolean Series or array. The callable must not change the input Series (though pandas doesn`t check it). replacement should be a 1-D array-like object, a scalar or a callable. If replacement is a callable, it is computed on the Series and should return a scalar or Series. The callable must not change the input Series (though pandas doesn`t check it).

Added in version 2.2.0.

Returns:

Series

See also

Series.mask

Replace values where the condition is True.

Examples

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