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