# How to find most frequent element in an array?

**URL:** <https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [April 5, 2022, 2:58pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056 "2022-04-05T14:58:51Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luigi\_Marongiu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/luigi_marongiu/32/7909_2.png) [@Luigi\_Marongiu](https://discourse.julialang.org/u/Luigi_Marongiu)\
**Post date:** [April 5, 2022, 2:58pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/1 "2022-04-05T14:58:51Z")

</div>

Hello  
is there a simple way to find the most frequent element in an array?

```julia
arr = [1, 3, 2, 1, 4, 1]
# answer should be `1`

```

---

<div class="post-metadata">

**Author:** ![Henrique\_Becker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrique_becker/32/15443_2.png) [@Henrique\_Becker](https://discourse.julialang.org/u/Henrique_Becker)\
**Post date:** [April 5, 2022, 3:09pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/2 "2022-04-05T15:09:01Z")

</div>

I think with `Base` tools you have either to write something a little more involved or accept a O(n^2) solution. If you can use external libraries then `StatsBase` has many counting functions: [Counting Functions · StatsBase.jl](https://juliastats.org/StatsBase.jl/stable/counts/)

---

<div class="post-metadata">

**Author:** ![goerch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerch/32/29122_2.png) [@goerch](https://discourse.julialang.org/u/goerch)\
**Post date:** [April 5, 2022, 3:09pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/3 "2022-04-05T15:09:28Z")

</div>

[https://stackoverflow.com/questions/39101839/the-number-of-occurences-of-elements-in-a-vector-julia](https://stackoverflow.com/questions/39101839/the-number-of-occurences-of-elements-in-a-vector-julia)

could be a good start.

---

<div class="post-metadata">

**Author:** ![Luigi\_Marongiu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/luigi_marongiu/32/7909_2.png) [@Luigi\_Marongiu](https://discourse.julialang.org/u/Luigi_Marongiu)\
**Post date:** [April 5, 2022, 3:17pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/4 "2022-04-05T15:17:14Z")

</div>

I have seen that post but countmap does not work on dataframes’s columns

---

<div class="post-metadata">

**Author:** ![goerch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerch/32/29122_2.png) [@goerch](https://discourse.julialang.org/u/goerch)\
**Post date:** [April 5, 2022, 3:19pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/5 "2022-04-05T15:19:35Z")

</div>

Here is an entry for `DataFrames`

[https://stackoverflow.com/questions/68371283/julia-dataframes-countmap](https://stackoverflow.com/questions/68371283/julia-dataframes-countmap)

---

<div class="post-metadata">

**Author:** ![Luigi\_Marongiu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/luigi_marongiu/32/7909_2.png) [@Luigi\_Marongiu](https://discourse.julialang.org/u/Luigi_Marongiu)\
**Post date:** [April 5, 2022, 3:29pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/6 "2022-04-05T15:29:52Z")

</div>

> [@Luigi\_Marongiu](#):
>
> `arr = [1, 3, 2, 1, 4, 1]`

OK,  
I get

```julia
julia> arr = [1, 3, 2, 1, 4, 1]
6-element Vector{Int64}:
 1
 3
 2
 1
 4
 1

julia> countmap(arr)
Dict{Int64, Int64} with 4 entries:
  4 => 1
  2 => 1
  3 => 1
  1 => 3

```

How can I extract `1 => 3`?

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [April 5, 2022, 3:31pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/7 "2022-04-05T15:31:41Z")

</div>

> [@Luigi\_Marongiu](#):
>
> `arr = [1, 3, 2, 1, 4, 1]`

It seems like you are looking for the `mode` function:

```julia
julia> using StatsBase

julia> mode([1, 3, 2, 1, 4, 1])
1

```

---

<div class="post-metadata">

**Author:** ![goerch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerch/32/29122_2.png) [@goerch](https://discourse.julialang.org/u/goerch)\
**Post date:** [April 5, 2022, 3:34pm UTC](https://discourse.julialang.org/t/how-to-find-most-frequent-element-in-an-array/79056/8 "2022-04-05T15:34:12Z")

</div>

Or

```julia
using StatsBase
arr = [1, 3, 2, 1, 4, 1]
dict = countmap(arr)
@show findmax(dict) 

```

yielding

```julia
findmax(dict) = (3, 1)

```
