#python #pandas #pandas-groupby
#python #pandas #pandas-groupby
Вопрос:
У меня есть этот df :
sum count
priority alias
120 CI0 7.13 903
CI1 2.57 1
CI2 2.27 1
CI3 1.34 81
CI4 2.21 1
CI5 5.34 14
123 G1 2.95 3
G2 4.67 12
M1 5.21 2
126 M2 4.14 279
A1 1.86 8
Я хотел бы извлечь три первые строки псевдонима каждого приоритета.
Результат должен быть :
sum count
priority alias
120 CI0 7.13 903
CI1 2.57 1
CI2 2.27 1
123 G1 2.95 3
G2 4.67 12
M1 5.21 2
126 M2 4.14 279
A1 1.86 8
Я пытался поместить head(3)
в свой код, но это не работает, мой текущий код:
df = df.groupby(['priority', 'alias'])['duration'].agg(['sum','count'])
Ответ №1:
Попробуйте groupby().head()
df.groupby('priority').head(3)
priority alias sum count
0 120 CI0 7.13 903
1 120 CI1 2.57 1
2 120 CI2 2.27 1
6 123 G1 2.95 3
7 123 G2 4.67 12
8 123 M1 5.21 2
9 126 M2 4.14 279
10 126 A1 1.86 8
Комментарии:
1. когда мы сделали самое сложное, и мы не можем сделать самое простое… Достаточно было сделать это отдельно. Спасибо