ValueError:输入包含NaN、无穷大或对数据类型('float64')太大的值。如何处理这个错误?

2024-09-28 21:15:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在dataset first中,我使用均值策略将所有缺失值替换为插补类,但它已将其替换为dataset中的大值,这导致了此错误。这个问题的解决方案是什么,或者如何将值四舍五入到小数点后2位。因为数据集包含浮点值,所以将它们四舍五入到小数点后2或3位对我来说是可行的

代码:

import numpy as np
import pandas as pd
import matplotlib as plt


df=pd.read_csv("C:/Users/asus/Desktop/Life Expectancy Data.csv")
X=df.iloc[:, 4:].values
Y=df.iloc[:,3:4].values

from sklearn.impute import SimpleImputer
imputer=SimpleImputer(missing_values=np.nan,strategy='mean')
imputer.fit(X)
X=imputer.transform(X)

from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=0)

from sklearn.linear_model import LinearRegression
reg=LinearRegression()
reg.fit(X_train,Y_train)

Tags: csvfromtestimportdfasnptrain
1条回答
网友
1楼 · 发布于 2024-09-28 21:15:41
X_train.replace([np.inf, -np.inf], np.nan, inplace=True)

使用上面的

然后将空值替换为

X_train.fillna(999, inplace=True)

X_train.fillna(X_train.mean(), inplace=True)

相关问题 更多 >