Crea una colonna vuota in Pandas DataFrame

Suraj Joshi 30 gennaio 2023
  1. Crea pandas di colonne vuote con l’assegnazione semplice
  2. Metodo pandas.DataFrame.reindex() per aggiungere una colonna vuota in Pandas
  3. pandas.DataFrame.assign() per aggiungere una colonna vuota in Pandas DataFrame
  4. pandas.DataFrame.insert() per aggiungere una colonna vuota a un DataFrame
Crea una colonna vuota in Pandas DataFrame

Potremmo usare i metodi reindex(), assign() e insert() dell’oggetto DataFrame per aggiungere una colonna vuota a DataFrame in Pandas. Possiamo anche assegnare direttamente un valore vuoto alla colonna di DataFrame per creare una colonna vuota in Pandas.

Crea pandas di colonne vuote con l’assegnazione semplice

Possiamo assegnare direttamente colonne di DataFrame a una stringa vuota, un valore NaN o una Series Pandas vuota per creare una colonna vuota in Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df["Empty_1"] = ""
df["Empty_2"] = np.nan
df["Empty_3"] = pd.Series()

print(df)

Produzione:

       Date  Income  Expenses Empty_1  Empty_2  Empty_3
0  April-20      10         3              NaN      NaN
1  April-21      20         8              NaN      NaN
2  April-22      10         4              NaN      NaN
3  April-23      15         5              NaN      NaN
4  April-24      10         6              NaN      NaN
5  April-25      12        10              NaN      NaN

Crea tre colonne vuote in df. La colonna Vuoto_1 è assegnata con la stringa vuota, Empty_2 è assegnata con valori NaN e Empty_3 è assegnata con una Series Pandas vuota che si traduce anche in valori NaN dell’intero Empty_3 colonna.

Metodo pandas.DataFrame.reindex() per aggiungere una colonna vuota in Pandas

Possiamo usare il metodo pandas.DataFrame.reindex() per aggiungere più colonne vuote a un DataFrame in Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})


column_names = ["Empty_1", "Empty_2", "Empty_3"]

df = df.reindex(columns=column_names)
print(df)

Produzione:

   Empty_1  Empty_2  Empty_3
0      NaN      NaN      NaN
1      NaN      NaN      NaN
2      NaN      NaN      NaN
3      NaN      NaN      NaN
4      NaN      NaN      NaN
5      NaN      NaN      NaN

Il codice crea nuove colonne Empty_1, Empty_2, Empty_3 in df con tutti i valori NaN mentre tutte le vecchie informazioni vengono perse.

Per aggiungere più nuove colonne preservando l’iniziale, potremmo scrivere il codice come segue:

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.reindex(columns=df.columns.tolist() + ["Empty_1", "Empty_2", "Empty_3"])
print(df)

Produzione:

       Date  Income  Expenses  Empty_1  Empty_2  Empty_3
0  April-20      10         3      NaN      NaN      NaN
1  April-21      20         8      NaN      NaN      NaN
2  April-22      10         4      NaN      NaN      NaN
3  April-23      15         5      NaN      NaN      NaN
4  April-24      10         6      NaN      NaN      NaN
5  April-25      12        10      NaN      NaN      NaN

Questo aggiunge colonne vuote Empty_1, Empty_2 e Empty_3 al df con la conservazione delle informazioni iniziali.

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

Possiamo usare il metodo pandas.DataFrame.assign() per aggiungere una colonna vuota a DataFrame in Pandas.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})

df = df.assign(Empty_1="", Empty_2=np.nan)
print(df)

Produzione:

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Crea una colonna vuota denominata Empty_1 e Empty_2 contenente solo i valori NaN in df.

pandas.DataFrame.insert() per aggiungere una colonna vuota a un DataFrame

pandas.DataFrame.insert() ci permette di inserire una colonna in un DataFrame nella posizione specificata. Possiamo usare questo metodo per aggiungere una colonna vuota a un DataFrame.

Sintassi:

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

Crea una nuova colonna con il nome column nella posizione loc con il valore predefinito valore. allow_duplicates=False assicura che ci sia solo una colonna con il nome column nel dataFrame. Se passiamo una stringa vuota o un valore NaN come parametro di valore, possiamo aggiungere una colonna vuota al DataFrame.

import pandas as pd
import numpy as np

dates = ["April-20", "April-21", "April-22", "April-23", "April-24", "April-25"]
income = [10, 20, 10, 15, 10, 12]
expenses = [3, 8, 4, 5, 6, 10]


df = pd.DataFrame({"Date": dates, "Income": income, "Expenses": expenses})
df.insert(3, "Empty_1", "")
df.insert(4, "Empty_2", np.nan)
print(df)

Produzione:

       Date  Income  Expenses Empty_1  Empty_2
0  April-20      10         3              NaN
1  April-21      20         8              NaN
2  April-22      10         4              NaN
3  April-23      15         5              NaN
4  April-24      10         6              NaN
5  April-25      12        10              NaN

Crea la colonna Empty_1 in df con tutti i valori vuoti all’indice 3 e Empty_2 all’indice 4 con tutti i valori NaN.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Pandas DataFrame Column

Articolo correlato - Pandas DataFrame