首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中,如何选择每列的值完全相同的多个(如2或5)频繁行?

在python中,如何选择每列的值完全相同的多个(如2或5)频繁行?
EN

Stack Overflow用户
提问于 2018-08-05 05:17:47
回答 2查看 46关注 0票数 0

假设我有一个数据帧

代码语言:javascript
复制
       A         B          C          
0      1         2          a
1      6         5          c
2      5         4          b 
3      2         5          d 
4      4         9          q
5      1         2          a  
6      5         4          b
7      1         2          a
8      1         4          c 

我想找出两个最频繁的行(行中的每个值都完全相同)和相应的频率。在本例中,行是1,2,a和5,4,b。频率是3和2。

我知道如何找到我可以使用模式函数的最频繁的行。我还知道我可以使用Counter在一列中选择多个频繁值。在python中,如何选择每列的值完全相同的多个(如2或5)频繁行?非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2018-08-05 05:25:54

也许你可以在similar approach之后尝试使用groupbynlargest()

代码语言:javascript
复制
print(df.groupby(df.columns.tolist()).size().nlargest(2))
票数 0
EN

Stack Overflow用户

发布于 2018-08-05 05:27:20

还可以aggcount

代码语言:javascript
复制
s = df.agg(tuple,1)
s = s.groupby(s).count()

(1, 2, a)    3
(1, 4, c)    1
(2, 5, d)    1
(4, 9, q)    1
(5, 4, b)    2
(6, 5, c)    1
dtype: int64

然后举个例子

代码语言:javascript
复制
s.nlargest(2)

(1, 2, a)    3
(5, 4, b)    2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51689625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档