pandas groupby访问最后一组

时间:2015-05-15 08:58:10

标签: python pandas grouping dataframe

我有一个像这样的pandas DataFrame:

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

我只想知道最后的约会。在这种情况下,它是C.

我认为我可以通过Date列进行分组和排序来获得此结果:

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

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

2 个答案:

答案 0 :(得分:1)

我认为我只是过于复杂化了。 得到C这应该足够了:

df['date'].max()

答案 1 :(得分:0)

如果您只想将日期作为值,那么您自己的答案就可以了。但是如果你想获得最大日期的实际记录,你可以使用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