Heim >Backend-Entwicklung >Python-Tutorial >Wie ordne ich Pandas-Spaltenwerte mithilfe eines Wörterbuchs neu zu und behalte dabei die NaN-Werte bei?
Neuzuordnung von Werten in Pandas-Spalten mithilfe des Wörterbuchs unter Beibehaltung von NaN
Im Zusammenhang mit der Verarbeitung von Datenrahmen ist es häufig erforderlich, Werte in a zu ändern spezifische Spalte basierend auf definierten Zuordnungen. Stellen Sie sich ein Szenario vor, in dem Sie über ein Wörterbuch verfügen, das vordefinierte Wertübersetzungen enthält, z. B. di = {1: „A“, 2: „B“}, und Sie diese Zuordnungen auf eine Pandas-Spalte namens col1 anwenden möchten. Das Ziel besteht darin, die Werte in Spalte 1 entsprechend zu ändern und dabei die NaN-Werte unverändert zu lassen.
Ein äußerst effektiver Ansatz, um diese Transformation zu erreichen, ist die Nutzung der .replace-Methode von Pandas. Diese Methode ermöglicht das Ersetzen bestimmter Werte oder Bereiche durch festgelegte Zielwerte. So können Sie es implementieren:
import pandas as pd import numpy as np # Example DataFrame df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}}) # Mapping dictionary di = {1: "A", 2: "B"} # Apply value remapping using .replace df.replace({"col1": di}, inplace=True) # Output DataFrame with remapped values while preserving NaN print(df)
In diesem Beispiel verwendet die .replace-Methode ein Wörterbuch als Argument, wobei die Schlüssel die ursprünglichen Werte in Spalte 1 darstellen und die Werte die gewünschten neu zugeordneten Werte darstellen. Indem Sie den Inplace-Parameter auf „True“ setzen, wird der ursprüngliche Datenrahmen direkt geändert, sodass keine Neuzuweisung erforderlich ist.
Alternativ können Sie die folgende Syntax verwenden, wenn Sie die Transformation lieber speziell auf die col1-Serie anwenden möchten:
df["col1"].replace(di, inplace=True)
Dieser Ansatz stellt sicher, dass NaN-Werte unberührt bleiben, da NaN kein Schlüssel im Mapping-Wörterbuch ist.
Das obige ist der detaillierte Inhalt vonWie ordne ich Pandas-Spaltenwerte mithilfe eines Wörterbuchs neu zu und behalte dabei die NaN-Werte bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!