Python pandas groupby访问最后一个组

Python pandas groupby访问最后一个组,python,pandas,grouping,dataframe,Python,Pandas,Grouping,Dataframe,我有一个熊猫数据框,看起来像这样: date info A x A y B z B x C y 我只想知道最后的日期。在这种情况下,它是C 我想我可以通过按Date列进行分组和排序来获得: df.groupby('date', sort=True) 。。。然后访问最后一组。但是,无法将最后一个组作为一个班轮访问?有更好的方法吗?我觉得我把事情复杂化了。 要获得C,这应该足够了:

我有一个熊猫数据框,看起来像这样:

date      info          
A         x
A         y 
B         z
B         x
C         y
我只想知道最后的日期。在这种情况下,它是C

我想我可以通过按
Date
列进行分组和排序来获得:

 df.groupby('date', sort=True)

。。。然后访问最后一组。但是,无法将最后一个组作为一个班轮访问?有更好的方法吗?

我觉得我把事情复杂化了。 要获得C,这应该足够了:

df['date'].max()

如果您只想将日期作为一个值,那么您自己的答案就可以了。但是,如果您想获得具有最大日期的实际记录,可以使用:

您还可以使用
升序
参数按其他列排序

In [4]: df.sort(columns=['date', 'info'], ascending=[False, True]).head(1)
Out[4]: 
  date info
4    C    y

您希望最后一行的
tail
按日期排序
desc
,因此
head
将起作用:)但您是对的,
tail
可能更具描述性。我总是在脑子里把任务转换成SQL,而在SQL中只有
top n
关键字。@EdChum顺便问一下,你知道在pandas中是否可以进行部分排序吗?例如,在这种情况下,我们不想对整个数据帧进行排序,我们只想取
k
最大值。因此,如果我们可以在数据帧上进行部分heapsort,那就太好了。我想,你必须编写自己的代码,
sort
确实支持
kind='heapsort'
作为一种排序类型,这里有一段类似的代码:这可能会让你找到答案谢谢,也刚刚发现这段代码可能很有用,但至少还需要一些包装器代码-
In [4]: df.sort(columns=['date', 'info'], ascending=[False, True]).head(1)
Out[4]: 
  date info
4    C    y