ValueError:在 x 列中找到无穷大

我收到错误 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 plt

import numpy as np

import pandas as pd

from fbprophet import Prophet


for  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()


偶然的你
浏览 377回答 1
1回答

阿波罗的战车

因此,您需要infinity从 DataFrame 中删除值。可以这样做:DataFrame.replace([np.inf, -np.inf], np.nan)当您将infinity值替换NaN为时,可以通过dropna以下方式将其从DataFrame中删除:DataFrame.dropna(subset=["YourColumn"], how="all")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python