【问题标题】:How to convert edge-values of a 3d histogram into mid-point values of the histogram?如何将 3d 直方图的边缘值转换为直方图的中点值?
【发布时间】: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


    【解决方案1】:

    实际上,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 个最近邻居的平均值。

    【讨论】:

      猜你喜欢
      • 2019-10-23
      • 2012-07-15
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多