Pandas: как получить первую строку каждой группы


Вы можете использовать следующий базовый синтаксис, чтобы получить первую строку каждой группы в кадре данных 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.