[英]Group the same column value in the dataframe and add the sum of the same values as a new column
我有一个 pandas DataFrame
如下所示。
df = pd.DataFrame({
'Column1': ['A', 'B', 'C', 'A', 'B', 'A', 'C', 'A', 'B', 'B'],
'Column2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Column3': ['X','Y','Z','X', 'X', 'Z','X','Y','Z','X']})
我想按第 1 列分组。我还想对第 2 列中的这些值求和,并将第 3 列中的值添加为新列。
Column1 Column2 Column3
0 A 1 X
1 B 2 Y
2 C 3 Z
3 A 4 X
4 B 5 X
5 A 6 Z
6 C 7 X
7 A 8 Y
8 B 9 Z
9 B 10 X
预期结果
Column1 Column2 X Y Z
0 A 19 5 8 6
1 B 26 15 2 9
2 C 10 7 0 3
我查看了示例问题。 但我找不到我的问题的答案。 对此的任何帮助表示赞赏。
将DataFrame.pivot_table
与DataFrame.insert
一起使用:
df = df.pivot_table(index='Column1',
columns='Column3',
values='Column2',
aggfunc='sum',
fill_value=0).reset_index().rename_axis(None, axis=1)
df.insert(1, 'Column2', df.sum(axis=1))
print (df)
Column1 Column2 X Y Z
0 A 19 5 8 6
1 B 26 15 2 9
2 C 10 7 0 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.