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

如何计算Numpy数组中每个唯一值对应的占比百分比

Numpy 数组字符串唯一值占比向量化计算方案

可以通过np.unique的内置参数实现完全向量化的统计,适配任意数量的唯一值场景,且对100万长度以内的数组处理效率极高。

实现代码

import numpy as np

# 示例输入数组
arr = np.array(['Fe', 'Pt', 'Ce', 'Nd', 'Pt', 'Fe', 'Pt', 'Ce', 'Fe', 'Fe'])

# 向量化获取唯一值与对应出现次数
unique_elements, counts = np.unique(arr, return_counts=True)
# 计算各唯一值占比(百分比形式)
percentages = counts / arr.size * 100

# 如需转换为字典格式可直接拼接
result_dict = dict(zip(unique_elements, percentages))

输出示例

执行上述代码后result_dict的输出符合要求的格式:

{'Ce': 20.0, 'Fe': 40.0, 'Nd': 10.0, 'Pt': 30.0}

补充说明

  • 你之前示例中的单值占比代码存在笔误,正确写法应为np.sum(array == 'Fe')/array.shape[0]*100,需要用双等号做布尔判断
  • 该方案底层为C实现的向量化操作,处理100万长度的数组耗时在毫秒级,完全满足性能需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 02:54:08