maksed_array を使用したランクデータで、次の奇妙な動作に気付きました。コードは次のとおりです。
import numpy as np
import scipy.stats as stats
m = [True, False]
print(stats.mstats.rankdata(np.ma.masked_array([1.0, 100], mask=m)))
# result [0. 1.]
print(stats.mstats.rankdata(np.ma.masked_array([1.0, np.nan], mask=m)))
# result [1. 0.]
print(stats.mstats.rankdata([1.0, np.nan]))
# result [1. 2.]
scipy docによると、マスクされた値には 0 が割り当てられます (use_missing=False)。では、なぜ 2 番目に [1 0] を出力するのでしょうか。バグ?