python - Pandas 在不同大小的行中求和值
问题描述
解决方案
您可以使用groupby().transform('sum')
在所有位置上创建新列。然后使用duplicated
删除重复:
df['NEW COLUMN'] = (df.groupby('product number')
['value'].transform('sum')
.mask(df['product number'].duplicated())
)
输出:
product number value NEW COLUMN
0 1 3 9.0
1 1 2 NaN
2 1 4 NaN
3 2 1 7.0
4 2 6 NaN
5 4 2 9.0
6 4 1 NaN
7 4 2 NaN
8 4 4 NaN
推荐阅读
- vb.net - 使用 topItem 属性滚动列表视图
- oracle - 如何使用 powershell 中的 sqlplus 运行 .sql 文件
- django - 按日期按降序排列查询集,但对于日期小于 now() 的元素按升序排列?
- c# - 如果用户按下某个键,则在控制台应用程序中显示 MessageBox
- python - 在 keras 中使用 hyperas 出现无效的 agrument 错误
- jquery - Bootstrap 在 Angular 6 应用程序中不起作用
- r - 基于先前接受的行的子集数据框
- javascript - 在 HTML 中显示 base64 tiff 图像
- javascript - Javascript onkeydown 一个函数
- firebase - 获取访问令牌以验证 Firebase 函数中的 API