我的数据框看起来像这样:
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。我在做什么错?
['name1','name2']
仅观察到一个要获得输出,您正在寻找仅按name1
分组的组>
df.groupby(['name1']).rank()