Ändern von Werten basierend auf Bedingungen in Pandas
Diese Frage stellt eine Situation dar, in der bestimmte Werte in zwei Spalten, Vorname und Nachname, vorhanden sein müssen basierend auf der Bedingung der ID-Spalte, die einem bestimmten Wert entspricht, geändert. In Stata kann dies durch einfache Ersetzungsbefehle erreicht werden.
In Pandas, einer leistungsstarken Python-Bibliothek zur Datenmanipulation, besteht ein Ansatz darin, die Loc-Funktion mit der Indizierungsfunktion zu nutzen. Dies ermöglicht eine logische Auswertung und anschließende Datenmodifikation. Zum Beispiel:
<code class="python">import pandas as pd df = pd.read_csv("test.csv") df.loc[df.ID == 103, 'FirstName'] = "Matt" df.loc[df.ID == 103, 'LastName'] = "Jones"</code>
Alternativ kann die Zuweisung zu beiden Spalten in einem Schritt erfolgen:
<code class="python">df.loc[df.ID == 103, ['FirstName', 'LastName']] = 'Matt', 'Jones'</code>
Beachten Sie, dass für Loc-Overwrite-Zuweisungsvorgänge Pandas-Version 0.11 oder höher erforderlich ist. Für ältere Versionen ist die verkettete Zuweisung eine praktikable Lösung:
<code class="python">df['FirstName'][df.ID == 103] = "Matt" df['LastName'][df.ID == 103] = "Jones"</code>
Während die verkettete Zuweisung in modernen Pandas-Versionen generell vermieden werden sollte, bleibt sie aus Gründen der Kompatibilität mit älteren Versionen eine nützliche Technik, die man beachten sollte.
Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Werte in Pandas DataFrame-Spalten basierend auf einer Bedingung ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!