0

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] を出力するのでしょうか。バグ?

4

1 に答える 1