pandas groupby 访问最后一组

pandas groupby access last group

我有一个 pandas DataFrame 看起来像这样:

date      info          
A         x
A         y 
B         z
B         x
C         y

我只想知道最后的日期。在这种情况下是 C.

我认为我可以通过按 Date 列分组和排序来得到这个:

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

...然后访问最后一组。但是,有没有办法将最后一组作为单行访问?有更好的方法吗?

我想我只是把事情复杂化了。 要获得 C 这应该足够了:

df['date'].max()

如果您只想获取日期作为值,您自己的答案就可以了。但是如果你想获得最大日期的实际记录,你可以使用 head():

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

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

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