In Python ist es möglich, einen DataFrame aus einem Wörterbuch zu erstellen, in dem jeder Eintrag ein Numpy-Array enthält. Allerdings ergeben sich Herausforderungen, wenn die Array-Längen zwischen den Einträgen variieren. Standardmäßig erfordert Pandas Arrays mit einheitlicher Länge, was zu Fehlern wie „ValueError: Arrays müssen alle die gleiche Länge haben“ führt.
Überwindung der Längendiskrepanz
Zu beheben Bei diesem Problem können wir die Fähigkeit von Pandas nutzen, NaN-Werte (Not-a-Number) als Platzhalter für fehlende Daten zu verwenden. Dadurch können wir effektiv einen DataFrame mit Spalten unterschiedlicher Länge erstellen.
Um dies zu erreichen, können wir jeden Wörterbucheintrag in eine Pandas-Serie umwandeln, ein eindimensionales Array, das fehlende Werte nahtlos verarbeiten kann. Indem wir die Wörterbuchelemente in einen Generatorausdruck einschließen und den Serienkonstruktor verwenden, können wir ein Wörterbuch von Serienobjekten erstellen.
import pandas as pd import numpy as np # Sample data with uneven array lengths data = { 'A': np.random.randn(5), 'B': np.random.randn(8), 'C': np.random.randn(4) } # Convert dictionary items to Series series_dict = dict((k, pd.Series(v)) for k, v in data.items()) # Create DataFrame from the dictionary of Series df = pd.DataFrame(series_dict)
Ergebnis:
In [1]: df Out[1]: A B C 0 1.162543 1.681243 0.191287 1 0.459621 -0.141198 -0.109864 2 -0.866704 -0.128677 -0.511496 3 1.222436 -0.371449 -0.705894 4 -0.980584 1.255133 NaN 5 NaN -0.351051 NaN 6 NaN 0.443017 NaN 7 NaN -1.053693 NaN
Offensichtlich enthält der DataFrame fehlende Werte (NaN), bei denen sich die Array-Längen unterscheiden, sodass wir aus einem Wörterbuch mit unterschiedlichen Array-Längen einen DataFrame mit unterschiedlichen Spaltenlängen erstellen können.
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Pandas-DataFrame aus einem Wörterbuch mit unterschiedlichen Array-Längen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!