这是我的示例数据框:
inputArr = [['A', 0, 6],
['A', 1, 57],
['A', 2, 81],
['A', 3, 9],
['A', 4, 87],
['B', 0, 24],
['B', 1, 30],
['B', 2, 96],
['B', 3, 54],
['B', 4, 81],
['C', 0, 6],
['C', 1, 6],
['C', 2, 6],
['C', 3, 93],
['C', 4, 99],
['D', 0, 0],
['D', 1, 90],
['D', 2, 6],
['D', 3, 87],
['D', 4, 75],
['E', 0, 93],
['E', 1, 60],
['E', 2, 63],
['E', 3, 48],
['E', 4, 36]]
trialPD = pd.DataFrame(inputArr, columns = ["Name", "rating", "num_items"])
现在,我想从 trialPD 中选择特定名称的评级在前 3 位的行。我试过trialPD.groupby("Name")["rating"].nlargest(3)了,但这似乎根本没有返回最后一列("num_items")。有没有办法获取特定分组中行与前 3 名匹配的索引?PS:这是我在 StackExchange 上的第一个问题,如果我做错了什么,请告诉我。顺便说一句,我也在同一个论坛上找到了最大的解决方案,所以谢谢大家!