Panda: come creare una colonna se non esiste


È possibile utilizzare la seguente sintassi di base per creare una colonna in un DataFrame panda se non esiste già:

 df[' my_column '] = df. get (' my_column ', df[' col1 '] * df[' col2 ']) 

Questa particolare sintassi crea una nuova colonna chiamata my_column se non esiste già nel DataFrame ed è definita come il prodotto delle colonne esistenti col1 e col2 .

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

Esempio: crea una colonna in Pandas se non esiste

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
                   ' sales ': [4, 6, 5, 8, 14, 13, 13, 12, 9, 8, 19, 14],
                   ' price ': [1, 2, 2, 1, 2, 4, 4, 3, 3, 2, 2, 3]})

#view DataFrame
print (df)

    day sales price
0 1 4 1
1 2 6 2
2 3 5 2
3 4 8 1
4 5 14 2
5 6 13 4
6 7 13 4
7 8 12 3
8 9 9 3
9 10 8 2
10 11 19 2
11 12 14 3

Ora diciamo di provare ad aggiungere una colonna chiamata prezzo se non esiste già e di definirla come una colonna in cui ogni valore è 100:

 #attempt to add column called 'price'
df[' price '] = df. get (' price ', 100)    

#view updated DataFrame
print (df)

    day sales price
0 1 4 1
1 2 6 2
2 3 5 2
3 4 8 1
4 5 14 2
5 6 13 4
6 7 13 4
7 8 12 3
8 9 9 3
9 10 8 2
10 11 19 2
11 12 14 3

Poiché esiste già una colonna chiamata prezzo , panda semplicemente non la aggiunge al DataFrame.

Tuttavia, diciamo di provare ad aggiungere una nuova colonna chiamata revenue se non esiste già e di definirla come una colonna in cui i valori sono il prodotto delle colonne sales e price:

 #attempt to add column called 'revenue'
df[' revenue '] = df. get (' revenue ', df[' sales '] * df[' price '])

#view updated DataFrame
print (df)

    day sales price revenue
0 1 4 1 4
1 2 6 2 12
2 3 5 2 10
3 4 8 1 8
4 5 14 2 28
5 6 13 4 52
6 7 13 4 52
7 8 12 3 36
8 9 9 3 27
9 10 8 2 16
10 11 19 2 38
11 12 14 3 42

Questa colonna delle entrate viene aggiunta a DataFrame perché non esiste già.

Risorse addizionali

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

Come eliminare le righe in Pandas DataFrame in base alle condizioni
Come filtrare un Pandas DataFrame su più condizioni
Come utilizzare il filtro “NOT IN” in Pandas DataFrame

Aggiungi un commento

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