Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich DataFrames aus Wörterbüchern mit unterschiedlichen Eintragslängen?
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!