Panda: come combinare righe con gli stessi valori di colonna


È possibile utilizzare la seguente sintassi di base per combinare righe con gli stessi valori di colonna in un DataFrame panda:

 #define how to aggregate various fields
agg_functions = {' field1 ': ' first ', ' field2 ': ' sum ', ' field ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

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

Esempio: combina righe con gli stessi valori di colonna in Panda

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle vendite e sui resi effettuati da vari dipendenti di un’azienda:

 import pandas as pd

#create dataFrame
df = pd. DataFrame ({' id ': [101, 101, 102, 103, 103, 103],
                   ' employee ': ['Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'],
                   ' sales ': [4, 1, 3, 2, 5, 3],
                   ' returns ': [1, 2, 2, 1, 3, 2]})

#view DataFrame
print (df)

    id employee sales returns
0 101 Dan 4 1
1 101 Dan 1 2
2 102 Rick 3 2
3 103 Ken 2 1
4 103 Ken 5 3
5 103 Ken 3 2

Possiamo utilizzare la seguente sintassi per combinare le righe che hanno lo stesso valore nella colonna id e quindi aggregare le colonne rimanenti:

 #define how to aggregate various fields
agg_functions = {' employee ': ' first ', ' sales ': ' sum ', ' returns ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

#view new DataFrame
print (df_new)

    employee sales returns
id                          
101 Dan 5 3
102 Rick 3 2
103 Ken 10 6

Il nuovo DataFrame combinava tutte le righe del precedente DataFrame che avevano lo stesso valore nella colonna id , quindi calcolava la somma dei valori nelle colonne sales e return .

Nota : fare riferimento alla documentazione di panda per un elenco completo delle aggregazioni disponibili per l’uso con la funzione GroupBy() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: come trovare la differenza tra due colonne
Panda: come trovare la differenza tra due linee
Panda: come ordinare le colonne per nome

Aggiungi un commento

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