cudf.DataFrame.where#
- DataFrame.where(cond, other=None, inplace=False, axis=None, level=None)[source]#
Replace values where the condition is False.
- Parameters:
- condbool Series/DataFrame, array-like
Where cond is True, keep the original value. Where False, replace with corresponding value from other. Callables are not supported.
- other: scalar, list of scalars, Series/DataFrame
Entries where cond is False are replaced with corresponding value from other. Callables are not supported. Default is None.
DataFrame expects only Scalar or array like with scalars or dataframe with same dimension as self.
Series expects only scalar or series like with same length
- inplacebool, default False
Whether to perform the operation in place on the data.
- Returns:
- Same type as caller
Examples
>>> import cudf >>> df = cudf.DataFrame({"A":[1, 4, 5], "B":[3, 5, 8]}) >>> df.where(df % 2 == 0, [-1, -1]) A B 0 -1 -1 1 4 -1 2 -1 8
>>> ser = cudf.Series([4, 3, 2, 1, 0]) >>> ser.where(ser > 2, 10) 0 4 1 3 2 10 3 10 4 10 dtype: int64 >>> ser.where(ser > 2) 0 4 1 3 2 <NA> 3 <NA> 4 <NA> dtype: int64
Pandas Compatibility Note
pandas.DataFrame.where()
,pandas.Series.where()
Note that
where
treats missing values as falsy, in parallel with pandas treatment of nullable data:>>> gsr = cudf.Series([1, 2, 3]) >>> gsr.where([True, False, cudf.NA]) 0 1 1 <NA> 2 <NA> dtype: int64 >>> gsr.where([True, False, False]) 0 1 1 <NA> 2 <NA> dtype: int64