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

如何按日期及固定时段拆分带DateTimeIndex的大Python DataFrame

处理步骤及代码示例

1. 先筛选出所有符合时段要求的数据

Pandas的between_time()方法专门用来处理DateTimeIndex的时间范围筛选,一步就能把所有日期的9:45-10:30数据挑出来:

# 假设你的大DataFrame名为df,索引已为DateTimeIndex
filtered_df = df.between_time(start_time='09:45', end_time='10:30')

2. 按日期拆分并命名小DataFrame

用groupby()按索引的日期部分分组,然后遍历每个分组,给每个小DataFrame加上指定格式的名称,并存入字典方便后续调用:

# 创建一个字典来存储拆分后的小DataFrame
daily_dataframes = {}

# 按索引的日期分组(index.date会提取出YYYY-MM-DD的日期对象)
for date_obj, daily_group in filtered_df.groupby(filtered_df.index.date):
    # 把日期对象格式化为字符串,比如'2022-09-15'
    date_str = date_obj.strftime('%Y-%m-%d')
    # 生成指定格式的名称
    df_key = f"XXX-{date_str}"
    # 将当前日期的分组存入字典
    daily_dataframes[df_key] = daily_group

3. 调用小DataFrame的方式

之后你可以通过字典的键直接获取对应日期的小DataFrame,比如:

# 获取2022年9月15日的小DataFrame
sep15_df = daily_dataframes['XXX-2022-09-15']

补充说明

  • 如果某天没有9:45-10:30的数据(比如周末、节假日无记录),groupby()会自动跳过该日期,不会生成空的DataFrame。
  • 若你的索引还不是DateTimeIndex,先执行这一步转换:
df.index = pd.to_datetime(df.index)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 22:35:14