python可以做多重填补嘛

Python011

python可以做多重填补嘛,第1张

提供了缺失数据多重插补处理方法的算法。用于大数据挖掘,数学建模领域。 多重插补。

多重填补法效果较好在各种类型的数据都可以胜任,甚至缺失率达50%的资料。

1、对数据进行排序df.sort_values()

#读取数据

titanic_survival=pd.read_csv(r"C:Userspythonwandata_minepython_pandas itanic_train.csv")

#用sort_values()函数对指定列排序,默认升序排序,inplace=True表示在原来的df上排序titanic_survival.sort_values(("Age"),inplace=Tru

2、缺失值判断及统计pandas.isnull()、pandas.isnull

空值统计方法一:df.isnull().sum():

#当不指定具体列时,统计整个df的缺失值个数

titanic_survival['Age'].isnull().sum()

通过len()函数统计缺失值

3、缺失值处理

处理缺失值可以分为两类:删除缺失值和缺失值插补。而缺失值插补又分为以下几种:

均值/中位数/众数插补

使用固定值(将缺失值的属性用一个常量代替)

最近邻插补(在记录中找到与缺失值样本最接近的样本的该属性插补)

回归方法(对带有缺失值的变量,根据已有数据和与其有关的其他变量建立拟合模型来预测缺失值)

插值法(利用已知点建立合适的插值函数f(x),未知值由对应点xi求出来近似代替)

下面,我们主要讨论删除缺失值,学习一些pandas缺失值删除的操作。

1)df.dropna(),舍弃含有任意缺失值的行

#等价于titanic_survival.dropna(axis=0) axis=0表示删除行,axis=1表示删除列

dropall=titanic_survival.dropna()

删除含任意空值的行

2)df.dropna()函数删除某个列中含有空值的行

现在这个数据中age、cabin、embarked都有缺失值,如果我们直接使用df.dropna()会删除掉这三列中都有空值的所有行,但是我们希望只删除age列中有空值的数据,那该如何处理呢?

直接使用df.dropna(subset=['column_list'])

drop_age_null=titanic_survival.dropna(subset=["Age"])

删除指定列中含有缺失值的行

pandas自定义函数