Ajouter une nouvelle colonne aux DataFrame existants dans Pandas Python

  1. Méthode d’opérateur [] pour ajouter une nouvelle colonne dans Pandas
  2. Méthode df.insert() pour ajouter une nouvelle colonne dans Pandas
  3. Méthode df.assign() pour ajouter une nouvelle colonne dans Pandas
  4. Méthode df.loc() pour ajouter une nouvelle colonne dans Pandas

L’ajout d’une nouvelle colonne à DataFrame existant est utilisé très fréquemment lorsque vous travaillez avec de grands ensembles de données. Par exemple, le DataFrame existant a des colonnes First, Last et age, et nous devons lui ajouter une nouvelle colonne city. Voici les différentes façons d’accomplir cette tâche.

  1. Méthode opérateur []
  2. Méthode df.insert()
  3. méthode df.assign()
  4. Méthode df.loc()

Nous utiliserons le même DataFrame dans les sections suivantes comme suit,

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

Production:

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

Méthode d’opérateur [] pour ajouter une nouvelle colonne dans Pandas

Nous pourrions utiliser l’opérateur [] pour ajouter une nouvelle colonne au DataFrame existant.

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)

Production:

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

Méthode df.insert() pour ajouter une nouvelle colonne dans Pandas

Vous pouvez utiliser la fonction df.insert() si vous souhaitez ajouter la nouvelle colonne à un index spécifique. Le premier paramètre de la fonction df.insert() est l’indice d’insertion à partir de zéro.

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)

Production:

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

Méthode df.assign() pour ajouter une nouvelle colonne dans Pandas

df.assign() peut également être utilisé pour ajouter une nouvelle colonne à un DataFrame existant.

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)

Production:

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

Voyons comment ajouter plusieurs colonnes en utilisant df.assign(). L’exemple ci-dessous ajoutera les colonnes city et 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)

Production:

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

Méthode df.loc() pour ajouter une nouvelle colonne dans Pandas

La méthode df.loc() peut également ajouter une nouvelle colonne dans un DataFrame existant.

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)

Production:

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