Convertir Pandas DataFrame en tableau NumPy (avec exemples)
Vous pouvez utiliser la syntaxe suivante pour convertir un DataFrame pandas en tableau NumPy :
df.to_numpy()
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : convertir un DataFrame avec les mêmes types de données
Le code suivant montre comment convertir un DataFrame pandas en tableau NumPy lorsque chacune des colonnes du DataFrame est du même type de données :
import pandas as pd #create data frame df1 = pd.DataFrame({'rebounds': [7, 7, 8, 13, 7, 4], 'points': [5, 7, 7, 9, 12, 9], 'assists': [11, 8, 10, 6, 6, 5]}) #view data frame print(df1) rebounds points assists 0 7 5 11 1 7 7 8 2 8 7 10 3 13 9 6 4 7 12 6 5 4 9 5 #convert DataFrame to NumPy array new = df1.to_numpy() #view NumPy array print(new) [[ 7 5 11] [ 7 7 8] [ 8 7 10] [13 9 6] [ 7 12 6] [ 4 9 5]] #confirm that new is a NumPy array print(type(new)) <class 'numpy.ndarray'> #view data type print(new.dtype) int64
Le tableau Numpy a un type de données de int64 puisque chaque colonne du DataFrame pandas d’origine était un entier.
Exemple 2 : Convertir un DataFrame avec des types de données mixtes
Le code suivant montre comment convertir un DataFrame pandas en tableau NumPy lorsque les colonnes du DataFrame ne sont pas toutes du même type de données :
import pandas as pd #create data frame df2 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F'], 'points': [5, 7, 7, 9, 12, 9], 'assists': [11, 8, 10, 6, 6, 5]}) #view data frame print(df2) player points assists 0 A 5 11 1 B 7 8 2 C 7 10 3 D 9 6 4 E 12 6 5 F 9 5 #convert DataFrame to NumPy array new = df2.to_numpy() #view NumPy array print(new) [['A' 5 11] ['B' 7 8] ['C' 7 10] ['D' 9 6] ['E' 12 6] ['F' 9 5]] #confirm that new is a NumPy array print(type(new)) <class 'numpy.ndarray'> #view data type print(new.dtype) object
Le tableau Numpy a un type de données d’ objet car toutes les colonnes du DataFrame pandas d’origine n’étaient pas du même type de données.
Exemple 3 : convertir le DataFrame et définir les valeurs NA
Le code suivant montre comment convertir un DataFrame pandas en tableau NumPy et spécifier les valeurs à définir pour toutes les valeurs NA dans le DataFrame d’origine :
import pandas as pd #create data frame df3 = pd.DataFrame({'player': ['A', 'B', pd.NA, 'D', 'E', 'F'], 'points': [5, 7, pd.NA, 9, pd.NA, 9], 'assists': [11, 8, 10, 6, 6, 5]}) #view data frame print(df3) player points assists 0 A 5 11 1 B 7 8 2 <NA> <NA> 10 3 D 9 6 4 E <NA> 6 5 F 9 5 #convert DataFrame to NumPy array new = df3.to_numpy(na_value='none') #view NumPy array print(new) [['A' 5 11] ['B' 7 8] ['none' 'none' 10] ['D' 9 6] ['E' 'none' 6] ['F' 9 5]] #confirm that new is a NumPy array print(type(new)) <class 'numpy.ndarray'> #view data type print(new.dtype) object
Ressources additionnelles
Comment créer un DataFrame Pandas à partir d’un tableau NumPy
Comment convertir une liste en DataFrame dans Pandas
Comment convertir un DataFrame en liste dans Pandas