如何解决数据预处理:遗漏值,错误值
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
#importing
dataset = pd.read_csv("Data.csv")
x = dataset.iloc[:,0:3].values
y = dataset.iloc[:,3].values
#missingdata
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values='0',strategy='mean')
imputer = imputer.fit(x[:,1:3])
x[:,1:3] = imputer.transform(x[:,1:3])
ValueError:输入包含NaN,无穷大或对于dtype('float64')而言太大的值。
解决方法
您需要检查输入数据值。通常,它具有需要处理的NaN值。您可以通过检查所有列中的所有唯一值来进行检查。您可以专门从数据框中删除NaN。请参阅How to drop rows of Pandas DataFrame whose value in a certain column is NaN
,如果数据集中包含NaN值,则可以将其替换为零,例如下面的示例。如果要替换现有DataFrame中的值,而不是用替换值返回新值,则可以设置inplace=True
。
x.fillna(0,inplace=True)
This是官方文档,您可以在其中找到更多信息。
,imputer = SimpleImputer(missing_values = np.nan,strategy = 'mean' ) # using the simputer
imputer = imputer.fit(X[:,1:3]) # fiting the imputer in the x dataset
X[:,1:3] = imputer.transform(X[:,1:3]) # transforming the imputer in the x dataset
missing_values = np.nan
勾选粗体
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。