将熊猫df保存到几个不同的CSV文件中

这是一些将生成一些随机时间序列数据的代码。最终,我试图将每天的数据保存到单独的CSV文件中...


import pandas as pd 

import numpy as np 

from numpy.random import randint 


np.random.seed(10)  # added for reproductibility                                                                                                                                                                 


rng = pd.date_range('10/9/2018 00:00', periods=1000, freq='1H') 

df = pd.DataFrame({'Random_Number':randint(1, 100, 1000)}, index=rng)

我可以用这个打印每天的数据:


for idx, days in df.groupby(df.index.date):

    print(days)

但是,如何将保存的单个CSV文件合并到一个目录中,每个文件都以第一个时间戳条目月份和日期命名?(下面的代码不起作用)csv


for idx, days in df.groupby(df.index.date):

    for day in days:

        df2 = pd.DataFrame(list(day))

        month_num = df.index.month[0]

        day_num = df.index.day[0]


        df2.to_csv('/csv/' + f'{month_num}' + '_' + f'{day_num}' + '.csv')


慕娘9325324
浏览 112回答 1
1回答

撒科打诨

您可以遍历所有可用天数,过滤数据帧,然后保存。# iterate over all available days for date in set(df.index.date):      # filter your dataframe        filtered_df = df.loc[df.index.date == date].copy()    # save it    filename = date.strftime('%m_%d')  # filename represented as 'month_day'    filtered_df.to_csv(f"./csv/{filename}.csv")  
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python