我有这个数据框:
score year ...
index
0 123 2015
0 5354 2016
0 4314 2014
12 4542 2018
12 4523 2017
13 123 2014
13 123 2012
13 231 2016
...
我只想为每个索引选择最后一年,所以它看起来像这样:
score year ...
index
0 123 2016
12 4542 2018
13 231 2016
...
请您参考如下方法:
选项 1:
In [188]: df.groupby(level=0, group_keys=False).apply(lambda x: x.nlargest(1, 'year'))
Out[188]:
score year
index
0 5354 2016
12 4542 2018
13 231 2016
选项 2:
In [193]: df.sort_values('year', ascending=False).groupby(level=0, group_keys=False).head(1)
Out[193]:
score year
index
12 4542 2018
0 5354 2016
13 231 2016
