Pandas获取列中最常见的值

2024-04-16 12:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个数据框:

0 name data
1 alex asd
2 helen sdd
3 alex dss
4 helen sdsd
5 john sdadd

所以我试图得到最频繁的值(在本例中是它的值) 所以我要做的是:

dataframe['name'].value_counts().idxmax()

但它只返回值:Alex即使它Helen也出现了两次。


Tags: 数据namedataframedatavaluejohnhelenalex
3条回答

你可以这样尝试argmax

dataframe['name'].value_counts().argmax() Out[13]: 'alex'

value_counts将返回一个计数对象pandas.core.series.Series,并且argmax可用于实现最大值键。

通过使用mode

df.name.mode()
Out[712]: 
0     alex
1    helen
dtype: object

要获取n最常见的值,只需子集.value_counts()并获取索引:

# get top 10 most frequent names
n = 10
dataframe['name'].value_counts()[:n].index.tolist()

相关问题 更多 >