如何按ID对字段进行分组并找到总和?

时间:2017-05-15 14:27:26

标签: pandas group-by

我有以下数据

id    starting_point      ending_point            Date
A        2525                 6565        25/05/2017  13:25:00
B        5656                 8989        25/01/2017  10:55:00
A        1234                 5656        20/05/2017  03:20:00
A        4562                 6245        01/02/2017  19:45:00
B        6496                 9999        06/12/2016  21:55:00
B        1122                 2211        20/03/2017  18:30:00

如何按日期的升序按ID分组数据,并找到第一个说明点和最后一个起始点的总和。在这种情况下,

预期输出为:

  id    starting_point      ending_point            Date           Value
A        4562                 6245        01/02/2017  19:45:00    
A        1234                 5656        20/05/2017  03:20:00
A        2525                 6565        25/05/2017  13:25:00    4532 + 6565 = 11127
B        6496                 9999        06/12/2016  21:55:00
B        1122                 2211        20/03/2017  18:30:00    6496 + 2211 = 8707

1 个答案:

答案 0 :(得分:0)

IIUC:

In [146]: x.groupby('id').apply(lambda df: df['starting_point'].head(1).values[0] 
                                           + df['ending_point'].tail(1).values[0])
Out[146]:
id
A    8770
B    7867
dtype: int64