Python ValueError:在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

我得到一个错误值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         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']))]
?@jezrael
print(df[np.isinf(df['x']))]
显示
空数据框列:[x,test1,test2,test3,d]索引:[]
@Alex我添加了我的代码,如果你知道什么,请帮助我分享你的数据集的一部分,并编码你如何检查它
print(df[np.isinf(df['x']))
?@jezrael
print(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)
upper
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值的行。