[英]Splitting several days long dataframe into half-hourly dataframes using pandas and save them as csv-files
[英]save pandas df into several different CSV files
這是一些將生成一些隨機時間序列數據的代碼。 最終,我試圖將每一天的數據保存到單獨的 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')
您可以遍歷所有可用天數,過濾數據框,然后保存。
# 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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.