Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich DataFrames aus Wörterbüchern mit unterschiedlichen Eintragslängen?

Wie erstelle ich DataFrames aus Wörterbüchern mit unterschiedlichen Eintragslängen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 03:35:02980Durchsuche

How to Create DataFrames from Dictionaries with Varying Entry Lengths?

Erstellen von Datenrahmen aus Wörterbüchern mit unterschiedlichen Eintragslängen

Bei der Arbeit mit Wörterbüchern, in denen Einträge Arrays unterschiedlicher Länge enthalten, wird es schwierig, ein zu erstellen DataFrame, wobei jede Spalte einem eindeutigen Eintrag entspricht. Der Versuch, ein solches Wörterbuch direkt in einen DataFrame zu konvertieren, führt zu einem „ValueError: Arrays müssen alle die gleiche Länge haben.“

Lösung

Um dieses Problem zu beheben, eine Der Ansatz besteht darin, das Array jedes Eintrags in eine Serie umzuwandeln und dann aus dem resultierenden Diktat einen DataFrame zu erstellen. In Python 3.x kann dies durch ein Listenverständnis erreicht werden:

d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) )

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ]))

# Output:
   A  B
0  1  1
1  2  2
2  NaN  3
3  NaN  4

In Python 2.x bleibt der Code ähnlich, aber der d.items()-Aufruf wird durch d.iteritems( ersetzt ):

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.iteritems() ]))

Diese Technik wandelt jeden Wörterbucheintrag effektiv in eine Serie um, die dann mit dem entsprechenden Schlüssel als Spaltennamen an den DataFrame angehängt werden kann. Der resultierende DataFrame enthält Spalten mit Längen, die den Längen der ursprünglichen Arrays entsprechen. Fehlende Werte werden als NaN dargestellt, um eine konsistente Spaltenstruktur sicherzustellen.

Durch die Verwendung dieses Ansatzes ist es möglich, DataFrames aus Wörterbüchern zu erstellen, die Einträge mit unterschiedlichen Array-Längen enthalten, was eine weitere Datenanalyse und -manipulation ermöglicht.

Das obige ist der detaillierte Inhalt vonWie erstelle ich DataFrames aus Wörterbüchern mit unterschiedlichen Eintragslängen?. 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