[英]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.