python – Pandas将groupby sum值分配给原始表中的最后一行
发布时间:2020-12-20 11:02:39 所属栏目:Python 来源:网络整理
导读:例如,我有一张桌子 一个 id price sum1 2 01 6 01 4 02 2 02 10 02 1 02 5 03 1 03 5 0 我想要的是(最后一行总和应该是一组价格的总和) id price sum1 2 01 6 01 4 122 2 02 10 02 1 02 5 183 1 03 5 6 我能做的就是找出总和 A['price'].groupby(A['id']).tr
例如,我有一张桌子
一个 id price sum 1 2 0 1 6 0 1 4 0 2 2 0 2 10 0 2 1 0 2 5 0 3 1 0 3 5 0 我想要的是(最后一行总和应该是一组价格的总和) id price sum 1 2 0 1 6 0 1 4 12 2 2 0 2 10 0 2 1 0 2 5 18 3 1 0 3 5 6 我能做的就是找出总和 A['price'].groupby(A['id']).transform('sum') 但是我不知道如何将它分配给sum列(最后一行). 谢谢 解决方法
使用last_valid_index查找要填充的行
g = df.groupby('id') l = pd.DataFrame.last_valid_index df.loc[g.apply(l),'sum'] = g.price.sum().values df id price sum 0 1 2 0 1 1 6 0 2 1 4 12 3 2 2 0 4 2 10 0 5 2 1 0 6 2 5 18 7 3 1 0 8 3 5 6 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |