Pandas: como obter a primeira linha de cada grupo


Você pode usar a seguinte sintaxe básica para obter a primeira linha de cada grupo em um DataFrame do pandas:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Obtenha a primeira linha de cada grupo no Pandas

Suponha que temos o seguinte DataFrame do 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

Podemos usar o seguinte código para obter a primeira linha de cada equipe:

 #get first row for each team
df. groupby (' team '). nth ( 0 )

	assist points
team		
At 18 5
B 19 14
C 11 12

Também podemos especificar as_index=False para reter os valores originais do índice:

 #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

Observe também que você pode passar uma lista de valores para a função nth() se quiser obter as primeiras n linhas de cada grupo.

Por exemplo, o código a seguir mostra como obter as duas primeiras linhas de cada grupo:

 #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

Nota : Você pode encontrar a documentação completa para a função nth() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como obter a primeira linha do Pandas DataFrame
Como remover a primeira linha no Pandas DataFrame
Como inserir uma linha em um DataFrame do Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *