Maison > développement back-end > Tutoriel Python > Comment puis-je créer un DataFrame Pandas avec un index hiérarchique à partir d'un dictionnaire imbriqué ?

Comment puis-je créer un DataFrame Pandas avec un index hiérarchique à partir d'un dictionnaire imbriqué ?

Susan Sarandon
Libérer: 2024-12-02 18:52:12
original
304 Les gens l'ont consulté

How Can I Create a Pandas DataFrame with a Hierarchical Index from a Nested Dictionary?

Construction d'un DataFrame pandas à partir d'un dictionnaire imbriqué avec index hiérarchique

Cet article aborde la nécessité de convertir un dictionnaire imbriqué en un DataFrame pandas avec un index hiérarchique. Le dictionnaire, structuré avec des UserIds comme premier niveau, des Catégories comme deuxième niveau et divers attributs comme troisième niveau, pose un défi dans la création de la structure DataFrame souhaitée.

Construire un DataFrame avec l'index hiérarchique prévu , la première solution consiste à remodeler le dictionnaire imbriqué. Chaque clé du dictionnaire doit être un tuple correspondant aux valeurs du multi-index. En utilisant pd.DataFrame.from_dict et en définissant orient='index', le DataFrame peut être créé :

user_dict = {12: {'Category 1': {'att_1': 1, 'att_2': 'whatever'},
                  'Category 2': {'att_1': 23, 'att_2': 'another'}},
             15: {'Category 1': {'att_1': 10, 'att_2': 'foo'},
                  'Category 2': {'att_1': 30, 'att_2': 'bar'}}}

pd.DataFrame.from_dict({(i,j): user_dict[i][j] 
                           for i in user_dict.keys() 
                           for j in user_dict[i].keys()},
                       orient='index')
Copier après la connexion

Une approche alternative consiste à construire le DataFrame en concaténant des dataframes de composants. Cette méthode ajoute le DataFrame pour chaque UserId comme suit :

user_ids = []
frames = []

for user_id, d in user_dict.iteritems():
    user_ids.append(user_id)
    frames.append(pd.DataFrame.from_dict(d, orient='index'))

pd.concat(frames, keys=user_ids)
Copier après la connexion

En implémentant l'une de ces méthodes, un DataFrame pandas avec un index hiérarchique peut être construit à partir d'un dictionnaire imbriqué, simplifiant ainsi l'organisation et l'analyse des données. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal