在使用python里的pandas库进行数据分析工作时,很多时候我们都会遇到这样一个问题:数据缺失。这也是大部分数据分析工作所会遇到的之一。而正确处理缺失值,也是我们在数据分析中数据预处理环节的关键的一环。
在之前的文章中,我们也介绍过关于缺失值填充的一些小技巧:侦探L:如何处理Pandas里的缺失值(入门篇2)zhuanlan.zhihu.com
今天我们继续讲讲填补缺失值的其它方法。
今天的主角:常用的机器学习库——sklearn库
设计的知识点:sklearn中,关于缺失值填充的impute.SimpleImputer类
sklearn中,随机森林回归(RandomForestRegressor)填补缺失值
一、impute.SimpleImputer基本介绍
1、类体及主要参数:
sklearn.impute.SimpleImputer (missing_values=nan, strategy=’mean’, fill_value=None, verbose=0,copy=True)
它包括四个重要参数:
2、使用方法:
实例化(和类一样)
二、举例说明
首先我们还是先创建实验用的数据表:
import pandas as pd
import numpy as np
df = pd.DataFrame([[np.nan, 2, np.nan, 0],
[3, 4, np.nan, 1],
[np.nan, np.nan, np.nan, 5],
[np.nan, 3, np.nan, 4]],
columns=list('ABCD'))
df
之后,导入我们的impute.SimpleImputer:
from sklearn.impute import SimpleImputer
PS:使用impute.SimpleImputer类进行缺失值填充前,我们先需要将其实例化。
(1)我们先尝试对整个DataFrame进行处理,这里我们用的是均值:<