首页 > 解决方案 > Pandas 在不同大小的行中求和值

问题描述

标签: pythonexcelpandasdataframe

解决方案


您可以使用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

推荐阅读