Python缺失值处理

2025-10-19 05:02:28

1、导入需要的库。

import pandas as pd

import numpy as np

from sklearn.preprocessing import Imputer

Python缺失值处理

2、生成缺失数据。

data=pd.DataFrame({'name':['Kite','Lily','Hanmei','Danny','Bob'],'English':[92,78,np.nan,23,82],'Math':[69,87,91,np.nan,90],'Chinese':[np.nan,78,96,np.nan,75]})

print(data)

Python缺失值处理

3、查看缺失值。

data.isnull()#查看所有缺失值

data.isnull().any()#获取含有缺失值的列

data.isnull().all()#获取全部为NA的列

Python缺失值处理

Python缺失值处理

4、删除缺失值。这种处理方式丢失的信息比较多。

data2=data.dropna()

print(data2)

可以看到,删除后,仅剩两行数据。

Python缺失值处理

5、利用sklearn替换缺失值。当缺失值为数值型数据时,可用利用均值来替换。

data.index=data['name']#将第一列作为索引data=data.drop(['name'],axis=1)#删除第一列

nan_model=Imputer(missing_values='NaN',strategy='mean',axis=0)#按照行均值替换对应缺失值。

nan_result=nan_model.fit_transform(data)

print(nan_result)

Python缺失值处理

6、利用pandas替换缺失值。

data.fillna(0) #缺失值用0替换(考试中缺考记0分)

data.fillna(method='pad')#用前面的值替换

data.fillna(method='backfill')#用后面的值替换

可以看到,当第一行有缺失值时,利用向前替换是会失败的。

Python缺失值处理

Python缺失值处理

Python缺失值处理

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢