此问题已在此处有答案:
Drop duplicates keeping the row with the highest value in another column(1个答案)
4天前关闭。
| | 组ID|客户ID|刻痕|x1|x2|合同ID|y|
| --------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|
| 0|一百零一|1|九十五|F|三十|1|三十|
| 1|一百零一|1|九十五|F|三十|二|二十六|
| 二|一百零一|二|八十五|M|二十八|1|八|
| 三|一百零一|二|八十五|M|二十八|二|十八岁|
我想删除具有相同cust_id但y值较小的行。例如,对于cust_id=1,我想删除index =1的行。
我想用df.loc来选择具有相同cust_id的行,然后通过比较列y的条件来删除它们。但是我不知道如何做第一部分。
2条答案
按热度按时间eit6fx6z1#
使用
sort_values
按y
排序,使用drop_duplicates
仅保留每个cust_id
的一次出现:正如@ifly6所建议的,你可以使用
groupby_idxmax
:1wnzp6jl2#
你可以使用
drop_duplicates
。下面是一个例子: