【发布时间】:2021-03-01 18:52:54
【问题描述】:
我有一个这样的数据框:
我想对“pidx”列进行分组,然后找到得分最高的前 3 个“day_no”。
我正在寻找的结果是这样的:
我尝试的是:
df.sort(['pidx','score'],ascending = False).groupby('pidx').head(2)
它部分工作,但我没有得到预期的结果。
我可以使用什么其他方法来获得所需数据帧格式的结果?
【问题讨论】:
-
如果您在问题中包含复制/可粘贴示例数据框定义,您通常会更快地获得帮助。
-
为什么只能部分发挥作用,与您的预期有何不同? .head(2) 不应该给你 3 个结果,它只给你 2,将它更改为 3,它应该是 3,如问题中所述。此外,它应该是 df.sort_values,而不是 df.sort
标签: python-3.x pandas dataframe pandas-groupby