You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Julia中计算数组的众数

Julia数组众数计算方法

方案1:使用StatsBase包的现成实现(生产环境推荐)

Julia官方统计生态包StatsBase已经封装了成熟的众数计算方法,无需自己造轮子:

  1. 首先安装StatsBase包,在Julia REPL中输入] add StatsBase执行安装
  2. 导入包后直接调用对应函数即可:
using StatsBase

# 你的示例数组
a = [5, 6, 7, 8, 10, 12, 12, 17, 67, 68, 69, 72, 74, 74, 92, 93, 100, 105, 110, 120, 124]

# 取第一个出现的众数
mode(a) # 输出为 12

# 取所有众数(适用于多众数场景)
modes(a) # 输出为 [12, 74]

方案2:手动实现无依赖版本

如果不想引入额外依赖,可以自己写一个简单的众数计算函数,逻辑如下:

function get_modes(arr::AbstractArray)
    # 统计每个元素出现的频次
    freq = Dict{eltype(arr), Int}()
    for val in arr
        freq[val] = get(freq, val, 0) + 1
    end
    # 找到最高频次
    max_freq = maximum(values(freq))
    # 筛选出所有频次等于最高频次的元素,即所有众数
    return [k for (k, v) in freq if v == max_freq]
end

# 测试你的数组
get_modes(a) # 输出为 [12, 74]

如果只需要返回一个众数,取返回结果的第一个元素即可。

内容的提问来源于stack exchange,提问作者logankilpatrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:27:01