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

如何按HH列唯一值循环提取各分组最后10分钟的价格数据?

解决分组提取最后10分钟数据的问题

你的代码核心问题是没按HH的唯一值筛选对应分组,循环里每次都直接对整个数据集调用last("10min"),所以得到的全是整体数据的最后10分钟,不是目标分组的。下面给两种可行的解决办法:

方法一:修正原有循环逻辑

先筛选出当前HH对应的子数据集,再提取该分组的最后10分钟数据:

dfs = []
for i in UK_Trades["HH"].unique():
    # 先筛选HH等于当前i的分组数据
    group_data = UK_Trades[UK_Trades["HH"] == i]
    # 提取该分组的最后10分钟数据
    df_i = group_data.last("10min")
    dfs.append(df_i.copy())

方法二:用groupby高效处理

直接借助pandas的分组功能,不用手动写循环,代码更简洁:

# 按HH分组,对每个分组应用last("10min")提取最后10分钟数据
result = UK_Trades.groupby("HH").apply(lambda x: x.last("10min"))
# 若需要拆成列表形式,直接转换即可
dfs = list(result.groupby("HH"))

补充注意事项

  • 确保你的Datetime列已经设为正确的datetime类型索引,如果还没设置,先执行UK_Trades = UK_Trades.set_index("Datetime")
  • 如果某个HH分组的时间跨度不足10分钟,last("10min")会返回该分组的全部数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:11:11