用条件在熊猫中查找重复的内容 (Python)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用条件在熊猫中查找重复的内容 (Python)相关的知识,希望对你有一定的参考价值。

我想知道以下的重复数量 article_id 对于每个 merchant_id,其中 zip_code 是不一样的。请看下面的例子。

merchant_id     article_id   zip_code 
1               4555         1000
1               4555         1003
1               4555         1002
1               3029         1000
2               7539         1005
2               7539         1005
2               7539         1002
2               1232         1006
3               5555         1000
3               5555         1001
3               5555         1002
3               5555         1003

输出表

merchant_id     count_duplicate
1                3
2                2
3                4

到目前为止,我能够返回所有重复的行--见下面的代码。

df[df.duplicated('product_id',keep=False)==True 
答案

我们可以使用 groupbynunique 然后过滤(query)只有组 > 1. nunique 代表 "唯一值的数量"。

dfn = (
    df.groupby(['merchant_id', 'article_id'])['zip_code'].nunique()
    .reset_index(name='count_duplicate')
    .query('count_duplicate > 1')
)

   merchant_id  article_id  count_duplicate
1            1        4555                3
3            2        7539                2
4            3        5555                4

以上是关于用条件在熊猫中查找重复的内容 (Python)的主要内容,如果未能解决你的问题,请参考以下文章

循环遍历熊猫中的行[重复]

在熊猫数据框中查找重复行

在python中查找匹配特定条件的重复项

在熊猫中按多个条件分组[重复]

使用熊猫在多列中应用 IF 条件 [重复]

如何使用熊猫查找重复名称?