dplyr中top_n()的等价物是什么
在R dplyr 0.8.5中:
> df <- data.frame(x = c(10, 4, 1, 6, 3, 1, 6))
> df %>% top_n(2, wt=x)
x
1 10
2 6
3 6
正如dplyr文档所强调的,注意我们在这里得到的值不止2个,因为有一个关系:top_n()要么接受所有带值的行,要么不接受
我在熊猫1.0.1中的尝试:
df = pd.DataFrame({'x': [10, 4, 1, 6, 3, 1, 6]})
df = df.sort_values('x', ascending=False)
df.groupby('x').head(2)
结果:
x
0 10
3 6
6 6
1 4
4 3
2 1
5 1
预期成果:
x
1 10
2 6
3 6
IUC,用^{} 尝试^{} :
top_n
中的dplyr
被slice_max/slice_min
取代。见:https://dplyr.tidyverse.org/reference/top_n.html
使用python中的^{} ,您可以用类似的方式执行此操作:
免责声明:我是
datar
软件包的作者在^{} 中使用参数
keep='all'
,不需要在此处排序:相关问题 更多 >
编程相关推荐