Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bedingten Werten mithilfe der Verkettungszuweisung und der Loc-Funktion ändern?

Wie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bedingten Werten mithilfe der Verkettungszuweisung und der Loc-Funktion ändern?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 03:31:021009Durchsuche

How can I modify specific values in a Pandas DataFrame based on conditional values using chaining assignment and the loc function?

Verkettung von Zuweisungen und der Loc-Funktion von Pandas zum Ändern von Daten basierend auf bedingten Werten

In der Pandas-Bibliothek von Python kann der Umgang mit Datenmanipulationen eine Herausforderung darstellen diejenigen, die mit anderen Programmiertools vertraut sind. In diesem Artikel geht es um eine spezielle Abfrage bezüglich der Iteration über Pandas-Daten, um bestimmte Werte basierend auf Bedingungen zu ändern.

Problem:

Die vorliegende Aufgabe besteht darin, zwei Werte zu ändern, FirstName und LastName, innerhalb eines DataFrame basierend auf übereinstimmenden Werten in der ID-Spalte. Insbesondere wenn die ID 103 ist, sollten Vorname und Nachname durch „Matt“ bzw. „Jones“ ersetzt werden.

Lösung: Alternative Methoden

Ansatz 1: Verwenden von Slicing und Indizierung mit Loc

Um Daten basierend auf bedingten Werten in Pandas zu ändern, besteht ein effektiver Ansatz darin, die Loc-Funktion zu verwenden. Diese Funktion ermöglicht eine logische Auswertung und überschreibt Daten basierend auf festgelegten Bedingungen.

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

Ansatz 2: Verkettete Zuweisung

Eine alternative Methode ist die verkettete Zuweisung, die eine Zuweisung beinhaltet Werte zu bestimmten Elementen in einem DataFrame basierend auf der Bedingung. Obwohl von dieser Methode aufgrund ihrer potenziellen Instabilität abgeraten wird, ist sie für das Verständnis dennoch nützlich:

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

Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Werte in einem Pandas DataFrame basierend auf bedingten Werten mithilfe der Verkettungszuweisung und der Loc-Funktion ä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