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
我有一个 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