python检测缺失值_python缺失值的填充

今天分享的是在数据分析中处理缺失值的方法和python的实现。

那为什么我们要对缺失值进行填充呢,想象你需要分析产品的销售和顾客数据,你注意到很多元组的属性否没有记录值,怎样才能为该属性天上缺失值呢?

一般的方法:①忽略该元组,在csv文件中来说就是删除这一行数据。这种方法除非在该行缺失很多属性值的情况下使用,否则不是很有效。②人工填写缺失值,这种方法对于数据量和缺失量较小的数据来说还可以,在大量的数据下,未免太过于麻烦。③使用给定元组的相似元组的该属性值进行填充。④使用该属性的中位数、均值、众数等进行填充。

我认为有两种方法都有一定的可取性,今天分享的就是我在实际分析中用到的方法④。下图是我用到的数据,包含客户id、年龄范围、家里车保有量。我们可以看到有很多的缺失值,先分析数据,发现客户年龄范围在26-35的客户很多占比70%左右,于是年龄段选取众数填充发,车保有量本来这个数据是客户自己填写,将空着的客户我们默认为”无“进行填充。

36ed9ea9978be4d0da7134e799e34267.png

下面我们先查看一下缺失值的个数,看到年龄范围缺失913个,家里车保有量1979个。

#encoding:utf-8"""缺失值的处理"""
import pandas as pd
data = pd.read_csv("File/data.csv")
#判断数据是否为空
print(data.isnull().sum())

908f6bb1240a5c861f4687f0969adc78.png

接下来对缺失值进行处理,处理完并查看当前缺失值,从图中可以看出当前无缺失值了。

#encoding:utf-8"""缺失值的处理"""
import pandas as pd
data = pd.read_csv("File/data.csv")
#判断数据是否为空
print(data.isnull().sum())
#用年龄众数替代缺失值,用无替代车辆的缺失值
data.fillna(value={'age_range':data['age_range'].mode()[0],
'cars':'无'},
inplace=True )#原地修改数据
print(data.isnull().sum())

7bd1bbc82fc3cc89a1a77e38a0655be4.png
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值