我有这个数据集:
Id query count
001 abc 20
001 bcd 30
001 ccd 100
002 ace 13
002 ahhd 30
002 ahe 28
我想根据计数找到每个Id的Top2查询。所以我想看看:
^{pr2}$
我试过这两行代码:
df.groupby('Id')['count'].nlargest(2)
,“query”列在结果中丢失,这不是我想要的。所以如何在结果中保留查询。
Id计数
001 100
001 30
002 30
002 28
Tags:
我使用
groupby
和apply
方法pd.DataFrame.nlargest
。这与pd.Series.nlargest
的不同之处在于,在选择n行时,我必须指定一组要考虑的列。此解决方案保留附加到行的原始索引值(如果这对OP或最终用户很重要)。在您仍然可以使用groupby执行此操作:
使用缺失列的^{} :
相关问题 更多 >
编程相关推荐