Python处理缺失值

来源:互联网 发布:51单片机简易电子琴 编辑:程序博客网 时间:2024/05/22 17:29

首先创建具有缺失值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))

删除含缺失值的样本

具体处理方法:

  • 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)
原创粉丝点击