Python缺失值的处理方法(针对不同情况的用法)

缺失值首先要根据实际情况定义:

  1. 可以采用直接删除法
  2. 有时候需要使用替换法或插值法

例1:

# 判断是否缺失
df.isnull()
# np.sum()默认是沿着行的方向进行操作,即axis=0,计算每一列的和
np.sum(df.isnull())
#计算缺失率
df.apply(lambda x: sum(x.isnull())/len(x),axis=0)
#how='any'指的是只要这一行有一个缺失值就会被删除
#how='all'指的是这一行全部缺失就会被删除

#默认是0,删除掉有缺失值为0 的行df.dropna()
df.dropna(how='any',axis=0)

 

例2:

#指的是把某列删除
df.drop('chargeid ',axis=1)
#删除两列
df.drop(labels=['chargeid ','ID'],axis=1)
#根据这两个变量,只要有一个缺失的,就把它删掉
df.dropna(how='any',subset=['settlementdate','chargeid'])

例3:

#缺失值用平均值来填充
df.settlementdate.fillna(df.settlementdate.mean())
#字符型缺失值一般用众数来填充
df.settlementdate.fillna(df.settlementdate.mode()[0])
#用某一值来填补缺失值
df.settlementdate.fillna(20)
#不指定哪个变量时,所有的缺失值都用某个数填充
df.fillna(20)
inplace=True    才指对原数据进行处理
# 不同的变量一起填补
df.fillna(value={'gender':df.gender.mode()[0],
                'age':df.age.mean(),'income':df.income.median()})
# 前一项填补
df.fillna(method='ffill')
#下一项填补
df.fillna(method='bfill')

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值