首页 > 解决方案 > 如何根据 Pandas 中特定值的一列转换仅在一列中具有唯一值的 DataFrame

问题描述

我有一个像这样的DataFrame:

item_id    item_price 
1          10.0       
1          5.0        
1          6.0        
1          7.0        
2          2.0        
3          3.0        
4          5.0        

我尝试获取一个 DataFrame,该item_price列仅包含一系列唯一值。并像这样删除其他不符合此条件的行:

 item_id    item_price         
 2          2.0        
 3          3.0        
 4          5.0

但是,我对如何在 Pandas 中实现它感到困惑。任何帮助,将不胜感激。

标签: pythonpandas

解决方案


drop_duplicates与参数一起使用subset来识别列以检查重复项并keep=False删除所有重复行:

df = df.drop_duplicates(subset=['item_id'], keep=False)
print (df)
   item_id  item_price
4        2         2.0
5        3         3.0
6        4         5.0

推荐阅读