Python 熊猫分组,并在每个组以1开头的组中排名
我有一个数据帧: 作为pd进口熊猫Python 熊猫分组,并在每个组以1开头的组中排名,python,pandas,group-by,size,rank,Python,Pandas,Group By,Size,Rank,我有一个数据帧: 作为pd进口熊猫 df = pd.DataFrame([[1, 'a'], [1, 'a'], [1, 'b'], [1, 'a'], [2, 'a'], [2, 'b'], [2, 'a'], [2,
df = pd.DataFrame([[1, 'a'],
[1, 'a'],
[1, 'b'],
[1, 'a'],
[2, 'a'],
[2, 'b'],
[2, 'a'],
[2, 'b'],
[3, 'b'],
[3, 'a'],
[3, 'b'],
], columns=['session', 'issue'])
df
我想在会议中对问题进行排名。
我试过:
df.groupby(['session', 'issue']).size().rank(ascending=False, method='dense')
session issue
1 a 1.0
b 3.0
2 a 2.0
b 2.0
3 a 3.0
b 2.0
dtype: float64
我需要的是这样的结果:
会话
):
这是一个解决办法。非常感谢。@user3225309-不客气!如果我的回答有帮助,别忘了。谢谢
s = (df.groupby(['session', 'issue'])
.size()
.groupby(level=0)
.rank(ascending=False, method='dense'))
print (s)
session issue
1 a 1.0
b 2.0
2 a 1.0
b 1.0
3 a 2.0
b 1.0
dtype: float64