Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einen Pandas-DataFrame mit einem hierarchischen Index aus einem verschachtelten Wörterbuch erstellen?

Wie kann ich einen Pandas-DataFrame mit einem hierarchischen Index aus einem verschachtelten Wörterbuch erstellen?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 18:52:12261Durchsuche

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

Erstellen eines Pandas-DataFrames aus einem verschachtelten Wörterbuch mit hierarchischem Index

Dieser Artikel befasst sich mit der Notwendigkeit, ein verschachteltes Wörterbuch in einen Pandas-DataFrame umzuwandeln ein hierarchischer Index. Das Wörterbuch, das mit UserIds als erster Ebene, Kategorien als zweiter Ebene und verschiedenen Attributen als dritter Ebene strukturiert ist, stellt eine Herausforderung beim Erstellen der gewünschten DataFrame-Struktur dar.

Um einen DataFrame mit dem beabsichtigten hierarchischen Index zu erstellen , besteht die erste Lösung darin, das verschachtelte Wörterbuch umzuformen. Jeder Schlüssel im Wörterbuch sollte ein Tupel sein, das den Werten des Multiindex entspricht. Mit pd.DataFrame.from_dict und dem Festlegen von orient='index' kann der DataFrame erstellt werden:

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')

Ein alternativer Ansatz besteht darin, den DataFrame durch Verketten von Komponentendatenrahmen zu erstellen. Diese Methode hängt den DataFrame für jede UserId wie folgt an:

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)

Durch die Implementierung einer dieser Methoden kann ein Pandas-DataFrame mit einem hierarchischen Index aus einem verschachtelten Wörterbuch erstellt werden, was die Organisation und Analyse der Daten vereinfacht .

Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas-DataFrame mit einem hierarchischen Index aus einem verschachtelten Wörterbuch erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn