ValueError:在x列中找到无穷大

时间:2018-08-22 07:55:13

标签: python pandas numpy

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

1 个答案:

答案 0 :(得分:0)

因此,您需要从DataFrame中删除infinity值。可以这样完成:

DataFrame.replace([np.inf, -np.inf], np.nan)

infinity的值替换为NaN时,可以通过dropna将其从DataFrame中删除:

DataFrame.dropna(subset=["YourColumn"], how="all")