我有一个长度超过1'000'000
的给定数组,值在0
和255
(包括)之间作为整数。现在我想在x轴上绘制从0
到255
的整数,在y轴上绘制给定数组中相应x值的数量(在我当前的代码中称为Arr
)。你知道吗
我想到了这个密码:
list = []
for i in range(0, 256):
icounter = 0
for x in range(len(Arr)):
if Arr[x] == i:
icounter += 1
list.append(icounter)
但是有没有什么方法可以让我做得更快一点(我现在要花几分钟的时间)?我想了一个import ...
,但是没有找到一个好的包。你知道吗
为此任务使用
numpy.bincount
(查看更多详细信息here)虽然我完全同意前面的答案,即您应该使用标准的直方图算法,但很容易大大加快您自己的实现。它的问题是你一遍又一遍地传递每个箱子的整个输入。只处理一次输入,然后只写入相关的bin,速度会快得多:
相关问题 更多 >
编程相关推荐