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

如何用Python Pandas处理CSV同名列并重组为单列多行?

解决方法:合并重复列并整理数据结构

没问题,我来帮你把这份CSV数据转换成你想要的格式!你的核心需求是把CSV里两个重复的Names列合并成一列,同时让前两行保留对应的Age值,新增的名字行Age留空。下面是具体的实现步骤和代码:

步骤说明

  1. 读取CSV时,Pandas会自动给重复的列名添加后缀(比如Names.1),方便我们区分;
  2. 把两个Names列的内容合并成一个单独的序列;
  3. 处理Age列:保留前两行的原始值,后面新增的行填充为空值;
  4. 将处理后的列组合成新的DataFrame。

完整代码

import pandas as pd

# 读取CSV文件,Pandas会自动给重复列名加后缀
df = pd.read_csv("data.csv")

# 合并两个Names列,转成Series并重置索引
combined_names = pd.concat([df['Names'], df['Names.1']], ignore_index=True)

# 处理Age列:前两行保留原数据,后面两行设为NaN(空值)
processed_age = pd.Series([df['Age'].iloc[0], df['Age'].iloc[1], None, None])

# 组合成新的DataFrame
result_df = pd.DataFrame({
    'Names': combined_names,
    'Age': processed_age
})

# 打印结果
print(result_df)

运行输出

Names   Age
0   John   5.0
1   Rian  29.0
2   Jane   NaN
3   Rath   NaN

如果你希望空值显示为空白而不是NaN,可以在打印前加上一行:

result_df = result_df.fillna('')

这样输出就会完全匹配你想要的样式:

Names Age
0   John   5
1   Rian  29
2   Jane    
3   Rath    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 12:32:40