我有一个像这样的pandas DataFrame:
date info
A x
A y
B z
B x
C y
我只想知道最后的约会。在这种情况下,它是C.
我认为我可以通过Date
列进行分组和排序来获得此结果:
df.groupby('date', sort=True)
...然后访问最后一组。但是,没有办法将最后一组作为一个班轮来访问?有更好的方法吗?
答案 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