Pandas 中的 where
函数
在 Pandas 中,where
函数用于替换不满足条件的值。具体来说,它返回一个与原始 DataFrame 或 Series 形状相同的新对象,但所有不满足条件的值都被替换为指定的值(默认为 NaN)。
对于 DataFrame:
DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False, raise_on_error=None)
对于 Series:
Series.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False, raise_on_error=None)
参数解释
cond
:条件表达式,与 DataFrame/Series 形状相同,用于确定哪些值应保留。other
:当条件为 False 时要替换成的值,默认为 NaN。inplace
:是否在原地修改 DataFrame/Series。默认为 False,即返回一个新的对象。axis
:用于应用条件的轴。对于 DataFrame,0 表示行,1 表示列。在 Series 中不使用。level
:用于多层索引的级别。在大多数情况下不使用。errors
:如何处理应用条件时的错误。默认为 'raise',即遇到错误时抛出异常。try_cast
:尝试将结果转换回原始数据类型。默认为 False。raise_on_error
:已弃用,不推荐使用。
import pandas as pd
import numpy as np df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]
})
result = df.where(df > 4)
print(result)