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

Python如何将指定时间范围的日期作为DataFrame列名添加

Pandas 实现方案

前置准备

首先确保已经安装pandas库,导入所需依赖:

import pandas as pd
from datetime import datetime

步骤1:构造初始DataFrame(你已有该步骤可跳过)

df = pd.DataFrame({'Category': ['A', 'B', 'C']})

步骤2:生成目标月度首日序列

freq='MS'参数对应生成每月首日的时间序列,可根据需求调整起止日期:

# 固定起始日期
start_date = '2021-05-01'
# 动态计算当前月首日,若需固定为示例的2021-10-01,直接赋值 end_date = '2021-10-01' 即可
end_date = datetime.today().replace(day=1).strftime('%Y-%m-%d')

# 生成格式化后的日期列名列表
date_list = pd.date_range(start=start_date, end=end_date, freq='MS').strftime('%Y-%m-%d').tolist()

步骤3:批量添加新列并调整列顺序

写法1:循环添加(易理解)

# 新列默认值可按需修改,示例用空值pd.NA,也可设置为0、空字符串等
for date_col in date_list:
    df[date_col] = pd.NA

# 调整列顺序符合要求
df = df[['Category'] + date_list]

写法2:assign批量赋值(更简洁)

# 一次性添加所有日期列
df = df.assign(**{d: pd.NA for d in date_list})
# 调整列顺序
df = df.reindex(columns=['Category'] + date_list)

最终输出示例

Category2021-05-012021-06-012021-07-012021-08-012021-09-012021-10-01
A
B
C

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:27:02