Pandas DataFrame where() 方法
实例
所有 "age" 不超过 30 的值设置为 NaN:
import pandas as pddata = {"age": [50, 40, 30, 40, 20, 10, 30],"qualified": [True, False, False, False, False, True, True]}df = pd.DataFrame(data)newdf = df.where(df["age"] > 30)print(newdf)
定义与用法
where() 方法替换条件计算为 False 的行的值。
where() 与 mask() 方法是相反的。
语法
dataframe.where(cond, other, inplace, axis, level, errors, try_cast)
参数
other, inplace, axis,level, errors, try_cast 参数都是 关键字参数。
| 参数 | 值 | 描述 |
|---|---|---|
| cond | 必填。判定是还是 False 的表达式或函数 | |
| other | String Number Series DataFrame | 可选。 用于替换计算结果为 False 的行的一组值 |
| inplace | True False | 可选, 默认值 False。指定是否对原始 DataFrame 执行该操作,如果不执行,则默认情况下,此方法返回新 DataFrame |
| axis | Number None | 可选, 默认值 None。 指定轴 |
| level | Number None | 可选, 默认值 None。 指定层级 |
| errors | 'raise' 'ignore' | 可选, 默认值 'raise'。指定如何处理异常 |
| try_cast | True False | 可选, 默认值 False。指定是否尝试将结果强制转换回输入类型 |
返回值
一个 DataFrame 结果, 如果 inplace 参数设置为 True,则为 None。