„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie konstruiere ich Pandas-DataFrames aus Wörterbüchern mit ungleichmäßigen Array-Längen?

Wie konstruiere ich Pandas-DataFrames aus Wörterbüchern mit ungleichmäßigen Array-Längen?

Veröffentlicht am 14.11.2024
Durchsuche:444

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

Erstellen von Datenrahmen aus Wörterbüchern mit ungleichmäßigen Array-Längen

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 der ValueError auftreten: „Arrays müssen alle dieselbe Länge haben.“

Nutzung von Serienobjekten

Um dies zu umgehen Problem: Wir nutzen Objekte der Pandas-Serie, die Arrays unterschiedlicher Länge enthalten können. Indem wir jeden Wörterbuchwert in eine Reihe konvertieren, können wir die Arrays unabhängig von ihrer Länge effektiv speichern. Der folgende Codeausschnitt demonstriert 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)

Beibehalten fehlender Werte

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.

Konfigurieren der Behandlung fehlender Werte

Bei Bedarf können Sie die Behandlung fehlender Werte anpassen, indem Sie den Parameter „missing_values“ im DataFrame verwenden( ) 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)

Beispielausgabe

Die folgende Ausgabe veranschaulicht einen DataFrame, der mit dem oben beschriebenen Ansatz erstellt wurde:

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 sehen können, führen die kürzeren Arrays zu NaN-Werten in den entsprechenden Zellen und bieten so eine umfassende Darstellung Ihrer Daten unter Beibehaltung des gewünschten Tabellenformats.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3