关于Python处理缺失值浅谈

转自:微点阅读  https://www.weidianyuedu.com

首先创建具有缺失值NaN(Not A Number)的CSV(comma-separated values)文件:

import pandas as pdfrom io import StringIOcsv_data = """A,B,C,D1.0,2.0,3.0,4.05.0,6.0,,8.00.0,11.0,12.0,"""# If you are using Python 2.7, you need# to convert the string to unicode:# csv_data = unicode(csv_data)df = pd.read_csv(StringIO(csv_data))1

2

3

4

5

6

7

8

9

10

删除含缺失值的样本

具体处理方法:

df.isnull()#是缺失值返回True,否则范围False

df.isnull().sum()#返回每列包含的缺失值的个数

df.dropna()#直接删除含有缺失值的行

df.dropna(axis = 1)#直接删除含有缺失值的列

df.dropna(how = "all")#只删除全是缺失值的行

df.dropna(thresh = 4)#保留至少有4个缺失值的行

df.dropna(subset = ["C"])#删除含有缺失值的特定的列

填充缺失值

数值型数值(Numerical Data)

方法一:fillna()函数

df.fillna(0):用0填充

df.fillna(method="pad"):用前一个数值填充

df.fillna(df2.mean()):用该列均值填充

方法二:Imputer

from sklearn.preprocessing import Imputerimr = Imputer(missing_values="NaN", strategy="mean", axis=0)#均值填充缺失值imr = imr.fit(df)imputed_data = imr.transform(df.values)

1

2

3

4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值