Pandas处理缺失值

07.Pandas处理缺失值

Pandas使用这些函数处理缺失值:

  1. isnull和notnull:检测是否是空值,可用于df和series

  2. dropna:丢弃,删除缺失值

    [axis:](删除行还是列,{0 or ‘index’,1or ‘columns’},default 0)删除行还是列,{0 or ‘index’,1or ‘columns’},default 0

    how:如果等于any则任何值为空都删除,如果等于all则所有值为空值才能删除

    inplace:如果为True则修改当前df,否则返回新的df

  3. fillna:填充空值

    value:用于填充的值,可以是单个值,或者字典,(key是列名,value是值)

    method:等于ffill使用前一个不为空的值填充forword fill;等于bfill使用后一个不为空的值填充

    backword fill

    axis:按行还是列填充,{0 or ‘index’,1or ‘columns’}

    inplace:如果为True则修改当前df,否则返回新的df

    演示

    import pandas as pd
    
    #读取excel的时候,忽略前几个空行
    studf=pd.read_excel("-",skiprows=2)#忽略前前两行
    #studf出现空值为NaN
    
    #检测空值
    studf.isnull()
    #返回布尔值,空值为True
    studf["索引列名"].isnull()
    studf.notnull()#功能类似,但是返回布尔值和isnull相反
    #筛选该索引列没有空值的所有行
    studf.loc[studf["索引列名"].notnull(),:]
    
    #删掉全是空值的行和列
    studf.dropna(axis="columns",how='all',inplace=True)#columns替换成index为行
    
    #将空值列填充0
    studf.fillna({"索引":0})
    #上述等同于
    studf.loc[:,'索引']=studf['索引'].fillna(0)
    #若要填充前面有效值,fillna(method="ffill")
    #ffill: forward fill
    
    #保存
    studf.to_excel(",",index=False)
    
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值