您的位置:首页 > 编程语言 > Python开发

Python处理缺失值

2017-07-13 14:46 162 查看
首先创建具有缺失值
NaN
(
Not A Number
)的
CSV
(
comma-separated values
)文件:

import pandas as pd
from io import StringIO
csv_data = '''A,B,C,D
1.0,2.0,3.0,4.0
5.0,6.0,,8.0
0.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))


删除含缺失值的样本

具体处理方法:

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 Imputer
imr = Imputer(missing_values='NaN', strategy='mean', axis=0)#均值填充缺失值
imr = imr.fit(df)
imputed_data = imr.transform(df.values)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 缺失值