Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ersetze ich Werte in Pandas DataFrame-Spalten basierend auf übereinstimmenden Werten in einer anderen Spalte?

Wie ersetze ich Werte in Pandas DataFrame-Spalten basierend auf übereinstimmenden Werten in einer anderen Spalte?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 06:04:31276Durchsuche

How to Replace Values in Pandas DataFrame Columns Based on Matching Values in Another Column?

Ändern von Daten in Pandas basierend auf übereinstimmenden Werten

Beim Übergang von Stata zu Pandas zur Datenmanipulation, Verständnis des Ansatzes zum Ändern von Werten basierend auf Passende Bedingungen sind unerlässlich. Stellen Sie sich die Situation vor, in der wir bestimmte Werte in den Spalten „Vorname“ und „Nachname“ ersetzen möchten, wenn die entsprechenden Werte in der Spalte „ID“ mit einer bestimmten Zahl übereinstimmen.

In Stata ist diese Aufgabe unkompliziert mit Befehlen wie „ersetze FirstName = ‚Matt‘, wenn ID==103.“ Um in Pandas ein ähnliches Ergebnis zu erzielen, können wir die Zuweisungsmethoden „loc“ oder „chained“ verwenden.

loc-Methode:

Die loc-Methode verwendet logische Indizierung, um Daten auszuwerten und zu ändern basierend auf bestimmten Bedingungen:

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

Verkettete Zuweisung:

Verkettete Zuweisung wird zwar in neueren Pandas-Versionen nicht empfohlen, kann aber auch für diese Aufgabe verwendet werden:

<code class="python">import pandas as pd
df = pd.read_csv("test.csv")
df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"</code>

In beiden Methoden erstellt der Ausdruck „df.ID == 103“ eine boolesche Maske, wobei „True“ Zeilen angibt, in denen die ID gleich 103 ist. Die nachfolgenden Zuweisungen ändern dann die gemeinsamen Werte in „FirstName“ und „LastName“. " Spalten.

Hinweis: Für ältere Pandas-Versionen ist die verkettete Zuweisung ein akzeptabler Ansatz. Allerdings ist loc in moderneren Versionen die bevorzugte Methode, da sie eine größere Stabilität bietet.

Das obige ist der detaillierte Inhalt vonWie ersetze ich Werte in Pandas DataFrame-Spalten basierend auf übereinstimmenden Werten in einer anderen Spalte?. 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