同じ量を表す2つの列のデータがあります。 1列は私の訓練データから、もう1列は私の検証データからです。pythonを使用して別の列を基準にデータ列のパーセンタイル順位を計算する方法
私が使用して効率的に学習データのパーセンタイル順位を計算する方法を知っている:
pandas.DataFrame(training_data).rank(pct = True).values
私の質問はどのように私は効率的相対的な検証データ列のパーセンタイル順位の同様のセットを取得ことができ、ありますをトレーニングデータ列に追加しますか?つまり、検証データ列の各値について、訓練データ列のすべての値に対するパーセンタイルの順位付けを見つけるにはどうすればよいでしょうか?
私はこれやってみました:
def percentrank(input_data,comparison_data):
rescaled_data = np.zeros(input_data.size)
for idx,datum in enumerate(input_data):
rescaled_data[idx] =scipy.stats.percentileofscore(comparison_data,datum)
return rescaled_data/100
をしかし、私はこれも正しいかどうかわからないんだけど、それは各値に対して冗長な計算をたくさんやっているので、その上に、それは信じられないほど遅いですforループ内にあります。
ご協力いただければ幸いです!
ありがとう、それは非常に巧妙なトリックです! – Doodles