Comment ajouter un tableau Numpy à un DataFrame Pandas



Parfois, vous souhaiterez peut-être ajouter un tableau NumPy en tant que nouvelle colonne à un DataFrame pandas.

Heureusement, vous pouvez facilement le faire en utilisant la syntaxe suivante :

df['new_column'] = array_name.tolist()

Ce didacticiel montre quelques exemples d’utilisation pratique de cette syntaxe.

Exemple 1 : ajouter un tableau NumPy en tant que nouvelle colonne dans DataFrame

Le code suivant montre comment créer un DataFrame pandas pour contenir certaines statistiques des joueurs de basket-ball et ajouter un tableau NumPy en tant que nouvelle colonne intitulée « blocs » :

import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#create NumPy array for 'blocks'
blocks = np.array([2, 3, 1, 0, 2, 7, 8, 2])

#add 'blocks' array as new column in DataFrame
df['blocks'] = blocks.tolist()

#display the DataFrame
print(df)

   points  assists  rebounds  blocks
0      25        5        11       2
1      12        7         8       3
2      15        7        10       1
3      14        9         6       0
4      19       12         6       2
5      23        9         5       7
6      25        9         9       8
7      29        4        12       2

Notez que le nouveau DataFrame comporte désormais une colonne supplémentaire intitulée Blocks .

Exemple 2 : ajouter une matrice NumPy en tant que nouvelles colonnes dans DataFrame

Le code suivant montre comment créer un DataFrame pandas pour contenir certaines statistiques des joueurs de basket-ball et ajouter un tableau NumPy en tant que nouvelle colonne intitulée « blocs » :

import numpy as np
import pandas as pd

#create pandas DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23

#create NumPy matrix
mat = np.matrix([[2, 3],
                 [1, 0],
                 [2, 7],
                 [8, 2],
                 [3, 4],
                 [7, 7],
                 [7, 5],
                 [6, 3]])

#add NumPy matrix as new columns in DataFrame
df_new = pd.concat([df, pd.DataFrame(mat)], axis=1)

#display new DataFrame
print(df_new)

   points  assists  rebounds  0  1
0      25        5        11  2  3
1      12        7         8  1  0
2      15        7        10  2  7
3      14        9         6  8  2
4      19       12         6  3  4
5      23        9         5  7  7
6      25        9         9  7  5
7      29        4        12  6  3

Notez que les noms des colonnes de la matrice que nous avons ajoutée au DataFrame reçoivent des noms de colonne par défaut de 0 et 1 .

On peut facilement renommer ces colonnes en utilisant la fonction df.columns :

#rename columns
df_new.columns = ['pts', 'ast', 'rebs', 'new1', 'new2']

#display DataFrame
print(df_new)

   pts  ast  rebs  new1  new2
0   25    5    11     2     3
1   12    7     8     1     0
2   15    7    10     2     7
3   14    9     6     8     2
4   19   12     6     3     4
5   23    9     5     7     7
6   25    9     9     7     5
7   29    4    12     6     3

Ressources additionnelles

Comment empiler plusieurs DataFrames Pandas
Comment fusionner deux DataFrames Pandas sur l’index
Comment convertir Pandas DataFrame en tableau NumPy
Comment renommer des colonnes dans Pandas

Ajouter un commentaire

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