合并一些数据后,我得到了dataframe
:
Name Stage Start End
Hulk A1 21/10/2018 06:34:15 21/10/2018 07:34:15
Hulk A4 21/10/2018 07:34:15 21/10/2018 08:34:15
Sam A1 21/10/2018 09:34:15 21/10/2018 10:34:15
Sam A4 21/10/2018 10:34:15 21/10/2018 11:34:15
所以我需要按以下格式排列这些数据,格式为start
的{{1}}和A1
的{{1}}:
end
如何实现?我对A4
和Name Stage Start End
Hulk A1,A4 21/10/2018 06:34:15 21/10/2018 08:34:15
Sam A1,A4 21/10/2018 09:34:15 21/10/2018 11:34:15
很陌生。
答案 0 :(得分:1)
如果每个组的2个Stage值按示例数据中的顺序排序,则使用agg
和first
和last
一起工作的功能很好:
join
也是纯python函数。
df = df.groupby('Name', as_index=False).agg({'Stage':', '.join,'Start':'first', 'End':'last'})
print (df)
Name Stage Start End
0 Hulk A1, A4 21/10/2018 06:34:15 21/10/2018 08:34:15
1 Sam A1, A4 21/10/2018 09:34:15 21/10/2018 11:34:15