gpt4 book ai didi

python - 将数据框中的相同列值分组,并将相同值的总和添加为新列

转载 作者:行者123 更新时间:2023-12-04 07:40:54 26 4
gpt4 key购买 nike

我有一只 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

关于python - 将数据框中的相同列值分组,并将相同值的总和添加为新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67470504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com