将数据框中组的最后一个值列附加到分组的数据框

时间:2017-09-15 17:52:02

标签: pandas pandas-groupby

对于示例数据帧:

       Date T/F  Amount
0  11/10/03   T       5
1  11/10/03   T       5
2  11/10/03   F       9
3  12/10/03   T       1
4  12/10/03   F       3
5  14/10/03   T       3

我想按日期分组并得到金额的总和(这一点我知道怎么做)但我也想将组的T / F值设置为组中的最后一个值,所以产生这样的东西:

       Date  Amount T/F
0  11/10/03      19   F
1  12/10/03       4   F
2  14/10/03       3   T

1 个答案:

答案 0 :(得分:2)

IIUIC,使用agg

In [417]: df.groupby('Date', as_index=False).agg({'T/F': 'last', 'Amount': 'sum'})
Out[417]:
       Date  Amount T/F
0  11/10/03      19   F
1  12/10/03       4   F
2  14/10/03       3   T

相同
In [433]: df.groupby('Date', as_index=False).agg({'T/F': lambda x: x.iloc[-1], 'Amount': np.sum})
Out[433]:
       Date  Amount T/F
0  11/10/03      19   F
1  12/10/03       4   F
2  14/10/03       3   T