如何按dataframe的date列取值拆分生成以对应日期命名的新dataframe
按日期拆分Pandas DataFrame通用解决方案
方案1:将拆分结果存入字典(推荐)
该方案不会污染全局命名空间,后续批量处理所有子DataFrame更方便:
import pandas as pd # 假设原始DataFrame名为df # 按date列分组 date_group = df.groupby("date") # 生成key为指定格式名称、value为对应子DataFrame的字典 df_dict = {f"df_{date_str.replace('-', '')}": group for date_str, group in date_group}
使用示例:直接通过字典key取值即可获取对应日期的DataFrame
# 获取2021-07-17对应的DataFrame df_20210717 = df_dict["df_20210717"]
方案2:直接生成全局独立变量
该方案可以直接生成你要求的df_YYYYMMDD格式命名的独立DataFrame:
for date_str, group in df.groupby("date"): var_name = f"df_{date_str.replace('-', '')}" # 将子DataFrame写入全局变量 globals()[var_name] = group
运行完成后可直接调用df_20210717、df_20210812等变量。
兼容说明
如果你的date列是datetime64类型而非字符串,将上述代码中生成变量名的部分替换为以下格式即可:
# datetime类型日期转YYYYMMDD格式字符串 var_name = f"df_{date_str.strftime('%Y%m%d')}"
内容的提问来源于stack exchange,提问作者TomasC8
相关产品推荐
相关产品推荐

