如何按日期拆分单个DataFrame生成多个日维度DataFrame?
按日期拆分Pandas DataFrame的解决方案
你完全不需要用聚合操作——groupby本身就可以直接获取每个日期对应的完整子DataFrame,只要遍历分组对象就行。
具体实现步骤
- 按
Date列分组得到分组对象 - 遍历分组对象,每个分组就是对应日期的子DataFrame,自动保留
Hour和Information列
代码示例
import pandas as pd # 构造示例DataFrame data = { 'Date': ['2024-01-01', '2024-01-01', '2024-01-02', '2024-01-02'], 'Hour': [8, 14, 9, 15], 'Information': ['info1', 'info2', 'info3', 'info4'] } df = pd.DataFrame(data) # 按Date分组并拆分,用字典存储每个日期的子DataFrame date_dfs = {} for date_key, sub_df in df.groupby('Date'): # 子DataFrame默认保留所有列,若想移除Date列可加:sub_df = sub_df.drop('Date', axis=1) date_dfs[date_key] = sub_df # 快速访问某一日期的DataFrame print(date_dfs['2024-01-01'])
关键说明
df.groupby('Date')返回的DataFrameGroupBy对象,遍历后会得到分组键(日期值)和对应分组的完整DataFrame- 子DataFrame完全保留原数据的结构,不需要额外做列筛选操作
- 用字典存储子DataFrame是最便捷的方式,后续可通过日期键快速调取对应数据集
内容的提问来源于stack exchange,提问作者pedlobs
相关产品推荐
相关产品推荐

