Python ValueError:在x列中发现无穷大
我得到一个错误值error:在x列中找到无穷大。 追溯说Python ValueError:在x列中发现无穷大,python,pandas,numpy,Python,Pandas,Numpy,我得到一个错误值error:在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
---> 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()
因此,您需要从数据帧中删除
无穷
值。可以这样做:
DataFrame.replace([np.inf, -np.inf], np.nan)
当您将infinity
值替换为NaN
时,您可以通过dropna
将其从数据帧中删除:
DataFrame.dropna(subset=["YourColumn"], how="all")
因此,您需要从数据帧中删除
无穷
值。可以这样做:
DataFrame.replace([np.inf, -np.inf], np.nan)
当您将infinity
值替换为NaN
时,您可以通过dropna
将其从数据帧中删除:
DataFrame.dropna(subset=["YourColumn"], how="all")
请分享你的数据集的一部分并编码你如何检查它
print(df[np.isinf(df['x']))]
?@jezraelprint(df[np.isinf(df['x']))]
显示空数据框列:[x,test1,test2,test3,d]索引:[]
@Alex我添加了我的代码,如果你知道什么,请帮助我分享你的数据集的一部分,并编码你如何检查它print(df[np.isinf(df['x']))
?@jezraelprint(df[np.isinf(df['x']))
显示空数据框列:[x,test1,test2,test3,d]索引:[/code>@Alex我添加了我的代码,如果你知道什么,请帮我想想。我添加了你的代码df.replace([np.inf,-.np.inf],np.nan)
上面的model.fit(df)
,但同样的错误也发生了。我重写了df['x']=df['x']。替换([np.inf,-np.inf],np.nan)
so ValueError:Dataframe的非nan行少于2行。发生。我的代码出了什么问题?我应该如何解决这个问题?@user10102827在将无穷大值替换为NaN后,您需要通过DataFrame.dropna(subset=[“YourColumn1”,“YourColumn2”],How=“all”)
删除带有NaN值的行。谢谢。我添加了您的代码df.replace([np.inf,-.inf],np.NaN)
uppermodel.fit(df)
,,但同样的错误也发生了。我重写了df['x']=df['x']。替换([np.inf,-np.inf],np.nan)
so ValueError:Dataframe的非nan行少于2行。发生。我的代码中有什么错误?我应该如何解决此问题?@user10102827将无穷大值替换为NaN后,需要通过DataFrame.dropna(subset=[“YourColumn1”,“YourColumn2”],How=“all”)删除带有NaN值的行。