python - 如何获取列中最频繁值的数量?

标签 python pandas counter frequency series

我有一个数据框,我想知道给定列有多少次出现最频繁的值。

我尝试通过以下方式进行:

items_counts = df['item'].value_counts()
max_item = items_counts.max()

结果我得到:

ValueError: cannot convert float NaN to integer

据我了解,在第一行中,我得到系列,其中列中的值用作键,这些值的频率用作值。所以,我只需要找到系列中的最大值,由于某种原因,它不起作用。有谁知道如何解决这个问题?

最佳答案

您的列中可能有一些空值。您可以使用 df = df.dropna(subset=['item']) 删除它们。然后 df['item'].value_counts().max() 应该给你最大计数,df['item'].value_counts().idxmax() 应该给你最频繁的值。

关于python - 如何获取列中最频繁值的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138973/

相关文章:

python - Pandas:分离分组和索引

python - 检查行的日期范围是否与 Python/Pandas Dataframe 中的任何先前行日期范围重叠

python - 将默认的日期时间对象值赋予 pandas.to_datetime()

python - 描述符 'join' 需要一个 'unicode' 对象,但收到一个 'str'

python - 如何在 Python 中使用 Pivot_Table 操作 Dataframe

c - 如何启动一个数组,每个元素都在一个单独的线程中

python - 将语料库词典排序为 OrderedDict 的最快方法 - python

python - 有没有一种简单的方法可以获取单词中重复字符的数量?

python - Django 多数据库 : write to multiple databases

python - Pandas :根据其他多级列对最里面的列进行分组排序