Heim > Artikel > Backend-Entwicklung > Wie füge ich effizient eine zugeordnete Spalte zu einem Pandas DataFrame hinzu?
Hinzufügen einer zugeordneten Spalte zu einem Pandas-Datenrahmen
Beim Arbeiten mit Pandas das Hinzufügen einer neuen Spalte mit einem zugeordneten Wert basierend auf einer vorhandenen Spalte kann eine unkomplizierte Aufgabe sein. Bestimmte Ansätze können jedoch zu Fehlern oder Schwierigkeiten führen.
Ein häufiger Versuch besteht darin, den zugeordneten Wert direkt der neuen Spalte zuzuweisen:
<code class="python">df["B"] = equiv(df["A"])</code>
Dies wird jedoch als äquivalente Darstellung fehlschlagen B. ein Wörterbuch, ist keine aufrufbare Funktion.
Ein anderer Ansatz, der möglicherweise nicht zum gewünschten Ergebnis führt, ist die Verwendung von „map“ mit einer Lambda-Funktion:
<code class="python">df["B"] = df["A"].map(lambda x: equiv[x])</code>
Dieser Ausdruck wird wahrscheinlich einen KeyError auslösen, es sei denn, der Wörterbuchschlüssel stimmen genau mit den Spaltenwerten überein.
Die richtige Lösung
Die richtige Methode zum Hinzufügen einer zugeordneten Spalte besteht darin, „map“ direkt mit dem Wörterbuch zu verwenden:
<code class="python">df["B"] = df["A"].map(equiv)</code>
Dieser Ansatz erstellt eine neue Spalte B mit den zugeordneten Werten aus dem Äquiv-Wörterbuch. Wenn ein Schlüssel nicht im Wörterbuch vorhanden ist, wird der entsprechenden Zeile NaN zugewiesen.
Beispiel
Betrachten Sie den folgenden DataFrame:
<code class="python">df = pd.DataFrame({"A": [7001, 8001, 9001]}) equiv = {7001: 1, 8001: 2, 9001: 3}</code>
Die Anwendung der richtigen Zuordnung führt zum gewünschten Ergebnis:
<code class="python">df["B"] = df["A"].map(equiv) print(df) A B 0 7001 1 1 8001 2 2 9001 3</code>
Das obige ist der detaillierte Inhalt vonWie füge ich effizient eine zugeordnete Spalte zu einem Pandas DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!