当前位置: 首页 > Python编程 > Python编程求职就业 > Python编程职业前景 > Python缺失值处理

Python缺失值处理

发布时间:2020年06月28日 03:56:08 来源: 点击量:1787

【摘要】在许多业务数据分析场景中,数据不一定十分完整,总是存在部分缺失值,因此,数据清洗阶段,对缺失值进行处理就显得尤为重要。本文介绍一些

在许多业务数据分析场景中,数据不一定十分完整,总是存在部分缺失值,因此,数据清洗阶段,对缺失值进行处理就显得尤为重要。本文介绍一些缺失值处理的示例,主要用到的库有:pandas、numpy 、sklearn。

导入需要的库。

import pandas as pd

import numpy as np

from sklearn.preprocessing import Imputer

生成缺失数据。

data=pd.DataFrame({'name':['Kite','Lily','Hanmei','Danny','Bob'],'English':[92,78,np.nan,23,82],'Math':[69,87,91,np.nan,90],'Chinese':[np.nan,78,96,np.nan,75]})

print(data)

查看缺失值。

data.isnull()#查看所有缺失值

data.isnull().any()#获取含有缺失值的列

data.isnull().all()#获取全部为NA的列

删除缺失值。这种处理方式丢失的信息比较多。

data2=data.dropna()

print(data2)

可以看到,删除后,仅剩两行数据。

利用sklearn替换缺失值。当缺失值为数值型数据时,可用利用均值来替换。

data.index=data['name']#将第一列作为索引data=data.drop(['name'],axis=1)#删除第一列

nan_model=Imputer(missing_values='NaN',strategy='mean',axis=0)#按照行均值替换对应缺失值。

nan_result=nan_model.fit_transform(data)

print(nan_result)

利用pandas替换缺失值。

data.fillna(0) #缺失值用0替换(考试中缺考记0分)

data.fillna(method='pad')#用前面的值替换

data.fillna(method='backfill')#用后面的值替换

可以看到,当第一行有缺失值时,利用向前替换是会失败的。

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部