将数据框中组的最后一个值列附加到分组数据框中
Append the last value column of a group in dataframe to the grouped dataframe
对于示例数据框:
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
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
对于示例数据框:
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
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