Aggiungi una nuova colonna a DataFrame esistente con valore predefinito in Pandas

  1. pandas.DataFrame.assign() per aggiungere una nuova colonna in Pandas DataFrame
  2. Accedi alla nuova colonna per impostarla con un valore predefinito
  3. pandas.DataFrame.insert() per aggiungere una nuova colonna in Pandas DataFrame

Potremmo usare i metodi assign() e insert() degli oggetti DataFrame per aggiungere una nuova colonna al DataFrame esistente con i valori predefiniti. Possiamo anche assegnare direttamente un valore predefinito alla colonna di DataFrame da creare.

Useremo il seguente dataframe come esempio nelle sezioni seguenti.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

print(df)

Produzione:

       Date   Fruit  Price
0  April-10   Apple      3
1  April-11  Papaya      1
2  April-12  Banana      2
3  April-13   Mango      4

pandas.DataFrame.assign() per aggiungere una nuova colonna in Pandas DataFrame

Possiamo usare il metodo pandas.DataFrame.assign() per aggiungere una nuova colonna al DataFrame esistente e assegnare la colonna DataFrame appena creata con i valori predefiniti.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

new_df=df.assign(Profit=6)
print(new_df)

Produzione:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       6
1  April-11  Papaya      1       6
2  April-12  Banana      2       6
3  April-13   Mango      4       6

Il codice crea una nuova colonna Profit nel DataFrame e imposta i valori dell’intera colonna su 6.

Accedi alla nuova colonna per impostarla con un valore predefinito

Possiamo utilizzare l’indicizzazione DataFrame per creare una nuova colonna in DataFrame e impostarla sui valori predefiniti.

Sintassi:

df[col_name]=value

Crea una nuova colonna col_name in DataFrame df e imposta il valore predefinito per l’intera colonna su value.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df['Profit']=5
print(df)

Produzione:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       5
1  April-11  Papaya      1       5
2  April-12  Banana      2       5
3  April-13   Mango      4       5

pandas.DataFrame.insert() per aggiungere una nuova colonna in Pandas DataFrame

pandas.DataFrame.insert() ci permette di inserire una colonna in un DataFrame nella posizione specificata.

Sintassi:

DataFrame.insert(loc, column, value, allow_duplicates=False)

Crea una nuova colonna con il nome column nella posizione loc con il valore predefinito value. allow_duplicates=False assicura che ci sia solo una colonna con il nome column nel DataFrame.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df.insert(2, "profit", 4, allow_duplicates=False)
print(df

Produzione:

       Date   Fruit  profit  Price
0  April-10   Apple       4      3
1  April-11  Papaya       4      1
2  April-12  Banana       4      2
3  April-13   Mango       4      4

Qui, una colonna con il nome profit è inserita all’indice 2 con il valore predefinito 4.

Articolo correlato - Pandas DataFrame Column

  • Pandas Asse Significato
  • Pandas Groupby due colonne
  • Articolo correlato - Pandas DataFrame

  • Converti NumPy Array in Pandas DataFrame
  • I pandas convertono i valori delle colonne in stringa