Pandas 数据框根据另一列值删除重复项

Pandas dataframe drop duplicates based in another column value

我有一个重复的数据框:

timestamp id ch is_eval. c
  12.     1.  1.  False. 2
  13.     1.  0.  False. 1
  12.     1.  1.  True.  4
  13.     1   0.  False. 3

有重复的时候总是 我想 drop_duplicates(timestamp,id,ch) 但保留 is_eval 为 True 的行。 意思是,如果有一行 is_eval==True 则保留它。否则,没关系。 所以这里的输出应该是:

  12.     1.  1.  True.  4
  13.     1   0.  False. 1

我该怎么做?

使用:

df = df.sort_values('is_eval', kind='mergesort', ascending=False).drop_duplicates(['timestamp','id','ch'])
print (df)
   timestamp  id  ch  is_eval  c
2         12   1   1     True  4
1         13   1   0    False  1