我有这个数据框:
a = ["A", "A", "B", "B", "A", "A"]
b = [12, 15, 14, 17, 19, 20]
c = ["Area1", "Area1", "Area2", "Area2", "Area3", "Area3"]
df = pd.DataFrame({'Item': a, 'Quanity': b, 'Region': c})
我想获得每个项目和每个地区的总和,结果应该像这样:
Item Region total
A Area1 27
B Area2 31
A Area3 39
我尝试过这种方法:
df['total'] = df.groupby(['Item', 'Region'])['Quanity'].transform('sum')
df[["Item", "Region", "total"]].drop_duplicates(keep='first')
但是,此方法导致我创建另一个列和另一个数据框(也许)。那么有什么方法可以更快(或更有效)地完成这项任务?