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

Pandas如何按固定大小拆分DataFrame窗口并保留起止日期信息

实现方案

Pandas 没有直接匹配该需求的内置函数,你可以通过索引分组聚合的方式快速实现,代码如下:

import pandas as pd

# 假设原始数据已存入变量df,首先确保Date列为datetime类型
df['Date'] = pd.to_datetime(df['Date'])
n = 4  # 可变窗口大小,可根据需求调整

# 可选:若要舍弃最后不足n条的不完整窗口,放开下面一行代码
# df = df.iloc[:len(df) // n * n]

# 生成无重叠窗口的分组键
group_key = df.index // n

# 聚合得到目标结构的DataFrame
result = df.groupby(group_key).agg(
    date_start=('Date', 'first'),
    date_end=('Date', 'last'),
    power=('Power', list)
).reset_index(drop=True)

注意事项

  • 执行前请确保原始DataFrame已按Date列升序排序,若未排序可先执行df = df.sort_values('Date').reset_index(drop=True)再运行上述代码
  • 方法时间复杂度为O(N),百万级数据量也可高效运行
  • 最终输出的result结构完全匹配你给出的示例要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:15:03