Aggiungi una nuova colonna a DataFrame esistente in Python Pandas

  1. [] Metodo dell’operatore per aggiungere una nuova colonna in Pandas
  2. Metodo df.insert() per aggiungere una nuova colonna in Pandas
  3. Metodo df.assign() per aggiungere una nuova colonna in Pandas
  4. Metodo df.loc() per aggiungere una nuova colonna in Pandas

L’aggiunta di una nuova colonna a DataFrame esistente viene utilizzata molto frequentemente quando si lavora con set di dati di grandi dimensioni. Ad esempio, il DataFrame esistente ha le colonne First, Last e age e dobbiamo aggiungere una nuova colonna city. Di seguito sono elencati i diversi modi per eseguire questa operazione.

  1. Metodo operatore []
  2. Metodo df.insert()
  3. Metodo df.assign()
  4. Metodo df.loc()

Useremo lo stesso DataFrame nelle prossime sezioni come segue,

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age'])
print(df)

Produzione:

     First      Last Age
0      Ali     Azmat  30
1  Sharukh      Khan  40
2    Linus  Torvalds  70

[] Metodo dell’operatore per aggiungere una nuova colonna in Pandas

Potremmo usare l’operatore [] per aggiungere una nuova colonna al DataFrame esistente.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 
city = ['Lahore','Dehli','New York']
df['city'] = city
print(df)

Produzione:

     First      Last Age      city
0      Ali     Azmat  30    Lahore
1  Sharukh      Khan  40     Dehli
2    Linus  Torvalds  70  New York

Metodo df.insert() per aggiungere una nuova colonna in Pandas

Puoi usare la funzione df.insert() se vuoi aggiungere la nuova colonna a un indice specifico. Il primo parametro della funzione df.insert() è l’indice di inserimento che inizia da zero.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 
df.insert(3,"city",['Lahore','Dehli','New York'],True)
print(df)

Produzione:

     First      Last Age      city
0      Ali     Azmat  30    Lahore
1  Sharukh      Khan  40     Dehli
2    Linus  Torvalds  70  New York

Metodo df.assign() per aggiungere una nuova colonna in Pandas

df.assign() può anche essere usato per aggiungere una nuova colonna a un DataFrame esistente.

import pandas as pd

data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 

df = df.assign(city = ['Lahore','Dehli','New York'])
print(df)

Produzione:

     First      Last Age      city
0      Ali     Azmat  30    Lahore
1  Sharukh      Khan  40     Dehli
2    Linus  Torvalds  70  New York

Vediamo come aggiungere più colonne usando df.assign(). L’esempio seguente aggiungerà le colonne city e score.

import pandas as pd

data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 

df = df.assign(city = ['Lahore','Dehli','New York'], 
               score = [20,30,40])
print(df)

Produzione:

     First      Last Age      city  score
0      Ali     Azmat  30    Lahore     20
1  Sharukh      Khan  40     Dehli     30
2    Linus  Torvalds  70  New York     40

Metodo df.loc() per aggiungere una nuova colonna in Pandas

Il metodo df.loc() può anche aggiungere una nuova colonna in un DataFrame esistente.

import pandas as pd

data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 
df.loc[:,'city'] = ['Lahore','Dehli','New York']
print(df)

Produzione:

     First      Last Age      city
0      Ali     Azmat  30    Lahore
1  Sharukh      Khan  40     Dehli
2    Linus  Torvalds  70  New York