在數據集中,我首先使用均值策略將所有缺失值替換為輸入類,但它已將其替換為數據集中的大值,這導致了此錯誤。這個問題的解決方案是什么,或者我如何將值四舍五入到小數點后兩位。由于數據集包含浮點值,因此將它們四舍五入到小數點后 2 位或 3 位對我來說是可行的。代碼 :import numpy as npimport pandas as pdimport matplotlib as pltdf=pd.read_csv("C:/Users/asus/Desktop/Life Expectancy Data.csv")X=df.iloc[:, 4:].valuesY=df.iloc[:,3:4].valuesfrom sklearn.impute import SimpleImputerimputer=SimpleImputer(missing_values=np.nan,strategy='mean')imputer.fit(X)X=imputer.transform(X)from sklearn.model_selection import train_test_splitX_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=0)from sklearn.linear_model import LinearRegressionreg=LinearRegression()reg.fit(X_train,Y_train)
1 回答

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
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)
添加回答
舉報
0/150
提交
取消