У меня есть такой фрейм данных:
ID A B
0 7 4
0 5 2
0 0 3
1 6 7
1 8 9
2 5 5
Я хотел бы выбрать первые x строк для всех IDs
, но только с тем, что для этих IDs
больше строк, например:
Если x == 2:
ID A B
0 7 4
0 5 2
1 6 7
1 8 9
Если x == 3:
ID A B
0 7 4
0 5 2
0 0 3
... и т. Д.
Использованиеdf.groupby("ID").head(2)
приблизительно соответствует тому, что я хочу, но включает в себя первую строку для ID "2"
, которая мне не нужна:
ID A B
0 7 4
0 5 2
1 6 7
1 8 9
2 5 5
Существует ли эффективный способ сделать это, не прибегая к подсчету строкза каждый ID
?