在分组后获取第一个和最后一个值
- 论坛
- 在分组后获取第一个和最后一个值
16 浏览
在分组后获取第一个和最后一个值
我有一个数据框df
df = pd.DataFrame(np.arange(20).reshape(10, -1), [['a', 'a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']], ['X', 'Y'])
我如何按索引的第一级分组获取第一行和最后一行?
我尝试了
df.groupby(level=0).agg(['first', 'last']).stack()
得到了
X Y a first 0 1 last 6 7 b first 8 9 last 12 13 c first 14 15 last 16 17 d first 18 19 last 18 19
这已经非常接近我想要的了。如何保留第一级索引,并得到以下结果:
X Y a a 0 1 d 6 7 b e 8 9 g 12 13 c h 14 15 i 16 17 d j 18 19 j 18 19