マスクされた配列の場合のnumpy.medianの出力について少し混乱しています。これは簡単な例です(numpyがインポートされていると仮定します-私はバージョン1.6.2を持っています):
>>> a = [3.0, 4.0, 5.0, 6.0, numpy.nan]
>>> am = numpy.ma.masked_array(a, [numpy.isnan(x) for x in a])
nan
中央値を計算するときに、マスクされた配列を使用して配列内の値を無視できるようにしたいと思います。これは、マスクされた配列のいずれかnumpy.mean
または方法を使用することを意味します。mean()
>>> numpy.mean(a)
nan
>>> numpy.mean(am)
4.5
>>> am.mean()
4.5
ただし、中央値については、次のようになります。
>>> numpy.median(am)
5.0
しかし、私はこの結果のようなものを期待しています:
>>> numpy.median([x for x in a if not numpy.isnan(x)])
4.5
残念ながら、aにはメソッドmasked_array
がありませんmedian
。