pandas缺失值填充

作用: 填充缺失值

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

主要参数:

value:需要用什么值去填充缺失值
axis:确定填充维度,从行开始或是从列开始
method:填充缺失值所用的方法。
limit:确定填充的个数,如果limit=2,则只填充两个缺失值。

method参数讲解
(1)ffill:用缺失值前面的一个值代替缺失值,如果axis =1,那么就是横向的前面的值替换后面的缺失值,如果axis=0,那么则是上面的值替换下面的缺失值。横向用缺失值前面的值替换缺失值"/“纵向用缺失值上面的值替换缺失值”,

这一种方法,都是用缺失值前面的值对缺失值进行填充。(行/列都可以指定)

(2)backfill/bfill:缺失值后面的一个值代替前面的缺失值(具体用法与前面类似)。

例子讲解:

import pandas as pd
import numpy as np
df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                  [3, 4, np.nan, 1],
                 [np.nan, np.nan, np.nan, 5],
                [np.nan, 3, np.nan, 4]],
                 columns=list('ABCD'))
df

在这里插入图片描述

沿Y轴方向,进行填充选择前面的值

df.fillna(axis=1,method='ffill')

在这里插入图片描述

沿X轴方向,进行填充选择前面的值

df.fillna(axis=1,method='ffill')

在这里插入图片描述
选择后面的值
在这里插入图片描述

df.fillna(0)

填充为特定的数 这里为0
在这里插入图片描述

trans={"A":9,"B":8,"C":7,"D":6}
df.fillna(value=trans)

指定不同的列填充不同的数
在这里插入图片描述
指定不同的列填充不同的数 同时 限定填充的数量

trans={"A":9,"B":8,"C":7,"D":6}
df.fillna(value=trans,limit=1)

在这里插入图片描述
填充为各自列的均值

df.fillna(df.mean())

在这里插入图片描述

# 指定A和B列
df.fillna(df.mean()['A':'B'])

只填充A到B这两个列
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐