Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich bestimmte Werte in Pandas DataFrame-Spalten basierend auf einer Bedingung ändern?

Wie kann ich bestimmte Werte in Pandas DataFrame-Spalten basierend auf einer Bedingung ändern?

DDD
DDDOriginal
2024-10-26 03:34:27370Durchsuche

How Can I Modify Specific Values in Pandas DataFrame Columns Based on a Condition?

Ä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!

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