Zum Hauptinhalt springen

Wie gebe ich Strings nach Bedingung in Pandas aus

Es gibt viele Tools und Bibliotheken in der Welt der Datenanalyse, aber eine der beliebtesten unter Experten ist die Pandas-Bibliothek. Aufgrund seiner Leistung und Flexibilität ist es ein wesentlicher Bestandteil der Arbeit mit Daten in Python geworden.

Eine der häufigsten Aufgaben bei der Datenanalyse besteht darin, die Daten nach bestimmten Bedingungen zu filtern. Und genau dafür ist Pandas ganz und gar geeignet. Damit können Sie Zeilen, die bestimmten Bedingungen entsprechen, einfach und effizient finden.

Pandas verwendet dazu die Methode query() ermöglicht das Abrufen von Daten unter einer bestimmten logischen Bedingung. Sie können auch die Methode verwenden loc(), die auf der Verwendung der expliziten Indizierung basiert.

Es sollte angemerkt werden, dass Pandas viele Möglichkeiten bietet, mit Daten beliebiger Komplexität zu arbeiten. Das bedeutet, dass Sie Zeilen nicht nur nach mehreren Bedingungen filtern können, sondern auch gruppieren, aggregieren, Datentypen konvertieren und vieles mehr.

Eines der nützlichsten Werkzeuge von Pandas ist die loc-Methode, mit der Sie Zeilen unter einer bestimmten Bedingung auswählen können. Dies kann nützlich sein, wenn Sie nur bestimmte Zeilen nach bestimmten Kriterien filtern müssen.

Um die loc-Methode zu verwenden, müssen Sie eine Bedingung definieren und sie als Argument an die Methode übergeben. Die Bedingung kann ein beliebiger Datentyp sein, einschließlich Zahlen, Strings oder Boolescher Werte.

Wenn Sie beispielsweise einen DataFrame mit Produktdaten haben und alle Zeilen finden möchten, bei denen der Produktwert größer als 1000 ist, können Sie den folgenden Code verwenden:

df.loc[df['цена'] > 1000]

Dieser Code wählt alle Zeilen aus, in denen der Wert des Produkts über 1000 liegt, und gibt sie im neuen DataFrame zurück. Sie können Bedingungen auch mit logischen Operatoren kombinieren:

df.loc[(df['цена'] > 1000) & (df['количество'] > 10)]

Dieser Code wählt nur die Zeilen aus, bei denen der Produktwert größer als 1000 ist und die Anzahl der Produkte ist größer als 10.

Daher ist die loc-Methode in Pandas ein leistungsfähiges Werkzeug, um Zeilen unter einer bestimmten Bedingung auszuwählen. Es macht es einfach, Daten zu filtern und komplexe Operationen mit ausgewählten Zeilen durchzuführen.

Wie verwende ich die Query-Funktion zum Filtern von Daten

Die Pandas-Bibliothek bietet verschiedene Werkzeuge zum Arbeiten mit Daten, einschließlich der leistungsstarken query() -Methode. Mit dieser Methode können Sie Daten mithilfe von Zeichenfolgenausdrücken filtern, was sie äußerst flexibel und benutzerfreundlich macht.

Mit der query() -Methode können Sie Bedingungen zum Filtern von Daten in Form von Zeichenfolgenausdrücken festlegen, die denen in der SQL-Abfragesprache ähneln. Es interpretiert den Ausdruck automatisch und gibt nur Zeilen zurück, die die angegebene Bedingung erfüllen.

Um die query() -Methode zu verwenden, müssen Sie zunächst ein DataFrame-Objekt in der Pandas-Bibliothek erstellen. Anschließend können Sie die query() -Methode auf dieses Objekt anwenden, um die Daten zu filtern. Im Folgenden finden Sie ein Beispiel für die Verwendung der query() -Methode zum Filtern von Daten nach einer Bedingung:

import pandas as pddata = df = pd.DataFrame(data)filtered_df = df.query("Age > 30")print(filtered_df)# Output:# Name Age City# 2 Peter 35 Paris# 3 Olivia 40 Sydney

In diesem Beispiel haben wir ein DataFrame-Objekt aus einem Datenwörterbuch erstellt und die Methode query() verwendet, um die Daten nach der Bedingung "Age > 30" zu filtern. Als Ergebnis haben wir nur die Zeilen erhalten, in denen das Alter größer als 30 ist. In diesem Fall sind dies Zeichenfolgen mit den Namen "Peter" und "Olivia".

Die query() -Methode bietet auch die Möglichkeit, boolesche Operatoren wie "and", "or" und "not" zu verwenden. Dies ermöglicht es uns, komplexere Bedingungen zum Filtern von Daten zu schaffen. Zum Beispiel:

filtered_df = df.query("Age > 30 and City == 'Paris'")# Output:# Name Age City# 2 Peter 35 Paris

In diesem Beispiel haben wir dem vorherigen Filter "Age > 30" die zusätzliche Bedingung "City == 'Paris'" hinzugefügt. Als Ergebnis wurde nur eine Zeile mit dem Namen "Peter" und der Stadt "Paris" erhalten.

Die Funktion query() bietet eine leistungsstarke und bequeme Möglichkeit, Daten in der Pandas-Bibliothek zu filtern. Die Verwendung dieser Funktion reduziert die Menge an Code und vereinfacht das Filtern von Daten. Mit String-Ausdrücken können Sie mit query() auch komplexe und flexible Bedingungen zum Filtern von Daten erstellen.