首页 > 解决方案 > 在 DF 中删除特定值的重复项

问题描述

在数据框中,尝试删除重复项,尽管仅针对特定值,在排序后例如 DF 看起来像

Fruit   value
apple   1
orange  2
pear    1
pear    2
pear    3

我只想在值为 pear 时删除重复项,保留 pear 的最高值。

我已将当前的 DF 拆分为 2:1.苹果和橙子 - DF1 2.梨 - DF2 3. 降序排序 4. 丢弃梨 2 和梨 1 5. 连接 DF1 和 DF2

这看起来很麻烦,所以想知道是否有更简单的方法来实现这一点。

Fruit   value
apple   1
orange  2
pear    3

标签: pythonpandas

解决方案


在您的情况下,将它们分开drop_duplicates,然后再concat分开

df1=df.loc[df.Fruit.eq('pear')]
pd.concat([df.drop(df1.index),df1.sort_values('value').drop_duplicates('Fruit',keep='last')]).sort_index()
Out[111]: 
    Fruit  value
0   apple      1
1  orange      2
4    pear      3

推荐阅读