我有一个长度超过null
的给定数组,其值在some custom
和1'000'000
(包括)之间作为整数。现在我想在x轴上绘制从0
到255
的整数,并在y轴上绘制给定数组中相应x值的数量(称为0
in我现在的代码。)
我想到了这段代码:
255
但是我有什么方法可以更快地完成这项工作(目前需要几分钟)?我考虑过Arr
,但是找不到合适的包裹。
答案 0 :(得分:1)
使用numpy.bincount
执行此任务(查找更多详细信息here)
import numpy as np
list = np.bincount(Arr)
答案 1 :(得分:0)
虽然我完全同意您之前的答案,您应该使用标准直方图算法,但很容易大大加快您自己的实施速度。它的问题是你一遍又一遍地通过每个bin的整个输入 。只处理输入一次,然后只写入相关的bin:
会快得多def hist(arr):
nbins = 256
result = [0] * nbins # or np.zeroes(nbins)
for y in arr:
if y>=0 and y<nbins:
result[y] += 1
return result