我有两个数组,比如varx和vary。两者都包含不同位置的NAN值。但是,我想对两者进行线性回归,以显示两个数组的相关程度。 到目前为止,这非常有用:http://glowingpython.blogspot.de/2012/03/linear-regression-with-numpy.html
然而,使用这个:
slope, intercept, r_value, p_value, std_err = stats.linregress(varx, vary)
导致每个输出变量的nans。将两个数组中的有效值作为线性回归的输入的最方便的方法是什么?我听说过屏蔽阵列,但我不确定它是如何工作的。
答案 0 :(得分:19)
您可以使用遮罩删除NaN:
mask = ~np.isnan(varx) & ~np.isnan(vary)
slope, intercept, r_value, p_value, std_err = stats.linregress(varx[mask], vary[mask])