1 回答
TA贡献1824条经验 获得超5个赞
agg在groupby对象上使用并传递函数列表:
In[108]:
df.groupby('A').agg(['first','last'])
Out[108]:
datetime
first last
A
1 2019-03-04 00:03:00 2019-03-04 00:07:00
2 2019-03-04 00:05:00 2019-03-04 00:08:00
3 2019-03-04 00:09:00 2019-03-04 00:13:00
4 2019-03-04 00:12:00 2019-03-04 00:12:00
如果需要,您可以致电reset_index:
In[109]:
df.groupby('A').agg(['first','last']).reset_index()
Out[109]:
A datetime
first last
0 1 2019-03-04 00:03:00 2019-03-04 00:07:00
1 2 2019-03-04 00:05:00 2019-03-04 00:08:00
2 3 2019-03-04 00:09:00 2019-03-04 00:13:00
3 4 2019-03-04 00:12:00 2019-03-04 00:12:00
这要求first并last为每个组
更新 感谢@Wen-Ben 的建议,如果我们选择单列,那么这不会在 df 中创建多索引:
In[110]:
df.groupby('A')['datetime'].agg(['first','last'])
Out[110]:
first last
A
1 2019-03-04 00:03:00 2019-03-04 00:07:00
2 2019-03-04 00:05:00 2019-03-04 00:08:00
3 2019-03-04 00:09:00 2019-03-04 00:13:00
4 2019-03-04 00:12:00 2019-03-04 00:12:00
与您想要的输出相匹配
添加回答
举报