我收到错误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()
答案 0 :(得分:0)
因此,您需要从DataFrame中删除infinity
值。可以这样完成:
DataFrame.replace([np.inf, -np.inf], np.nan)
将infinity
的值替换为NaN
时,可以通过dropna
将其从DataFrame中删除:
DataFrame.dropna(subset=["YourColumn"], how="all")