直方图重组与插值?

时间:2016-06-27 16:14:51

标签: python numpy histogram

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

a=[1,2,3,4,5]
b=[2,3,6,7,1]

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

plt.hist(a,weights=b,bins=5)[0]

enter image description here

但是,如果我尝试重新计算到超过计数长度(在这种情况下为6或更多),则直方图会留下一个计数。

plt.hist(a,weights=b,bins=6)[0]

enter image description here

如何使用插值重新定位?有很长的方法可以手动分解数据,将其插入到新的分区和重构中,但我认为必须有一些numpy / scipy技巧。

  • 在图像处理圈中,这通常是直方图均衡

1 个答案:

答案 0 :(得分:2)

您有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个值,其实用性非常可疑。