如果权重中的单个值为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值。