У меня есть фрейм данных:
импорт панд в виде pd
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
Мне нужен вот такой результат:
- для групповой сессии = 1, есть три проблемы и одна проблема b, поэтому для группы1, ранги a = 1 и b = 2
- для групповой сессии = 2, оба ранга равны, поэтому их ранг должен быть одинаковым = 1
- для групповой сессии = 3, естьна b вопросов, а один на проблему, поэтому ранги должны быть b = 1 и a = 2
В любом случае, почему для каждой группы ранги не начинаются с 1, 2, 3 ...?