Pandas concat拼接后重复列数据合并方案咨询
解决Pandas concat后同名列值分散合并问题
- 处理前提:无需修改历史concat拼接逻辑,仅对拼接完成后的DataFrame做二次处理
- 核心思路:将空值统一格式后,对同名列按行合并非空有效值
实现代码
import pandas as pd import numpy as np # df为你执行concat操作后得到的原始DataFrame # 1. 先将空字符串替换为NaN,避免非标准空值识别错误 df = df.replace('', np.nan) # 2. 按列名分组,逐行取每组第一个非空值,完成同名列合并 result = df.groupby(level=0, axis=1).first()
效果说明
groupby(level=0, axis=1)会自动将列名相同的列归为同一组,first()方法会跳过NaN值,自动取每组每行的有效非空值,最终得到列名唯一、值合并完成的目标DataFrame,完全匹配你给出的示例输出要求。
内容的提问来源于stack exchange,提问作者Zanam
相关产品推荐
相关产品推荐

