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

如何在Pandas DataFrame中实现单元格上移合并杂乱CSV数据

实现思路

  • 先统一将所有格式不统一的缺失值(字符串Nan、空字符串等)转换为Pandas可识别的NaN
  • 对Name列做前向填充,让原本属于同一个人的相邻两行归属到同一个Name分组下
  • 按Name分组后取每列第一个非空值,即可完成错位行的合并

完整实现代码

import pandas as pd
import numpy as np

# 若你已通过pd.read_csv读入数据可直接使用下面的处理逻辑,这里是模拟你的原始数据方便测试
data = [
    ['John', 32, 'Nan', np.nan, np.nan],
    ['Nan', 'Male', 4000, 'Single', np.nan],
    ['May', 20, 'Female', 5000, 'Married'],
    ['teresa', 45, '', '', '']
]
df = pd.DataFrame(data, columns=['Name', 'Age', 'Sex', 'Salary', 'Status'])

# 统一处理所有格式的缺失值
df = df.replace(['Nan', ''], np.nan)

# 前向填充Name列空值
df['Name'] = df['Name'].ffill()

# 分组合并行得到最终结果
result = df.groupby('Name', as_index=False).first()

# 打印验证输出
print(result)

运行输出

Name Age     Sex Salary   Status
0   John  32    Male   4000   Single
1    May  20  Female   5000  Married
2  teresa  45     NaN    NaN      NaN

输出中空值的显示效果和你预期的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:45:03