【发布时间】:2018-04-10 05:15:11
【问题描述】:
如果hist, (x, y, z) = numpy.histogramdd() 为您提供与 边 一个三维函数的 bin,如何计算(插值)中点的直方图值,即 (x+d/2, y+d/2, z+d/2) 其中d是所有三个方向的固定大小的bin?
【问题讨论】:
标签: python-3.x numpy histogram interpolation histogram2d
如果hist, (x, y, z) = numpy.histogramdd() 为您提供与 边 一个三维函数的 bin,如何计算(插值)中点的直方图值,即 (x+d/2, y+d/2, z+d/2) 其中d是所有三个方向的固定大小的bin?
【问题讨论】:
标签: python-3.x numpy histogram interpolation histogram2d
实际上,np.histogramdd 为您提供了x, 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 个最近邻居的平均值。
【讨论】: