Der Umgang mit Wörterbüchern mit Arrays ungleicher Längen in Pandas erfordert einen maßgeschneiderten Ansatz. Beim Versuch, einen DataFrame zu erstellen, bei dem jede Spalte ein Array im Wörterbuch darstellt, kann es zu dem ValueError kommen: „Arrays müssen alle die gleiche Länge haben.“
Um dies zu umgehen Problem: Wir nutzen Objekte der Pandas-Serie, die Arrays unterschiedlicher Länge enthalten können. Durch die Konvertierung jedes Wörterbuchwerts in eine Reihe können wir die Arrays unabhängig von ihrer Länge effektiv speichern. Der folgende Codeausschnitt veranschaulicht diesen Ansatz:
import pandas as pd import numpy as np # Sample data generated via a reproducible seed np.random.seed(2023) data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])} # Convert dictionary values to Series objects series_dict = {k: pd.Series(v) for k, v in data.items()} # Create DataFrame using these Series objects df = pd.DataFrame(series_dict)
Beim Arbeiten mit Arrays unterschiedlicher Länge kommt es häufig vor, dass fehlende Werte auftreten, wenn kürzere Arrays die verbleibenden Zellen nicht füllen können. Standardmäßig füllt Pandas diese Lücken mit NaN-Werten (Not a Number). Dieses Verhalten bewahrt die Originaldaten und bietet gleichzeitig eine konsistente Struktur für die Analyse.
Bei Bedarf können Sie die Behandlung fehlender Werte anpassen, indem Sie den Parameter „missing_values“ im DataFrame( ) Konstruktor. Um beispielsweise fehlende Werte durch Nullen anstelle von NaN zu ersetzen, würden Sie fehlende_Werte=0 wie unten gezeigt angeben:
df = pd.DataFrame(series_dict, missing_values=0)
Die folgende Ausgabe veranschaulicht einen mit diesem Ansatz erstellten DataFrame oben beschrieben:
print(df)
A B C D E F 0 0.711674 -1.076522 -1.502178 -1.519748 0.340619 0.051132 1 -0.324485 -0.325682 -1.379593 2.097329 -1.253501 -0.238061 2 -1.001871 -1.035498 -0.204455 0.892562 0.370788 -0.208009 3 0.236251 -0.426320 0.642125 1.596488 0.455254 0.401304 4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720 0.183169 ... ... ... ... ... ... ... 18 NaN NaN NaN NaN NaN NaN 19 NaN NaN NaN NaN NaN NaN 20 NaN NaN NaN NaN NaN NaN 21 NaN NaN NaN NaN NaN NaN 22 NaN NaN NaN NaN NaN NaN 23 rows × 6 columns
Wie Sie beobachten können, führen die kürzeren Arrays zu NaN-Werten in den entsprechenden Zellen. Bereitstellung einer umfassenden Darstellung Ihrer Daten unter Beibehaltung des gewünschten Tabellenformats.
Das obige ist der detaillierte Inhalt vonWie konstruiere ich Pandas-DataFrames aus Wörterbüchern mit ungleichmäßigen Array-Längen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!