Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从预测数据写入excel文件_Python_Pandas_Xlsxwriter_Facebook Prophet - Fatal编程技术网

Python 从预测数据写入excel文件

Python 从预测数据写入excel文件,python,pandas,xlsxwriter,facebook-prophet,Python,Pandas,Xlsxwriter,Facebook Prophet,因此,我有几个csv文件,我正在导入,然后我使用FB Prophet给我未来几个月的数据预测。我希望所有的预测要么转到不同的csv,要么都在同一个csv上。目前,它只将最后一个csv文件名写入csv,而不执行其他操作 filenames=['example1.csv','example2.csv','example3.csv'] for f in filenames: df=pd.read_csv(f) df.columns=['ds','y'] df['ds']=pd

因此,我有几个csv文件,我正在导入,然后我使用FB Prophet给我未来几个月的数据预测。我希望所有的预测要么转到不同的csv,要么都在同一个csv上。目前,它只将最后一个csv文件名写入csv,而不执行其他操作

filenames=['example1.csv','example2.csv','example3.csv']

for f in filenames:
    df=pd.read_csv(f)
    df.columns=['ds','y']
    df['ds']=pd.to_datetime(df['ds'])
    m=Prophet(seasonality_mode='multiplicative')
    m.fit(df)

    future=m.make_future_dataframe(periods=6,freq='M')
    forecast=m.predict(future)
    forecast[['ds','yhat','yhat_lower','yhat_upper']].tail()
    fig1=m.plot(forecast)
    fig2=m.plot_components(forecast)

    forecast.to_csv(f)
我希望所有预测都在一个csv上,或者为循环通过的每个文件名创建一个新的csv。

在pandas中,
。to_csv()
默认处于写入模式,但可以选择更改它。在您的示例中,在将
写入_csv()
时,您正在迭代文件名,因此在当前写入时,您将使用代码的结果覆盖当前文件。如果要将这些数据帧写入新文件,并将每个df追加到底部:

forecast.to_csv('final_data.csv', mode='a')
在pandas中,默认情况下,
.to_csv()
处于写入模式,但有一个更改该模式的选项。在您的示例中,在将
写入_csv()
时,您正在迭代文件名,因此在当前写入时,您将使用代码的结果覆盖当前文件。如果要将这些数据帧写入新文件,并将每个df追加到底部:

forecast.to_csv('final_data.csv', mode='a')
您可以使用.to_csv()和mode=“a”来完成任务,也可以在附加模式下打开文件并使用to_csv()对其进行写入

在附加模式下使用.to_csv()

df.to_csv("file_name.csv", mode="a")
在附加模式下打开文件,并使用to_csv写入文件。

with open("filename.csv", 'a') as file:
    df.to_csv(file, header=False)
您可以使用.to_csv()和mode=“a”来完成任务,也可以在附加模式下打开文件并使用to_csv()对其进行写入

在附加模式下使用.to_csv()

df.to_csv("file_name.csv", mode="a")
在附加模式下打开文件,并使用to_csv写入文件。

with open("filename.csv", 'a') as file:
    df.to_csv(file, header=False)

@d_d_kennetz:当数据框中存在多个子组,并且需要在csv或Excel文件中输出多个表格/工作表(带有组名)时,应如何处理?请参阅:@d_d_kennetz:当数据框中存在多个子组,并且需要在csv或Excel文件中输出多个带有组名的选项卡/工作表时,应如何处理?见: