pands groupby并在多个列中查找重复项

bksxznpy  于 2021-08-25  发布在  Java
关注(0)|答案(3)|浏览(322)

我有一个 Dataframe ,我想按“值包”列分组,并检查两个或更多的“值包”是否具有相同的“值”和“折扣”(副本)
我想从 Dataframe 中删除除第一次出现的重复项以外的所有重复项。
输入 Dataframe :

Value_pack    value   discount
    val 1        ADA       0
    val 2        ADB       100
    val 2        ADA       0  <---- duplicate
    val 3        ADA       50
    val 3        ADC       50
    val 4        ADV       40

输出 Dataframe :

Value_pack  value   discount
    val 1        ADA       0
    val 2        ADB       100
    val 3        ADA       50
    val 3        ADC       50
    val 4        ADV       40

df.groupby(['value\u pack'])。删除重复项(['value','折扣])
这是我到目前为止所拥有的代码,但我无法确定如何获得所需的 Dataframe 。

z3yyvxxp

z3yyvxxp1#

不需要使用 groupby . 尝试: df.drop_duplicates(subset=['value', 'discount']) . 在这里查看文档。

sulc1iza

sulc1iza2#

使用groupby,您需要从另一端着手:按价值和折扣分组,然后选择第一个价值包:

df.groupby(["value", "discount"]).first().reset_index()
cedebl8k

cedebl8k3#

您不需要为此进行分组,类似这样的操作可能会有所帮助:

df.drop_duplicates(subset = ['value', 'discount'], keep = 'first')

相关问题