python excel 空值_Python/Excel/SPSS/SQL数据处理方法比较之4 - 空值处理

处理完重复值后,我们开始处理空值。

首先依然是定位空值,然后可以选择删除整行,但更多的时候我们选择使用某个值来填充。

Python

过滤空值

如果数据量较小,可直接使用isnull()函数逐一判断每个行是否有空值:

df.isnull()

或者使用any函数返回是否存在空值:

any(df.isnull())

但是如果数据量较大,则需要使用高级技巧,即apply()函数和匿名函数,对每一列x的空值进行计数:

df.apply(lambda x:np.sum(x.isnull()))

2. 删除空值

如果空值行比例较小(5%以下),则可以使用dropna()函数直接删除存在空值的行:

df.dropna()

可以传入参数how='all'来只删除全是空值的行。

可传入参数axis=1来删除空值较多的列(如85%以上空值):

df.drop(['列名'],axis=1)

3. 填充空值

如果空值行比例不小,则不能进行删除,应该使用fillna()函数进行补全,如简单填充数字0:

df['数值列'].fillna(value=0)

当然,更常见的是填充均值,众数和中位数,此时可以向value参数传入一个字典:

df.fillna(value={'性别':df.性别.mode()[0],'年龄':df.年龄.mean(),'收入':df.收入.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值