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


Вы можете использовать следующий базовый синтаксис, чтобы получить первую строку каждой группы в DataFrame pandas:

 df. groupby (' column_name '). nth ( 0 )

В следующем примере показано, как использовать этот синтаксис на практике.

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

Предположим, у нас есть следующий DataFrame pandas:

 import pandas as pd

#createDataFrame
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 to 18 5
1 To 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 )

	assist points
team		
At 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 to 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 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
5 C 11 12
6 C 20 13

Примечание . Полную документацию по функции nth() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как получить первую строку Pandas DataFrame
Как удалить первую строку в Pandas DataFrame
Как вставить строку в DataFrame Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *