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

如何用groupby按ticker和日期分组OHLC分钟数据?

按Ticker和日期分组的正确方法

方法一:直接用pd.Grouper针对索引分组

因为你的DataFrame索引是datetime类型,直接通过level参数指定索引,同时结合ticker列分组:

grouped = df.groupby(['ticker', pd.Grouper(level=0, freq='1D')])

如果你的索引是多级索引,把level=0改成对应datetime所在的层级编号即可。

方法二:提取日期为新列后分组

先从datetime索引中提取日期生成新列,再按ticker和新列分组,逻辑更直观:

# 从索引提取日期,生成新列
df['trade_date'] = df.index.date
# 按股票代码和日期分组
grouped = df.groupby(['ticker', 'trade_date'])

之前报错的原因说明

  1. 第一种方法用key='index'报错:pd.Grouper的key参数是指定DataFrame列名,但你的datetime是索引不是列,所以找不到对应列,触发KeyError。
  2. 第二种方法用key=df.index报错:key参数不接受数组类型输入,直接传索引数组会触发逻辑判断歧义的ValueError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:50:38