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

如何使用Pandas将DataFrame单行拆分为两行日期数据?

需求实现方案

当然可以实现!这在Pandas里属于典型的行列转换操作,我给你一步步拆解具体怎么做:

1. 先构造原始DataFrame(模拟你给出的数据源)

首先我们先把你描述的表格用代码还原出来,方便后续操作:

import pandas as pd

# 模拟你提供的原始DataFrame
df = pd.DataFrame({
    0: ["Period Description Start Date End Date"],
    1: ["8/1/2015 7/31/2016"],
    2: ["8/1/2016 7/31/2017"],
    3: ["8/1/2017 7/31/2018"]
})

2. 核心处理步骤

接下来我们对数据进行拆分和重组:

# 提取原始的那一行数据
original_row = df.iloc[0]

# 对列1到列3的日期字符串进行拆分,按空格分成开始日期和结束日期两部分
split_dates = original_row[1:].str.split(expand=True)

# 构造最终的DataFrame:设置行索引为"Start Date"和"End Date",列沿用原列1、2、3
result_df = pd.DataFrame(
    split_dates.values.T,  # 转置数据,让拆分后的日期对应到正确的行
    index=["Start Date", "End Date"],
    columns=original_row.index[1:]
)

3. 最终效果

运行完上面的代码后,result_df就是你想要的结果:

1          2          3
Start Date  8/1/2015  8/1/2016  8/1/2017
End Date    7/31/2016 7/31/2017 7/31/2018

简单解释下逻辑:我们先把每一列的日期字符串拆成两个部分,然后通过转置操作把拆分后的开始/结束日期分别对应到两行,最后给行加上你需要的标识即可,完全去掉了"Period Description"文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 10:22:58