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

Pandas技术问题:如何处理子列并将其与行合并?

解决DataFrame时间序列格式转换方案

操作步骤(基于Pandas)

假设你的初始DataFrame结构为:包含Date(日期列)、Category(类别列)、Value(数值列),目标是转为日期为索引、类别为列的时间序列宽表,同时补全缺失日期。

  1. 转换日期类型并转宽表
    先确保日期列是datetime格式,再用pivot把长表转宽表:

    import pandas as pd
    
    # 转换日期列类型
    df['Date'] = pd.to_datetime(df['Date'])
    # 转宽表,缺失值补0(可根据需求换成pd.NA保留空值)
    wide_df = df.pivot(index='Date', columns='Category', values='Value').fillna(0)
    
  2. 补全连续时间序列
    生成完整的日期范围,重新索引补全缺失日期:

    # 生成从最早到最晚日期的连续日序列(freq='D'按天,按需换'M'月/'H'小时等)
    full_dates = pd.date_range(start=wide_df.index.min(), end=wide_df.index.max(), freq='D')
    # 重新索引补全日期,缺失值补0
    final_df = wide_df.reindex(full_dates).fillna(0)
    

补充说明

  • 如果初始数据的日期频率不是天,修改freq参数即可(比如月度数据用freq='MS'表示每月初)
  • 若不需要补全日期,仅转换为宽表格式,执行第一步操作即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:20:23