制作数据集数据过滤和数据缺失策略-pandas-sklearn

Posted qianbo_insist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作数据集数据过滤和数据缺失策略-pandas-sklearn相关的知识,希望对你有一定的参考价值。

1、 使用csv文件过滤存储

使用工具将数据集过滤分类,将csv文件另存为小文件,使用代码将文件过滤分析,示例:存储文件11.csv后,过滤column类型为heart的列取值heart
数据示例:

idcodetypevaluecreatetime
3181349XBDGW3C61055B14FCroll01/4/2022 09:41:19
3181376XBDGW3C61055B14FCheart531/4/2022 09:42:04
3191335XBDGW3C61055B14FDroll01/4/2022 16:44:34
3191336XBDGW3C61055B14ACheart1/4/2022 16:44:34
import numpy as np
import sklearn.cluster as sc
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv("11.csv")
df.query("(type=='heart')");
test = df.loc[0:40]
test.plot(kind='scatter', x="createtime", y='value')
plt.show()

数据有缺失,下面3中会使用Imputer用中位数代替

2、增加column

缺少数据column

import pandas as pd
import numpy as np
df=pd.DataFrame([["3181349","XBDGW3C61055B14FC"  , "roll", 0,"1/4/2022 09:41:19" ],
["3181350", "XBDGW3C61055B14FC", "heart", 67, np.nan],
["3181351","XBDGW3C61055B14FD" , "heart", 68, "1/4/2022 09:42:04"]])

df.columns=["id", "code", "type", "value", "createtime"]
print(df)

3、 创建Imputer器

from sklearn.preprocessing import Imputer
imp =Imputer(missing_values="NaN", strategy="mean",axis=0 )
#使用fit_transform()函数即可完成缺失值填充了
df["value"]=imp.fit_transform(df[["value"]])

处理多列

df[['value', '其他列']] = imp.fit_transform(df[['value', '其他列']])
print(df)

4、dropna(),drop,fillna()


#删除value中的无值
data.dropna(subset=["value"])
#删除无效的code列
data.drop("code", axis=1)
#使用中位数代替
median = data["value"].median()
data["value"].fillna(median)

以上是关于制作数据集数据过滤和数据缺失策略-pandas-sklearn的主要内容,如果未能解决你的问题,请参考以下文章

R语言:用R语言填补缺失的数据

使用两列值和缺失数据重塑数据集

我应该使用训练数据集的函数来处理训练数据集和测试数据集的缺失值吗

Python 数据竞赛常用 | 可视化数据集缺失情况

Python 数据竞赛常用 | 可视化数据集缺失情况

Weka 中的训练和测试集不兼容