我收到错误 ValueError: 在列 x 中找到无穷大。回溯说---> 20 model.fit(df) 242 df[‘x’] = pd.to_numeric(df[‘x’]) 243 if np.isinf(df[‘x’].values).any():--> 244 raise ValueError('Found infinity in column y.') 245 df[‘d’] = pd.to_datetime(df[‘d’]) 246 if df[‘d’].isnull().any():我真的无法理解此错误消息的含义,因为我在 df 中没有无穷大数。我应该如何解决这个问题?我的代码有什么问题?我的代码是import matplotlib.pyplot as pltimport numpy as npimport pandas as pdfrom fbprophet import Prophetfor i in range(10): df = pd.read_csv('data'+ i + '.csv', encoding='shift-jis') model = Prophet() model.fit(df) future_data = model.make_future_dataframe(periods=12, freq = 'm') forecast_data = model.predict(future_data) model.plot(forecast_data) model.plot_components(forecast_data) plt.show()
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
因此,您需要infinity
从 DataFrame 中删除值。可以这样做:
DataFrame.replace([np.inf, -np.inf], np.nan)
当您将infinity
值替换NaN
为时,可以通过dropna
以下方式将其从DataFrame中删除:
DataFrame.dropna(subset=["YourColumn"], how="all")
添加回答
举报
0/150
提交
取消