【发布时间】:2018-03-28 21:51:44
【问题描述】:
我有以下代码可以根据给定键删除数据帧的重复项:
输入:
dff = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":["A","A","B","A"], "C":[0,3,1,1]})
dff.drop_duplicates(subset=['A', 'B'], keep=False)
输出:
A B C
2 foo B 1
3 bar A 1
但是我怎样才能按相同的键分组,但选择“C”列中数字较大的行。我的意思是,所需的输出是:
A B C
2 foo B 3
3 bar A 1
【问题讨论】:
-
如果您使用
keep=False,无论如何都会丢失 C=3 的行。你能澄清一下吗? -
你想要
dff.sort_values('C', ascending=False).drop_duplicates(['A', 'B'], keep='first')吗? -
如何从您提供的样本数据中得到
foo B 3?
标签: python python-3.x pandas dataframe group-by