首页 > 解决方案 > Python Pandas 根据列添加重复值

问题描述

我有一个带有重复项的数据框,我想根据其他两列的重复项对列的值求和,如下图所示。我可以遍历 A 列和 B 列的集合,然后每次求和,但可能有更有效的方法来做到这一点。

在此处输入图像描述

#To create the example dataframe
df1 = pd.DataFrame({'A': ['Spain', 'France','Spain','France','France','France','Spain',], 'B': ['Meat', 'Meat','Meat','Drink','Meat','Drink','Drink'], 'C': ['10','20','30','10','20','30','10']})

任何帮助,将不胜感激。

标签: pythonpandasdataframe

解决方案


尝试:

df1["C"] = df1["C"].astype(int)
print(df1.groupby(["A", "B"], as_index=False).sum())

印刷:

        A      B   C
0  France  Drink  40
1  France   Meat  40
2   Spain  Drink  10
3   Spain   Meat  40

df1用过的:

        A      B   C
0   Spain   Meat  10
1  France   Meat  20
2   Spain   Meat  30
3  France  Drink  10
4  France   Meat  20
5  France  Drink  30
6   Spain  Drink  10

推荐阅读