Pandas DataFrame mask() 方法

定义和用法

mask() 方法替换条件评估为 True 的行的值。

mask() 方法与 where() 方法相反。

实例

将所有年龄超过 30 的值设置为 NaN:

import pandas as pd

data = {
  "age": [50, 40, 30, 40, 20, 10, 30],
  "qualified": [True, False, False, False, False, True, True]
}
df = pd.DataFrame(data)

newdf = df.mask(df["age"] > 30)

亲自试一试

语法

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

参数

otherinplaceaxislevelerrorstry_cast 参数是关键字参数

参数 描述
cond 必需。表达式或函数,评估结果为 True 或 False。
other
  • 字符串
  • 数字
  • Series
  • DataFrame
可选。一组值,用于替换评估为 True 的行。
inplace
  • True
  • False

可选。默认为 False。指定是否在原始 DataFrame 上执行操作。

如果未指定(即默认值),则此方法返回新的 DataFrame。

axis
  • 数字
  • None

可选。指定对齐轴。

默认为 None。

level
  • 数字
  • None

可选。指定对齐级别。

默认为 None。

errors
  • 'raise'
  • 'ignore'

可选。指定如何处理异常。

默认为 'raise'。

try_cast
  • True
  • False

可选。指定是否尝试将结果转换回输入类型。

默认为 False。

返回值

包含结果的 DataFrame,如果 inplace 参数设置为 True,则返回 None。