如何选择两个不同列的随机日期时间?

时间:2018-11-10 11:03:36

标签: python-2.7 pandas dataframe slice

合并一些数据后,我得到了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

如何实现?我对A4Name 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 很陌生。

1 个答案:

答案 0 :(得分:1)

如果每个组的2个Stage值按示例数据中的顺序排序,则使用aggfirstlast一起工作的功能很好:

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