我有计数a
和权重b
格式的直方图数据,例如:
a=[1,2,3,4,5]
b=[2,3,6,7,1]
如果我将直方图分箱绘制成5个或更少的箱子,它会正确绘制并重新连接:
plt.hist(a,weights=b,bins=5)[0]
但是,如果我尝试重新计算到超过计数长度(在这种情况下为6或更多),则直方图会留下一个计数。
plt.hist(a,weights=b,bins=6)[0]
如何使用插值重新定位?有很长的方法可以手动分解数据,将其插入到新的分区和重构中,但我认为必须有一些numpy / scipy技巧。
答案 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个值,其实用性非常可疑。