Pandas : Comment créer un nouveau DataFrame à partir d’un DataFrame existant



Il existe trois manières courantes de créer un nouveau DataFrame pandas à partir d’un DataFrame existant :

Méthode 1 : créer un nouveau DataFrame à l’aide de plusieurs colonnes de l’ancien DataFrame

new_df = old_df[['col1','col2']].copy()

Méthode 2 : créer un nouveau DataFrame à l’aide d’une colonne de l’ancien DataFrame

new_df = old_df[['col1']].copy()

Méthode 3 : créer un nouveau DataFrame en utilisant toutes les colonnes sauf une de l’ancien DataFrame

new_df = old_df.drop('col1', axis=1)

Les exemples suivants montrent comment utiliser chaque méthode avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
old_df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                       'points': [18, 22, 19, 14, 14, 11, 20, 28],
                       'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                       'rebounds': [11, 8, 10, 6, 6, 7, 9, 12]})

#view DataFrame
print(old_df)

Exemple 1 : Créer un nouveau DataFrame à l’aide de plusieurs colonnes de l’ancien DataFrame

Le code suivant montre comment créer un nouveau DataFrame en utilisant plusieurs colonnes de l’ancien DataFrame :

#create new DataFrame from existing DataFrame
new_df = old_df[['points','rebounds']].copy()

#view new DataFrame
print(new_df)

   points  rebounds
0      18        11
1      22         8
2      19        10
3      14         6
4      14         6
5      11         7
6      20         9
7      28        12

#check data type of new DataFrame
type(new_df)

pandas.core.frame.DataFrame

Notez que ce nouveau DataFrame contient uniquement les colonnes de points et de rebonds de l’ancien DataFrame.

Remarque : Il est important d’utiliser la fonction copy() lors de la création du nouveau DataFrame afin d’éviter tout SettingWithCopyWarning si nous modifions le nouveau DataFrame de quelque manière que ce soit.

Exemple 2 : Créer un nouveau DataFrame en utilisant une colonne de l’ancien DataFrame

Le code suivant montre comment créer un nouveau DataFrame en utilisant une colonne de l’ancien DataFrame :

#create new DataFrame from existing DataFrame
new_df = old_df[['points']].copy()

#view new DataFrame
print(new_df)

   points
0      18
1      22
2      19
3      14
4      14
5      11
6      20
7      28

#check data type of new DataFrame
type(new_df)

pandas.core.frame.DataFrame

Notez que ce nouveau DataFrame contient uniquement les points et les colonnes de l’ancien DataFrame.

Exemple 3 : Créer un nouveau DataFrame en utilisant toutes les colonnes sauf une de l’ancien DataFrame

Le code suivant montre comment créer un nouveau DataFrame en utilisant toutes les colonnes de l’ancien DataFrame sauf une :

#create new DataFrame from existing DataFrame
new_df = old_df.drop('points', axis=1)

#view new DataFrame
print(new_df)

  team  assists  rebounds
0    A        5        11
1    A        7         8
2    A        7        10
3    A        9         6
4    B       12         6
5    B        9         7
6    B        9         9
7    B        4        12

#check data type of new DataFrame
type(new_df)

pandas.core.frame.DataFrame

Notez que ce nouveau DataFrame contient toutes les colonnes du DataFrame d’origine à l’exception de la colonne des points .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :

Comment créer un DataFrame Pandas vide avec des noms de colonnes
Comment ajouter une colonne à un DataFrame Pandas
Comment ajouter plusieurs colonnes au Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *