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

如何在Python Pandas中将一行的部分内容拆分至新行?

解决重复列DataFrame拆分多行的问题

这问题我之前处理过类似的场景,用Pandas可以通过拆分列组+重命名+垂直拼接的思路轻松解决,我给你一步步演示具体操作:

1. 先构造你的示例DataFrame

首先我们还原你描述的重复列结构:

import pandas as pd

df = pd.DataFrame(
    [['Netflix', '5.00$', 4.1, 'Netflix', '2.00$', 3.1]],
    columns=['App_Name', 'Price', 'Rating', 'App_Name', 'Price', 'Rating']
)

此时df的结构就是你提到的重复列形式。

2. 核心处理步骤

我们的思路是把重复的列拆分成多个独立的小DataFrame(每个小DF对应一组App_Name-Price-Rating),然后把这些小DF拼接到一起:

# 定义单个数据块的列数(这里每组是3列)
chunk_size = 3

# 拆分列、重命名、拼接
result = pd.concat(
    # 遍历所有列,按chunk_size拆分出每个子块,并重命名列
    [df.iloc[:, i:i+chunk_size].set_axis(['App_Name', 'Price', 'Rating'], axis=1)
     for i in range(0, len(df.columns), chunk_size)],
    # 拼接后重置索引,避免索引重复
    ignore_index=True
)

3. 查看结果

运行后打印result就能得到你想要的结构:

App_Name  Price  Rating
0  Netflix  5.00$     4.1
1  Netflix  2.00$     3.1

扩展说明

如果你的DataFrame里列重复次数更多(比如3组、4组重复列),这个方法依然适用——只需要保证chunk_size设置为单个数据块的列数(这里是3)即可,代码不需要做其他修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:43:13