【发布时间】:2021-06-23 08:24:50
【问题描述】:
我有一个df
id qty location
1 1 Paris
1 10 Rome
1 50 London
2 100 Paris
2 40 Oslo
3 2 Paris
3 9 Washington
3 10 London
我正在尝试获取 qty 的总和以及巴黎、罗马和其他 location 的总和,以便 df 看起来像这样:
id qty_total qty_Paris qty_Rome qty_other
1 61 1 10 50
2 140 100 0 40
3 21 2 0 19
我尝试了什么:
df_temp = df.groupby('id')['qty'].sum()
df_temp['qty_Paris'] = df[df.groupby(['id', 'location'])[['qty']]
.sum().reset_index()['location']=='Paris']
但我得到一个错误:
作为索引器提供的不可对齐的布尔系列(布尔系列的索引和索引对象的索引不匹配)。
我应该如何解决这个问题,以便获得我想要的df?
【问题讨论】: