私のデータフレームは次のようになります:
name1 name2 value
1 Jane Foo 2
2 Jane Bar 4
3 John Foo 7
4 John Bar 1
df.groupby(['name1', 'name2']).count()
を実行すると、次のようになります。
value
name1 name2
Jane Foo 1
Jane Bar 1
John Foo 1
John Bar 1
しかし、私は各マルチインデックスグループ内の各値のランクを見つけようとしています。理想的には、 df.groupby(['name1', 'name2']).rank()
を使用すると、次のようになります。
value
name1 name2
Jane Foo 2
Jane Bar 1
John Foo 1
John Bar 2
しかし、代わりに私は単に得る:
value
1 1
2 1
3 1
4 1
グループ化された列の名前が削除されると、インデックス番号だけがインデックスになり、すべての行のランク値は1になります。私は間違って何をしていますか?