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

Python中如何根据timestamp的日期拆分生成多个dataframe

按日期拆分DataFrame实现方案
  • 第一步:转换时间列类型(若datetime列已经是pandas的datetime64类型可直接跳过)
import pandas as pd

df['datetime'] = pd.to_datetime(df['datetime'])

注意:如果数据中存在datetime为空的行,可在分组前先执行df = df.dropna(subset=['datetime'])过滤无效数据。

  • 第二步:按日期分组生成映射字典(更灵活的调用方式,直接用日期作为键即可取到对应数据)
# 生成结构为 {日期: 对应日期的DataFrame} 的字典
date_grouped = dict(tuple(df.groupby(df['datetime'].dt.date)))

# 调用示例:取2021-09-28对应的DataFrame
target_date = pd.to_datetime('2021-09-28').date()
df_20210928 = date_grouped[target_date]

该方法无需提前对时间列排序,无论原数据的timestamp是否乱序、是否连续,都会自动把同一日期下所有时分秒的行分到同一组,完全匹配你需要的当天00:00:00.001~23:59:59.999数据范围要求。

  • 可选:生成df1、df2...dfn形式的独立变量
    如果需要严格按照你要求的命名规则生成独立变量,可在上述分组操作后新增如下代码:
# 按日期升序排列后生成对应独立变量
sorted_dates = sorted(date_grouped.keys())
for idx, date in enumerate(sorted_dates, start=1):
    globals()[f'df{idx}'] = date_grouped[date]
  • 可选:验证拆分结果
for idx, date in enumerate(sorted_dates, start=1):
    temp_df = globals()[f'df{idx}']
    print(f"df{idx} 对应日期: {date}, 数据行数: {len(temp_df)}, 时间范围: {temp_df['datetime'].min()} ~ {temp_df['datetime'].max()}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:39:04