如何将3d直方图的边值转换为直方图的中点值?

时间:2018-04-10 05:15:11

标签: python-3.x numpy histogram interpolation histogram2d

如果hist, (x, y, z) = numpy.histogramdd()为您提供与对应的位置( x y z )的直方图值如何计算(插值)中点的直方图值( x + d / 2 ,< em> y + d / 2 z + d / 2 )其中 d 是所有三个方向上的二元箱的固定大小?

1 个答案:

答案 0 :(得分:1)

实际上,np.histogramddx, y, z提供了bin边界,但计数是“在中点”,而不是边界(严格来说,它们都不是,它们都超过d x d x d以中点为中心的立方体。)

如果---出于某种原因---你在边界处有值并想要插值,如果你对线性插值没问题:

np.lib.stride_tricks.as_strided(hist, (2, 2, 2, *map((-1).__add__, hist.shape)), 2 * hist.strides).mean(axis=(0, 1, 2))

这只取8个最近邻居的平均值。