Вы можете использовать следующий базовый синтаксис, чтобы получить первую строку каждой группы в кадре данных pandas:
df.groupby('column_name'). nth ( 0 )
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: получить первую строку каждой группы в Pandas
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'points': [18, 22, 19, 14, 14, 11, 20, 29],
'assists': [5, 19, 14, 8, 9, 12, 13, 8]})
#view DataFrame
df
team points assists
0 A 18 5
1 A 22 19
2 B 19 14
3 B 14 8
4 B 14 9
5 C 11 12
6 C 20 13
7 C 29 8
Мы можем использовать следующий код, чтобы получить первую строку для каждой команды:
#get first row for each team
df.groupby('team'). nth ( 0 )
points assists
team
A 18 5
B 19 14
C 11 12
Мы также можем указать as_index=False , чтобы сохранить исходные значения индекса:
#get first row for each team, keep original index values
df.groupby('team', as_index= False ). nth ( 0 )
team points assists
0 A 18 5
2 B 19 14
5 C 11 12
Также обратите внимание, что вы можете передать список значений функции nth() , если хотите получить первые n строк для каждой группы.
Например, следующий код показывает, как получить первые две строки для каждой группы:
#get first two rows for each team, keep original index values
df.groupby('team', as_index= False ). nth (( 0 , 1 ))
team points assists
0 A 18 5
1 A 22 19
2 B 19 14
3 B 14 8
5 C 11 12
6 C 20 13
Примечание.Полную документацию по функции nth() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как получить первую строку Pandas DataFrame
Как удалить первую строку в Pandas DataFrame
Как вставить строку в фрейм данных Pandas