Panda: come ottenere la prima fila di ogni gruppo


È possibile utilizzare la seguente sintassi di base per ottenere la prima riga di ciascun gruppo in un DataFrame panda:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: ottieni la prima riga di ciascun gruppo in Pandas

Supponiamo di avere i seguenti panda DataFrame:

 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

Possiamo usare il seguente codice per ottenere la prima riga per ogni squadra:

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

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

Possiamo anche specificare as_index=False per mantenere i valori dell’indice originale:

 #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

Tieni inoltre presente che puoi passare un elenco di valori alla funzione nth() se desideri ottenere le prime n righe di ciascun gruppo.

Ad esempio, il codice seguente mostra come ottenere le prime due righe di ciascun gruppo:

 #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 : puoi trovare la documentazione completa per la funzione nth() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come ottenere la prima riga di Pandas DataFrame
Come rimuovere la prima riga in Pandas DataFrame
Come inserire una riga in un DataFrame Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *