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
tail
groupby を使用して、グループの最後の 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