Convertir NumPy Array en Pandas DataFrame
Ce tutoriel explique comment convertir un tableau numpy en un Pandas DataFrame en utilisant la méthode pandas.DataFrame()
.
Nous passons le tableau numpy dans la méthode pandas.DataFrame()
pour générer des Pandas DataFrames à partir de tableaux NumPy. Nous pouvons également spécifier des noms de colonnes et des index de lignes pour le DataFrame.
Convertir le tableau NumPy en Pandas DataFrame en utilisant la méthode pandas.DataFrame()
Nous passons le tableau NumPy dans la méthode pandas.DataFrame()
pour générer le DataFrame à partir du tableau NumPy.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Production :
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
0 1 2
0 27 44 77
1 75 65 47
2 30 84 86
3 18 9 41
Elle crée d’abord un tableau aléatoire de taille (4,3)
avec 4 lignes et 3 colonnes. Nous passons ensuite le tableau en argument à la méthode pandas.DataFrame()
, qui génère un DataFrame nommé data_df
à partir du tableau. Par défaut, la méthode pandas.DataFrame()
va insérer les noms de colonnes et les index de lignes par défaut.
Nous pouvons également définir les noms de colonnes et les index de lignes en utilisant les paramètres index
et columns
de la méthode pandas.DataFrame()
.
from numpy import random
import pandas as pd
random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
row_indices = ["Row_1", "Row_2", "Row_3", "Row_4"]
column_names = ["Column_1", "Column_2", "Column_3"]
print("NumPy Data Array is:")
print(data_array)
print("")
data_df = pd.DataFrame(data_array, index=row_indices, columns=column_names)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Production :
NumPy Data Array is:
[[27 44 77]
[75 65 47]
[30 84 86]
[18 9 41]]
The DataFrame generated from the NumPy array is:
Column_1 Column_2 Column_3
Row_1 27 44 77
Row_2 75 65 47
Row_3 30 84 86
Row_4 18 9 41
Ici, nous fixons la valeur de index
à row_indices
, une liste contenant les index de chaque ligne. De même, nous assignons des noms de colonnes en fixant la valeur de columns
à la liste column_names
, qui contient le nom de chaque colonne.
Dans certains cas, le tableau NumPy lui-même peut contenir des indices de lignes et des noms de colonnes. Nous utilisons alors le découpage en tableau pour extraire les données, les index de lignes et les noms de colonnes du tableau.
import numpy as np
import pandas as pd
marks_array = np.array(
[["", "Mathematics", "Economics"], ["Sunny", 25, 23], ["Alice", 23, 24]]
)
print("NumPy Data Array is:")
print(marks_array)
print("")
row_indices = marks_array[1:, 0]
column_names = marks_array[0, 1:]
data_df = pd.DataFrame(
data=np.int_(marks_array[1:, 1:]), index=row_indices, columns=column_names
)
print("The DataFrame generated from the NumPy array is:")
print(data_df)
Production :
NumPy Data Array is:
[['' 'Mathematics' 'Economics']
['Sunny' '25' '23']
['Alice' '23' '24']]
The DataFrame generated from the NumPy array is:
Mathematics Economics
Sunny 25 23
Alice 23 24
Nous avons des index de lignes et des noms de colonnes dans le tableau NumPy lui-même. Nous sélectionnons toutes les valeurs après la première ligne et la première colonne et nous les fournissons comme argument data
à la fonction pandas.DataFrame()
, et nous sélectionnons toutes les valeurs de la première colonne de la deuxième ligne et nous les passons comme argument index
. De même, nous sélectionnons toutes les valeurs de la première ligne de la deuxième colonne et nous les passons en argument columns
pour définir les noms des colonnes.
Le numpy.array()
convertira les valeurs entières en valeurs de chaîne tout en faisant un tableau NumPy pour assurer le même format de données. Nous utilisons la fonction numpy.int_()
pour reconvertir les valeurs des données en type integer
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticle connexe - Pandas DataFrame
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment convertir un float en un entier dans Pandas DataFrame
- Comment trier le DataFrame de Pandas par les valeurs d'une colonne
- Comment obtenir l'agrégat des Pandas par groupe et par somme