pandasデータフレームの各グループで最新を選択する 質問する

pandasデータフレームの各グループで最新を選択する 質問する

pandas データフレームの値をグループ化し、各グループから最新の値 (日付別) を選択するにはどうすればよいですか?

たとえば、日付順にソートされたデータフレームがあるとします。

    id     product   date
0   220    6647     2014-09-01 
1   220    6647     2014-09-03 
2   220    6647     2014-10-16
3   826    3380     2014-11-11
4   826    3380     2014-12-09
5   826    3380     2015-05-19
6   901    4555     2014-09-01
7   901    4555     2014-10-05
8   901    4555     2014-11-01

ID または製品別にグループ化し、最新のものを選択すると、次のようになります。

    id     product   date
2   220    6647     2014-10-16
5   826    3380     2015-05-19
8   901    4555     2014-11-01

ベストアンサー1

tailgroupby を使用して、グループの最後の n 個の値を取得することもできます。

df.sort_values('date').groupby('id').tail(1)

    id  product date
2   220 6647    2014-10-16
8   901 4555    2014-11-01
5   826 3380    2015-05-19

おすすめ記事