查找数据框中最频繁/常用的值

时间:2020-07-07 11:35:24

标签: python pandas

我正在尝试找出在数据框中找到n个最常见值的最佳方法。我不在乎它们所在的行或列,我只想在数据框中找到最常用的值。

Input:
 df = pd.DataFrame({         'A':list('abcdef'),          'B':[4,5,4,5,5,4],          'C':[7,8,9,4,2,3],          'D':[1,3,5,7,1,0],          'E':[5,3,6,9,2,4],          'F':list('aaabbb') })
Desired output:

'a' 4
'4' 4
'1' 3
'b' 2
...
'8' 1

1 个答案:

答案 0 :(得分:1)

DataFrame.stackSeries.mode一起使用:

most = df.stack().mode()

如果需要第一个最高值,请获取第一个值:

most = df.stack().mode().iat[0]

编辑对于计数值,请使用Series.value_counts

count = df.stack().value_counts()
print (count)
5    5
4    5
a    4
b    4
3    3
9    2
7    2
2    2
1    2
f    1
e    1
d    1
c    1
8    1
6    1
0    1
dtype: int64