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

Python按日期时间分割DataFrame时间序列列的实现方法

报错原因

你写的切片代码触发SyntaxError的直接原因是切片区间内的时间值没有加字符串引号,Python会把2022-04-01 11:52:39+00:00识别为算术表达式,碰到04这类带前导零的数字就会抛出对应错误,和pandas的时间序列逻辑无关。

基础修复:单段时间切片正确写法

pandas的DatetimeIndex原生支持字符串形式的时间范围切片,只要给时间值加上引号、和原索引的时区格式匹配即可,正确写法如下:

# 时间字符串两端加单/双引号即可
TS_1 = DF['Column_Name']['2022-04-01 11:52:39+00:00':'2022-04-01 23:57:39+00:00']

如果你的索引已经是pandas识别的标准datetime类型,不需要写完整时间戳,直接传日期字符串就能取对应全天的数据,比如DF['Column_Name']['2022-04-01']就可以拿到4月1日的所有记录。

批量拆分前先确认索引类型,如果当前索引是字符串格式,先跑这行代码转成标准时间索引:

import pandas as pd
# 转换为匹配你现有格式的带UTC时区的时间索引
DF.index = pd.to_datetime(DF.index, utc=True)
批量拆分时间序列方案

两种常用实现可以按需选择,支持任意拆分粒度,不需要手动计算每段的起止时间。

  • 自定义拆分间隔只需要修改freq参数即可:D代表天、W代表周、H代表小时,比如3D就是3天一段、12H就是12小时一段。

方案1:字典存储独立序列(推荐)

每个分段是独立的Series对象,用分段标识作为key,不会因为不同分段的时间点不一致产生冗余NaN值,灵活度最高:

# 按日拆分示例
daily_series = {}
for date, segment_df in DF.groupby(DF.index.date):
    daily_series[date] = segment_df['Column_Name'].copy()

# 按周拆分示例(每周一为周起始点)
weekly_series = {}
for week_mark, segment_df in DF.groupby(pd.Grouper(freq='W-MON')):
    if len(segment_df) == 0:
        continue
    weekly_series[week_mark.date()] = segment_df['Column_Name'].copy()

# 调用方法:直接按key取对应分段即可
# ts_0401 = daily_series[pd.to_datetime('2022-04-01').date()]

方案2:拆分结果合并为新DataFrame

每个时间分段对应新表的一列,适合需要横向对比不同分段数据的场景,会自动按索引对齐不同分段的时间点,缺失位置填充NaN:

# 按日拆分示例:按日内时分秒对齐不同日期的序列
daily_split_df = pd.DataFrame()
for date, segment_df in DF.groupby(DF.index.date):
    seg = segment_df['Column_Name'].copy()
    # 索引替换为当日的时分秒,作为跨日期对齐的依据
    seg.index = seg.index.time
    daily_split_df[str(date)] = seg

# 按周拆分示例:按周内时间偏移对齐不同周的序列
weekly_split_df = pd.DataFrame()
for week_mark, segment_df in DF.groupby(pd.Grouper(freq='W-MON')):
    if len(segment_df) == 0:
        continue
    seg = segment_df['Column_Name'].copy()
    # 索引替换为距本周第一个数据点的时间差,作为跨周对齐的依据
    seg.index = seg.index - seg.index.min()
    weekly_split_df[f'week_{week_mark.date()}'] = seg

注意:如果拆分后需要做时序统计、建模类操作,优先选方案1,独立序列不会被对齐操作引入的NaN干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 09:51:16