为了账号安全,请及时绑定邮箱和手机立即绑定

ValueError:在 x 列中找到无穷大

ValueError:在 x 列中找到无穷大

偶然的你 2021-05-30 14:43:01
我收到错误 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")


查看完整回答
反对 回复 2021-06-01
  • 1 回答
  • 0 关注
  • 376 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信