Pandas DataFrame where() 方法

实例

所有 "age" 不超过 30 的值设置为 NaN:

  1. import pandas as pd
  2. data = {
  3. "age": [50, 40, 30, 40, 20, 10, 30],
  4. "qualified": [True, False, False, False, False, True, True]
  5. }
  6. df = pd.DataFrame(data)
  7. newdf = df.where(df["age"] > 30)
  8. print(newdf)

定义与用法

where() 方法替换条件计算为 False 的行的值。

where()mask() 方法是相反的。


语法

  1. dataframe.where(cond, other, inplace, axis, level, errors, try_cast)

参数

otherinplace, axis,level, errors, try_cast 参数都是 关键字参数

参数描述
cond 必填。判定是还是 False 的表达式或函数
otherString
Number
Series
DataFrame
可选。 用于替换计算结果为 False 的行的一组值
inplaceTrue
False
可选, 默认值 False。指定是否对原始 DataFrame 执行该操作,如果不执行,则默认情况下,此方法返回新 DataFrame
axisNumber
None
可选, 默认值 None。 指定轴
levelNumber
None
可选, 默认值 None。 指定层级
errors'raise'
'ignore'
可选, 默认值 'raise'。指定如何处理异常
try_castTrue
False
可选, 默认值 False。指定是否尝试将结果强制转换回输入类型

返回值

一个 DataFrame 结果, 如果 inplace 参数设置为 True,则为 None。

分类导航