You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问pandas groupby分组获取单个分组的DataFrame对象

正确实现方案

你原有遍历代码的核心问题是:迭代DataFrameGroupBy对象时,每一轮返回的是**(分组键, 分组对应子DataFrame)** 的二元元组,而非单个分组对象,也不存在toDataFrame()这类转换方法。
你原本的按天分组逻辑完全正确,不需要修改,只需要调整遍历的接收逻辑即可,不需要做聚合操作也能正常拆分出每个天的独立子表。

可直接运行的代码

# 原有分组逻辑保持不变
grouping = df.groupby(pd.Grouper(level="timestamp", freq="D"))

# 修正后的遍历逻辑
for date_key, daily_df in grouping:
    # daily_df 就是对应日期下、保留原10分钟频率时间戳索引的独立DataFrame
    # 直接传入你的处理函数即可
    some_processing(daily_df)

额外实用技巧

  • 如果需要直接获取指定某一天的分组数据,不需要遍历全部分组,调用get_group()方法即可:
    # 例如获取2024年6月1日的子DataFrame
    target_df = grouping.get_group(pd.Timestamp("2024-06-01"))
    
  • groupby本身是惰性计算的,执行分组语句时不会立刻把所有子表加载到内存,只有遍历或者调用取数组方法时才会生成对应子DataFrame,处理你提到的数周跨度10分钟粒度数据时内存占用很低。
  • 如果你需要把所有分组的子DataFrame一次性存成列表,可以直接写all_daily_groups = [g for _, g in grouping],列表里的每个元素就是按天拆分的独立DataFrame。

内容的提问来源于stack exchange,提问作者Ulrich Schuster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:36:23