Y是包含NA值和数值的np数组。我想用下面的公式计算的值Y_new替换所有非NA值:
Y_min = np.nanmin(Y)
Y_max = np.nanmax(Y)
Y_new = (np.log(Y)-np.log(Y_min))/(np.log(Y_max)-np.log(Y_min))
怎么做,同时在那里保留NA值,只改变非NA值?
答案 0 :(得分:2)
一种方法是通过使用np.isnan
创建遮罩将其重新放入。
Y_new = (np.log(Y) - np.log(Y_min)) / (np.log(Y_max) - np.log(Y_min))
Y_new[np.isnan(Y)] = np.nan