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

寻找更优的pandas DataFrame按分钟切片迭代处理方法

你使用的自定义函数完全可以和groupby搭配使用,只要函数满足「输入为Series、输出为单个标量」的要求,就可以直接传给agg方法,无需手动写循环切片,优化后的实现如下:

基础实现(仅返回有数据的分钟结果)

# 按秒数生成分组标签:1-60秒归为第0组,61-120秒归为第1组,直到541-600秒归为第9组,共10个分组
output = df.groupby((df['seconds'] - 1) // 60)['input'].agg(realized_volatility).tolist()

补全空分钟的实现(无数据的分钟对应位置填充nan)

如果需要保证output固定为10个元素,哪怕某分钟没有任何数据也保留对应位置的空缺值,可以增加reindex步骤:

import numpy as np
output = (
    df.groupby((df['seconds'] - 1) // 60)['input']
    .agg(realized_volatility)
    .reindex(range(10), fill_value=np.nan)
    .tolist()
)

优势说明

  • 代码更简洁,无需手动维护切片变量和循环逻辑
  • 性能远高于手动循环切片,groupby底层为向量化实现,数据量越大优势越明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:21:03