zoukankan      html  css  js  c++  java
  • Python学习笔记:数据清洗之缺失值填充fillna

    在数据建模过程中,针对入模的数据需做数据清洗,特别针对缺失数据。

    缺失数据比较多的情况下,可以考虑直接删除;缺失数据较少的情况下,可对数据进行填充。

    此时,fillna() 则派上用场。语法为:

    fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
    # inplace=True 直接修改原对象 缺省False
    # method取值:pad、ffill、backfill、bfill、None 缺省None
    	# pad/ffill:用前一个非缺失值填充
        # backfill/bfill:用后一个非缺失值填充
    # limit:限制填充个数
    # axis:修改填充方向
    

    创建测试数据框:

    import pandas as pd
    import numpy as np
    from numpy import nan
    data = pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
    print(data)
    data.iloc[0:2, 0:3] = nan
    print(data)
    '''
        0   1   2   3
    a   3   4   5   6
    b   7   8   9  10
    c  11  12  13  14
    d  15  16  17  18
          0     1     2   3
    a   NaN   NaN   NaN   6
    b   NaN   NaN   NaN  10
    c  11.0  12.0  13.0  14
    d  15.0  16.0  17.0  18
    '''
    
    • 用0填充
    data.fillna(0)
    
    • 用每列特征的均值填充
    data.fillna(data.mean())
    
    • 用每列特征的中位数填充
    data.fillna(data.median())
    
    • 用相邻后面(back)特征填充前面缺失值
    data.fillna(method='bfill')
    
    • 用相邻前面(before)特征填充后面空值
    import pandas as pd
    import numpy as np
    from numpy import nan
    data = pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))
    print(data)
    data.iloc[1:2, 0:3] = nan
    print(data)
    data.fillna(method='pad')
    
    • 利用字典对不同列填充不同值
    values = {0:10, 1:20, 2:30} # 列名:填充值
    data.fillna(value=values)
    
    • 控制填充个数
    data.fillna(method='bfill', limit=2)
    
    • 按行填充
    data.fillna(method='ffill', limit=1, axis=1)
    

    参考链接:fillna()函数详解

    参考链接:Python 数据清洗之缺失数据填充fillna()

  • 相关阅读:
    WAMP环境下访问PHP提示下载PHP文件
    安装CMS遇到php5.3的问题
    Win2003打不开https的问题
    查看服务器硬件信息
    添加删除程序无法安装IIS 提示没法加载模块
    Spring Autowiring by AutoDetect
    Spring Autowiring by Constructor
    Spring Autowiring by Name
    Spring Autowiring by Type
    Spring Auto-Wiring Beans
  • 原文地址:https://www.cnblogs.com/hider/p/15231649.html
Copyright © 2011-2022 走看看