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

Ajouter un commentaire

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