首页 > 解决方案 > 如果不存在元素值,则在保留空间的同时计算数组中值的频率的有效方法

问题描述

我有一个大型 1d NumPy 数组,其值介于 [0, 6] 之间。例如,假设A = [0, 0, 2, 4, 4]

我想从 A 创建以下数组:B = [2, 0, 1, 0, 2, 0, 0]

这是因为 A 中有 2 个 0,A 中有 0 个 1,A 中有 1 个 2,A 中有 0 个 3,A 中有 2 个 4,A 中有 0 个 5,A 中有 0 个 6。

我不确定最有效的方法是什么。

标签: pythonnumpy

解决方案


尝试np.bincount

In [944]: np.bincount(A, minlength=7)
Out[944]: array([2, 0, 1, 0, 2, 0, 0], dtype=int64)

推荐阅读