26

varx と vary という 2 つの配列があります。両方とも、さまざまな位置に NAN 値が含まれています。ただし、2 つの配列がどの程度相関しているかを示すために、両方で線形回帰を実行したいと思います。これはこれまで非常に役に立ちました: http://glowingpython.blogspot.de/2012/03/linear-regression-with-numpy.html

ただし、これを使用すると:

slope, intercept, r_value, p_value, std_err = stats.linregress(varx, vary)

すべての出力変数の結果は nans になります。線形回帰への入力として両方の配列から有効な値のみを取得する最も便利な方法は何ですか? マスキング配列について聞いたことがありますが、それがどのように機能するのか正確にはわかりません。

4

1 に答える 1

40

マスクを使用して NaN を削除できます。

mask = ~np.isnan(varx) & ~np.isnan(vary)
slope, intercept, r_value, p_value, std_err = stats.linregress(varx[mask], vary[mask])
于 2012-11-30T10:34:27.720 に答える