替换 NaN 值的函数

时间:2021-02-25 05:05:21

标签: python function lambda mean

我正在尝试用以下代码替换 Nan 值:

def NAfunc(df,s):

    if df[s].isnull():
        df[s]=df[s].fillna(df[s].mean())
    else:
        pass
    return df[s]
data['ColX']=data.apply(lambda x: NAfunc(x, 'ColX'), axis=1) #applying func to missing value column

我收到错误:

<块引用>

'float' 对象没有属性 'isnull'

你能告诉我我哪里出错了或者更好的函数代码吗?

1 个答案:

答案 0 :(得分:1)

除了使用 df[s].isnull(),您还可以选择:

import math

def NAfunc(df,s):

    if math.isnan(df[s]):
        df[s]=df[s].fillna(df[s].mean())
    else:
        pass
    return df[s]