【问题标题】:How to merge rows using pandas if they have duplicate values?如果它们具有重复值,如何使用熊猫合并行?
【发布时间】:2019-12-07 07:25:10
【问题描述】:

我的数据有一个具体案例,我无法在任何文档或堆栈中找到答案。

我要做的是基于“MPN”列(而不是车辆列)合并重复项。

如第一张图片所示,在很多行中都会有重复的 MPN。

我显然想删除具有相同 MPN 的重复行,但是将图 1 中所示的三行中的类别值合并到一个用冒号分隔的单元格中,如图 2 所示,这将是我想要的结果编码。

我的要求是:能够根据包含重复 MPN 的行合并和删除重复项,并将它们合并为 ONE,同时保留用冒号分隔的类别。

查看我的前后图像以更清楚地理解。

我还使用 Python 3.7 从 csv 文件对此进行编码,以逗号分隔。

之前:

重复合并后:

我该如何解决这个问题?

【问题讨论】:

  • 请考虑在您的问题中插入示例代码和所需的输出。

标签: python pandas csv duplicates


【解决方案1】:

假设 df 包含 csv 数据。 首先基于公共列(Vehicle 和 MNP)分组,并在类别列上创建和更新公共分隔字符串。

df['x'] = df.groupby(['foo','bar'])['x'].transform(lambda x: ':'.join(x))

第二次删除重复项

df.drop_duplicates()

【讨论】:

    猜你喜欢
    • 2018-12-20
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多