group_ID
,item_ID
およびvalue
の3つの列を持つデータフレームを考えてみましょう。合計で10 itemIDs
があるとします。パンダのグループごとの順位付け
私はランク付けする必要がある各item_ID
内(1〜10)の各group_ID
value
に基づいて、その後、例えばグループ全体最高値を持つIDをグループ全体での平均順位(および他の統計)(見るでしょうランクを1に近づける)。 パンダではどうすればいいですか?
This answerは、qcut
と非常に近いものですが、まったく同じではありません。
group_ID item_ID value
0 0S00A1HZEy AB 10
1 0S00A1HZEy AY 4
2 0S00A1HZEy AC 35
3 0S03jpFRaC AY 90
4 0S03jpFRaC A5 3
5 0S03jpFRaC A3 10
6 0S03jpFRaC A2 8
7 0S03jpFRaC A4 9
8 0S03jpFRaC A6 2
9 0S03jpFRaC AX 0
:
データの例は次のようになり
group_ID item_ID rank
0 0S00A1HZEy AB 2
1 0S00A1HZEy AY 3
2 0S00A1HZEy AC 1
3 0S03jpFRaC AY 1
4 0S03jpFRaC A5 5
5 0S03jpFRaC A3 2
6 0S03jpFRaC A2 4
7 0S03jpFRaC A4 3
8 0S03jpFRaC A6 6
9 0S03jpFRaC AX 7
'scipy.stats'の' rankdata'関数を使ってデータのランク付けを行うことができます。次に、この機能を適切にグループ化してデータフレームに適用するエクササイズになります。 – Olaf
ありがとう@DSM私は投稿を編集中でした。私は最新のランキングが正しいと思います。 –
はい! @DSM申し訳ありません、ただ修正しました。ありがとう。 –