HOWTO · Pandas
Comment convertir le dictionnaire Python en Pandas DataFrame
Ce tutoriel montre comment convertir un dictionnaire python en Pandas DataFrame, par exemple en utilisant le constructeur Pandas DataFrame ou la méthode from_dict.
Sur cette page
Nous allons présenter la méthode pour convertir le dictionnaire Python en datafarme Pandas, et les options comme avoir des clés pour les colonnes et des valeurs pour les lignes. Nous pourrions également convertir le dictionnaire imbriqué en DataFrame.
Nous allons également introduire une autre approche en utilisant pandas.DataFrame.from_dict, et nous allons l’enchaîner avec n’importe quelle méthode rename pour définir les noms de l’index et des colonnes en une seule fois.
Méthode de conversion du dictionnaire en DataFame de Pandas
Le constructeur de Pandas DataFrame pd.DataFrame() convertit le dictionnaire en DataFrame si les éléments du dictionnaire sont donnés comme argument du constructeur, mais pas le dictionnaire lui-même.
# python 3.x
import pandas as pd
fruit_dict = {3: "apple", 2: "banana", 6: "mango", 4: "apricot", 1: "kiwi", 8: "orange"}
print(pd.DataFrame(list(fruit_dict.items()), columns=["Quantity", "FruitName"]))
Les clés et les valeurs du dictionnaire sont converties en deux colonnes de la DataFrame avec les noms de colonnes donnés dans les options columns.
Quantity FruitName
0 3 apple
1 2 banana
2 6 mango
3 4 apricot
4 1 kiwi
5 8 orange
Méthode de conversion des clés en colonnes et des valeurs en ligne dans la Pandas DataFrame
Nous pouvons simplement mettre des crochets autour du dictionnaire et retirer le nom de la colonne du code ci-dessus comme ceci:
import pandas as pd
fruit_dict = {1: "apple", 2: "banana", 3: "mango", 4: "apricot", 5: "kiwi", 6: "orange"}
print(pd.DataFrame([fruit_dict]))
Production:
1 2 3 4 5 6
0 apple banana mango apricot kiwi orange
Nous utiliserons Pandas compréhension de dictionnaire avec concat pour combiner tous les dictionnaires et ensuite passer la liste pour donner de nouveaux noms de colonnes.
Considérons le code suivant,
import pandas as pd
data = {"1": {"apple": 11, "banana": 18}, "2": {"apple": 16, "banana": 12}}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ["dict_index", "name", "quantity"]
print(df)
Production:
dict_index name quantity
0 1 apple 11
1 1 banana 18
2 2 apple 16
3 2 banana 12
Méthode pandas.DataFrame().from_dict() pour convertir dict en DataFrame
Nous allons utiliser from_dict pour convertir dict en DataFrame, ici nous mettons orient='index' pour utiliser les clés du dictionnaire comme lignes et appliquer la méthode rename() pour changer le nom de la colonne.
Considérons le code suivant,
import pandas as pd
print(
pd.DataFrame.from_dict(
{"apple": 3, "banana": 5, "mango": 7, "apricot": 1, "kiwi": 8, "orange": 3},
orient="index",
).rename(columns={0: "Qunatity"})
)
Production:
Quantity
apple 3
banana 5
mango 7
apricot 1
kiwi 8
orange 3