sklearn.impute.SimpleImputer 数据填充

数据缺失值补全方法sklearn.impute.SimpleImputer

imp=SimpleImputer(missing_values=np.nan,strategy=’mean’)

创建该类的对象,missing_values,也就是缺失值是什么,一般情况下缺失值当然就是空值啦,也就是np.nan

strategy:也就是你采取什么样的策略去填充空值,总共有4种选择。分别是mean,median, most_frequent,以及constant,这是对于每一列来说的,如果是mean,则该列则由该列的均值填充。而median,则是中位数,most_frequent则是众数。需要注意的是,如果是constant,则可以将空值填充为自定义的值,这就要涉及到后面一个参数了,也就是fill_value。如果strategy=‘constant’,则填充fill_value的值。
imp.fit(df)
#df为read_csv和table读取的文件返回的变量,该方法提供中位数,均值等数据补全方法,采用什么方法补全取决于创建对象时参数strategy的参数值。如mean为均值填充
df = imp.transform(df)
#开始填充(按照每一列的内容,根据前面确定的填充方案填充该列缺少的数据)

例如:下面有的是自定义的数据填充

from sklearn.impute import SimpleImputer
import pandas as pd
import numpy as np

file = '班级作业提交情况1.csv'
df = pd.read_table(file, delimiter=',',header=None) 
imp = SimpleImputer(missing_values=np.nan, strategy='constant',fill_value='1') 
imp.fit(df)
df = imp.transform(df)
print(type(df))
print(df)

读取的文件(需要填充数据的文件)
结果为
在这里插入图片描述
通过索引查出谁没交作业

from sklearn.impute import SimpleImputer
import pandas as pd
import numpy as np

file = '班级作业提交情况1.csv'
df = pd.read_table(file, delimiter=',',header=None) 
imp = SimpleImputer(missing_values=np.nan, strategy='constant',fill_value='1') 
imp.fit(df)
df = imp.transform(df)
x = (df[:,3] == "0")
print("Second_work没交",df[x,0])
x = (df[:,4] == "0")
print("Fouth_work没交",df[x,0])

结果为
在这里插入图片描述

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值