DataFrame缺失值判断和填充

缺失值判断

缺失值在Python里的表现一般有4种
1、None
2、False
3、‘’
4、nan

前3个很容易判断,直接用 == 就可以了,但第4种无法直接用 == 进行判断,会出现这种情况
在这里插入图片描述

NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大,因此无法用浮点数表示,比如1/0),而nan则一般表示一个非浮点数(比如无理数)

在数学上inf==inf,且inf == inf+X(X为任意浮点数),而nan != nan,因此在python中判断一个数是否是nan,可以直接判断他是否与自身相等。

对于这种情况我们可以用 np.isnan() 函数进行判断
在这里插入图片描述


缺失值填充

了解了怎么判断缺失值后就可以对他们进行填充了,这里介绍一下在一个DataFrame里如何对每列数值使用均值进行填充
数据:
在这里插入图片描述

Python实现

def fillna_mean(df):
    for cols in list(df.columns[df.isnull().sum() > 0]):
        mean_val = df[cols].mean() # 这里可以更改需要的公式
        df[cols].fillna(mean_val, inplace=True)
        
    return df

fillna_mean(df)

在这里插入图片描述

参考资料:
python 判断是否为空NaN
pandas 使用均值填充缺失值列的小技巧分享

猜你喜欢

转载自blog.csdn.net/weixin_46599926/article/details/127944796