首页 > 解决方案 > 在整个数据框中查找最不频繁的值

问题描述

我的数据框是这样的

>   93  40  73  41  115 74  59  98  76  109 43  44
    105 119 56  62  69  51  50  104 91  78  77  75
    119 61  106 105 102 75  43  51  60  114 91  83

它有 8000 行和 12 列

我想在整个数据框中找到频率最低的值(不仅在列中)。

我尝试将此数据帧转换为 numpy 数组并使用for循环来计算数字,然后返回最少的计数,但它不是非常理想。我搜索了是否有任何其他方法,但找不到。

我只发现scipy.stats.mode返回最频繁的数字。

还有其他方法吗?

标签: pythonpandasnumpyscipy

解决方案


你可以stack采取value_counts

df.stack().value_counts().index[-1]
# 69

value_counts按频率排序,所以你可以只取最后一个,尽管在这个例子中很多只出现一次。69恰好是最后一个。


推荐阅读