Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bestimmten Kriterien ändern?

Wie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bestimmten Kriterien ändern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 11:07:03191Durchsuche

How can I modify specific values in a Pandas DataFrame based on certain criteria?

Ändern von Werten basierend auf spezifischen Kriterien in Pandas

Beim Durchlaufen eines Pandas-DataFrames ist es häufig erforderlich, bestimmte Werte basierend auf übereinstimmenden Kriterien zu ändern . Um dies in Pandas zu erreichen, können wir seine Indizierungs- und Filterfunktionen nutzen.

Das Problem verstehen

Das Ziel besteht darin, über die Spalte „ID“ in einem DataFrame zu iterieren und ändern Sie die Spalten „Vorname“ und „Nachname“ entsprechend, wenn eine bestimmte ID gefunden wird. In Stata kann dies erreicht werden durch:

replace FirstName = "Matt" if ID==103
replace LastName = "Jones" if ID==103

Pandas-Implementierung

Um diese Logik in Pandas zu implementieren, können wir den folgenden Ansatz verwenden:

import pandas as pd

df = pd.read_csv("test.csv")

# Using logical indexing and overwrite assignment
df.loc[df.ID == 103, 'FirstName'] = "Matt"
df.loc[df.ID == 103, 'LastName'] = "Jones"

Dieser Code zerlegt den DataFrame basierend auf der Bedingungs-ID == 103, um die Zeilen mit dieser ID auszuwählen, und überschreibt dann die Werte in den Spalten „Vorname“ und „Nachname“ mit den gewünschten Werten.

Verkettete Zuweisung

Eine andere, wenn auch weniger empfohlene Methode ist die verkettete Zuweisung:

df['FirstName'][df.ID == 103] = "Matt"
df['LastName'][df.ID == 103] = "Jones"

Dieser Ansatz ändert auch die Werte basierend auf der Filterbedingung, wird jedoch nicht empfohlen da dies zu unvorhersehbarem Verhalten in neueren Pandas-Versionen führen kann.

Fazit

Durch die Verwendung geeigneter Indizierungs- und Überschreibzuweisungstechniken ermöglicht Pandas eine effiziente Änderung spezifischer Werte basierend auf auf Übereinstimmungskriterien, was komplexe Datenmanipulationen ermöglicht, ähnlich denen, die in anderer Statistiksoftware möglich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bestimmten Kriterien ä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