带插值的直方图重新组合?

csa*_*nes 1 python numpy histogram

我有计数a和权重b格式的直方图数据,例如:

a=[1,2,3,4,5]
b=[2,3,6,7,1]
Run Code Online (Sandbox Code Playgroud)

如果我将直方图分箱绘制成 5 个或更少的分箱,它会正确绘制并重新分箱:

plt.hist(a,weights=b,bins=5)[0]
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,如果我尝试重新合并超过计数长度(在本例中为 6 或更多),则直方图会遗漏一个计数。

plt.hist(a,weights=b,bins=6)[0]
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

任何想法如何重新组合插值?手动解压缩数据,将其插入到新的 bin 中并进行重建还有很长的路要走,但我认为必须有一些 numpy/scipy 技巧。

  • 在图像处理领域,这通常是直方图均衡化

hon*_*a_p 5

您有 5 个值的 6 个 bin。而且由于直方图只是一种非常简单(甚至可以说“愚蠢”)的值计数,因此从逻辑上讲,您必须至少有一个空箱。在这种情况下,bin 边缘类似于 [1, 1.66, 2.33, 3.00, ...]。左边缘是包容性的,右边缘(最后一个除外)不是 => [2.33, 3.00) 不包含您的任何值。

没有“使直方图更好”的正确方法,因此没有明显的 numpy/scipy 技巧。除非您对数字背后的含义有很强的推理能力,否则插值没有任何逻辑意义。原则上,您可以使用核密度估计(https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.kdeplot.html)但同样,有 5 个值,它的用处是非常可疑的。