2017-03-09 10 views
1

以下の条件付きパンダのデータフレームの列を横切って(パーセンタイルを算出)ソートする説得力のある方法がある場合、私は思っていた:パンダ:ソート/パーセンタイル各行列カテゴリ内

は、各カテゴリ内のパーセンタイルの計算を行い。各列は、(グラフィカルな説明については、リンクを参照してください。)カテゴリと各カテゴリ内で行われるパーセンタイルの計算に属します

を私はカテゴリを無視すれば、以下の通りに行うことができますことを学びました:

TargetRanking = StartingData.rank(axis="columns", pct=True) 

しかし、私は各列を各列のカテゴリでグループ化する必要があります。次のリンクにあるグラフィックの説明を参照してください。

enter image description here

答えて

0

あなたはその辞書でグループの列を単に、あなたがカテゴリのマッピングを持つ辞書を持っていたと仮定すると、その後、以前のようにrankを使用しています。

categories = {'X1': 'A', 'X3': 'A', 'X5': 'A', 'X2': 'B', 'X4': 'B'} 

df.set_index('Date').groupby(categories, axis=1).rank(pct=True) 

enter image description here

関連する問題