【发布时间】:2020-04-19 17:23:56
【问题描述】:
我有一个包含选举候选人、捐赠者职业和捐赠(收到)金额的数据框。 而且,我正在尝试找出每个候选人收到的前 7 名最大金额。
候选人姓名 = cand_nm 捐助者的职业 = contbr_occupation 收到的金额 = contb_receipt_amt所以我首先按照候选人姓名和捐赠者职业对数据框进行分组,然后使用 .sum() 将捐赠金额相加
grouped = df.groupby(['cand_nm','contbr_occupation'])['contb_receipt_amt'].sum()
然后,我使用 nlargest() 如下,但它返回整个系列的前 7 个数量,而不是每个组。如何计算每组前 7 名的捐款金额?
grouped.nlargest(7)
另一个问题是“分组”变量似乎是一个索引系列。但是当我使用grouped.index 打印出它的索引时,它不会返回“cand_nm”或“contbr_occupation”。我认为这是一个索引系列是不是错了?
【问题讨论】:
-
为了将来参考,最好创建一个示例数据框(作为代码或文本)以进行测试和预期输出。
标签: pandas