python - Pandas Dataframe 根据具有相等值的两列删除行

标签 python pandas dataframe duplicates

基本上我有一个数据框,其中有很多列,但主要是 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)

关于python - Pandas Dataframe 根据具有相等值的两列删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68649384/

相关文章:

python - 替换Excel表格中的数据

python - 无法解析使用 Flask 上传的 .csv 文件

python - 使用带有特定单词的 pandas 提取句子

python - Pandas 排名基于几列

python - 如何从Python中的数据框中删除无单元格

python - 将 pandas 数据帧值转换为标量

python - 是否允许在 init 方法中使用方法?

python - 如何修复将 $ 解释为 $text $ 中的定界符的数据框?

python - 基于其他条目的 Pandas 对列的操作

python - 如何创建类别列并将其分解为新行