Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich effizient eine zugeordnete Spalte zu einem Pandas DataFrame hinzu?

Wie füge ich effizient eine zugeordnete Spalte zu einem Pandas DataFrame hinzu?

DDD
DDDOriginal
2024-10-29 02:27:29310Durchsuche

How to Efficiently Add a Mapped Column to a Pandas DataFrame?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn