Pandas Dataframe根据两个值相等的列删除行



基本上我有一个数据框架,其中有很多列,但主要是ITEM_ID和PRICE。

例如:

ID  ITEM_ID  ITEM     PRICE
1      1      potato    20
2      1      potato    20
3      1      potato    25
4      2      tomato    50
5      2      tomato    55

我想删除ITEM_ID和PRICE相等的行,所以输出将是这样的:

ID  ITEM_ID  ITEM     PRICE
1      1      potato    20
2      1      potato    25
3      2      tomato    50
4      2      tomato    55

我使用

计算均价
df['AVG'] = df.groupby('ITEM_ID')['PRICE'].transform('mean')

但是我意识到,我使用重复的值计数,所以平均值是不正确的。

有人能帮忙吗?

编辑:

尝试后建议

df.drop_duplicates(subset=['item_id', 'price'])

数据仍然在那里,即使keep=False也不会做任何事情。

解决这个问题的方法是:

df.drop_duplicates(subset=['item_id', 'price'], inplace=True)

最新更新