我有一个像这样的数据框,还有更多行:
| 区 | 关键词 | 销售量 |
|---|---|---|
| 纽约1 | 苹果手机 | 10 |
| 纽约1 | 智能电视 | 6 |
| 纽约1 | 苹果手机 | 12 |
| 纽约市2 | 笔记本电脑 | 22 |
| slc1 | 苹果手机 | 3 |
| slc2 | 收音机 | 5 |
| 拉1 | 苹果手机 | 10 |
| 拉1 | 药片 | 22 |
| 拉1 | 药片 | 5 |
如何获得另一个数据框,其中对于每个区域/关键字,我按降序获得销售列的总和(按区域/关键字分组)?对于这个例子,它应该看起来像这样(我不想根据其他 2 列重新排序,只有销售额):
| 区 | 关键词 | 销售量 |
|---|---|---|
| 纽约1 | 苹果手机 | 22 |
| 纽约1 | 智能电视 | 6 |
| 纽约市2 | 笔记本电脑 | 22 |
| slc1 | 苹果手机 | 3 |
| slc2 | 收音机 | 5 |
| 拉1 | 药片 | 27 |
| 拉1 | 苹果手机 | 10 |
我已经使用
df_sales = df_sales.groupby(['zone','keyword'])['sales'].sum()
但结果是销售总和列不按顺序排列的系列。
使用 reset_index 和 sort_values 会按销售额排序,但会删除 groupby 并对整个数据框进行排序...
.reset_index().sort_values('sales', ascending=False)
我怎样才能得到一个像上面那样的数据框?