Heim > Backend-Entwicklung > Python-Tutorial > Wie wertet man arithmetische Ausdrücke in Pandas mit „pd.eval' aus?

Wie wertet man arithmetische Ausdrücke in Pandas mit „pd.eval' aus?

DDD
Freigeben: 2024-11-15 08:13:02
Original
218 Leute haben es durchsucht

How to Evaluate Arithmetic Expressions in Pandas Using `pd.eval`?

Dynamisches Auswerten von Ausdrücken aus Formeln in Pandas

Herausforderung

Bewerten Sie arithmetische Ausdrücke mit pd.eval für eine oder mehrere DataFrame-Spalten, wie im gezeigt Folgendes Beispiel:

pd.eval-Funktionen

pd.eval, df.eval und df.query sind drei eng verwandte Funktionen zur Auswertung von Ausdrücken in Pandas. Jede hat ihre eigenen subtilen Variationen, aber alle folgen ähnlichen Syntaxregeln und Funktionsunterstützung.

Unterstützte Funktionen:

  • Arithmetische Operationen
  • Vergleichsoperationen
  • Boolesche Operationen
  • Listen- und Tupelliterale
  • Attributzugriff
  • Tiefgestellte Ausdrücke
  • Einfache Variablenauswertung

Syntaxregeln:

Ausdrücke müssen als Zeichenfolgen übergeben werden, wobei die folgenden Richtlinien gelten:

  • Der gesamte Ausdruck ist eine Zeichenfolge
  • Variablen im globalen Namespace werden durch ihre Namen referenziert
  • Bestimmte Spalten werden über den Attribut-Accessor aufgerufen
  • Klammern können verwendet werden, um die Operatorpriorität zu überschreiben

Hauptunterschiede

pd.eval vs. df.eval

  • Spaltenzugriff: pd.eval erfordert Spaltennamen mit DataFrame-Indizierung, während df.eval den direkten Zugriff auf die Spalte ermöglicht Namen.
  • Ausdrücke mit DataFrames: pd.eval eignet sich besser für datenrahmenweite Vorgänge, während df.eval mit bestimmten DataFrames arbeitet.

df.eval vs. df.query

  • Abfragen vs. Auswertung: df.query wertet bedingte Ausdrücke aus und gibt passende Zeilen zurück. df.eval gibt das Ergebnis des Ausdrucks selbst zurück.
  • Komfort: df.query ist im Allgemeinen für Abfragezwecke prägnanter.

Lösung

Um die ursprüngliche Herausforderung mit pd.eval zu lösen:

Neuzuweisung

Um das Ergebnis des Ausdrucks wieder df2 zuzuweisen, verwenden Sie den Zielparameter:

Argumente innerhalb des Ausdrucks übergeben

Um x als Argument innerhalb der Ausdruckszeichenfolge zu übergeben, verwenden Sie das @-Symbol:

Das obige ist der detaillierte Inhalt vonWie wertet man arithmetische Ausdrücke in Pandas mit „pd.eval' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage