如何将Nan权重合并到numpy bincounts中

时间:2019-06-15 21:52:07

标签: python numpy

如果权重中的单个值为nan,则Numpy的bincount函数将给出一个nan值。我只希望它在该bin的所有权重均为nan时返回nan值。

使用此帖子的修改版本(Most efficient way to calculate radial profile),我试图创建一个径向平均值,但想要包含稀疏但仍存在平均值的区域,但是在没有数据时显示缺失值完全

def radial_profile(data, center):
    y, x = np.indices((data.shape))
    r = np.sqrt((x - center[0])**2 + (y - center[1])**2)
    r = r.astype(np.int)
    DR=data.ravel()
    RR=r.ravel()
    keep = ~np.isnan(DR)
    tbin = np.bincount(RR[keep],DR[keep])
    rbin = np.bincount(RR[keep])
    tr=tbin/rbin
    return tr

这使我尽管丢失了一些值,但仍可以对数据进行径向平均,但是在数据空半径处却没有提供nan值。

0 个答案:

没有答案