Pandas ist eine leistungsstarke Bibliothek für die Datenanalyse in Python, die umfangreiche Möglichkeiten für die Arbeit mit Tabellen und Zeitreihen bietet. Eine der nützlichsten Funktionen in Pandas ist die Möglichkeit, Daten nach einer Bedingung zu filtern. Dadurch können Sie schnell und einfach nur die Zeilen abrufen, die unseren festgelegten Kriterien entsprechen.
In diesem einfachen Tutorial werden wir uns ansehen, wie Strings nach Bedingung in Pandas ausgegeben werden. Wir werden die grundlegenden Methoden und die verwendeten Operatoren analysieren und Beispiele geben, um Ihnen zu helfen, besser zu verstehen, wie Sie diese Funktionalität verwenden können:
Schritt 1: Laden Sie die Daten in Pandas hoch
Bevor wir beginnen, müssen wir die Daten in Pandas laden. Dazu können wir die Funktion verwenden read_csv(), die es uns ermöglicht, Daten aus CSV-Dateien zu lesen. Zum Beispiel können wir Daten aus der Datei "data" laden.csv" wie folgt:
import pandas as pddata = pd.read_csv('data.csv')
Schritt 2: Filtern von Daten nach Bedingung
Jetzt, da wir die Daten haben, können wir mit der Filterung beginnen. Wir können Vergleichsoperatoren verwenden wie ==, !=, , , > und >=, um Ihre Bedingungen festzulegen. Wenn wir beispielsweise nur Zeilen ausgeben möchten, in denen der Spaltenwert "age" größer als 30 ist, können wir den folgenden Code verwenden:
filtered_data = data[data['age'] > 30]
Dieser Code erstellt eine neue Variable filtered_data, die nur Zeilen enthält, in denen der Wert der Spalte "age" größer als 30 ist. Wir können andere Operatoren und Spalten verwenden, um komplexere Filterbedingungen zu erstellen.
Das Filtern von Zeilen nach einer Bedingung in Pandas erleichtert daher nicht nur die Analyse der Daten, sondern ermöglicht es uns auch, uns nur auf die Daten zu konzentrieren, die wir benötigen. Ich hoffe, dieser einfache Leitfaden hat Ihnen geholfen, die Grundlagen der Datenfilterung in Pandas zu verstehen!
Wie verwende ich Pandas, um Strings mithilfe von Bedingungen zu filtern
Um Pandas zum Filtern von Zeilen mithilfe von Bedingungen zu verwenden, benötigen Sie den folgenden Code:
import pandas as pd# Загрузка данныхdata = pd.read_csv('data.csv')
# Условие фильтрации на основе одной колонкиcondition = data['Колонка'] > 10# Условие фильтрации на основе нескольких колонокcondition = (data['Колонка1'] > 5) & (data['Колонка2'] == 'значение')
# Применение условия фильтрации к даннымfiltered_data = data[condition]
Nach Abschluss dieser Schritte enthält die Variable "filtered_data" nur Datenzeilen, die die angegebene Filterbedingung erfüllen. Sie können diese Daten zur weiteren Analyse oder Verarbeitung verwenden.
Pandas bietet eine große Auswahl an Funktionen zum Filtern von Daten nach Ihren Bedürfnissen. Sie können verschiedene Vergleichsoperatoren verwenden, Begriffe kombinieren und vieles mehr. Darüber hinaus können Sie Filterbedingungen auch auf mehrere Spalten anwenden, einschließlich Text- und numerischer Daten.
Pandas ist ein praktisches Werkzeug, um Strings anhand von Bedingungen zu filtern. Mit diesem Tool können Sie ganz einfach die gewünschten Daten auswählen und die Analyse anhand der gegebenen Bedingungen durchführen. Verwenden Sie die oben beschriebenen Schritte, um die Filterung anzuwenden und den gewünschten Datensatz zur weiteren Analyse abzurufen.
Installieren der Pandas-Bibliothek und Importieren der benötigten Module
Sie können den Pip-Batch-Manager verwenden, um Pandas zu installieren. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:
pip install pandas
Nachdem Sie die Bibliothek erfolgreich installiert haben, können Sie mit dem Importieren der benötigten Module in Ihr Projekt beginnen. Das zu importierende Hauptmodul heißt Pandas:
import pandas as pd
Außerdem werden normalerweise auch Numpy- und Matplotlib-Module importiert, die zusammen mit Pandas verwendet werden können:
import numpy as np
import matplotlib.pyplot as plt
Jetzt können Sie die Pandas-Bibliothek verwenden, um mit den Daten in Ihrem Projekt zu arbeiten. Das Installieren und Importieren von Modulen ist der erste Schritt in Richtung einer effizienten Datenanalyse mit Pandas.
Laden von Daten in Pandas DataFrame
Pandas bietet viele Funktionen zum Herunterladen von Daten aus verschiedenen Quellen wie CSV, Excel, Datenbanken und vielen anderen. Sie müssen nur einen Dateipfad oder eine URL angeben, und Pandas lädt die Daten in den DataFrame.
Beispielcode zum Laden von Daten aus einer CSV-Datei:
import pandas as pddata = pd.read_csv('file.csv')
Wenn Ihre Datei Trennzeichen oder Sonderzeichen enthält, können Sie zusätzliche Parameter für die Funktion read_csv() angeben, um die Daten korrekt zu interpretieren.
Zusätzlich zu CSV unterstützt Pandas das Laden von Daten aus Formaten wie Excel, JSON, SQL und vielen anderen. Sie müssen die entsprechenden Funktionen verwenden und den Datei- oder URL-Pfad in den Funktionsargumenten angeben.
Nachdem Sie die Daten in einen DataFrame geladen haben, können Sie verschiedene Operationen durchführen und die Daten mithilfe der leistungsstarken Funktionen der Pandas-Bibliothek analysieren.
Anzeigen der ersten und letzten Zeilen eines DataFrame
Sie können die Methode verwenden, um die ersten Zeilen eines DataFrame in Pandas anzuzeigen head(). Diese Methode gibt die ersten Zeilen des DataFrame zurück.
Hier ist ein Beispiel für die Verwendung der Methode head():
import pandas as pd
Dadurch wird der Bildschirm angezeigt:
| Col1 | Col2 |
|---|---|
| 1 | A |
| 2 | B |
| 3 | C |
Ebenso können Sie die Methode verwenden, um die letzten Zeilen des DataFrame anzuzeigen tail(). Diese Methode gibt die letzten Zeilen des DataFrame zurück.
Hier ist ein Beispiel für die Verwendung der Methode tail():
import pandas as pd
Dadurch wird der Bildschirm angezeigt:
| Col1 | Col2 |
|---|---|
| 4 | D |
| 5 | E |
Also, mit Methoden head() und tail() sie können die ersten und letzten Zeilen des DataFrame in Pandas leicht anzeigen.
Anwenden von Bedingungen zum Filtern von Zeilen
Pandas verwendet den Vergleichsoperator, um Bedingungen anzuwenden. Wenn Sie beispielsweise nur Zeilen auswählen möchten, deren Werte in der Spalte "Alter" größer als 30 sind, können Sie den folgenden Code verwenden:
- df[df['Alter'] > 30]
In diesem Beispiel ist df ein DataFrame-Objekt und "Alter" ist der Spaltenname. Das Ergebnis dieses Codes wäre ein neuer DataFrame, der nur Zeilen enthält, die die Bedingung "Alter > 30" erfüllen.
Sie können auch mehrere Bedingungen mit logischen Operatoren kombinieren:
- df[(df['Alter'] > 30) & (df['Gehalt'] > 50000)]
In diesem Beispiel werden nur Zeilen ausgewählt, die beide Bedingungen erfüllen: "Alter > 30" und "Gehalt > 50.000".
Das Filtern von Zeilen basierend auf Bedingungen kann bei der Arbeit mit Daten sehr nützlich sein, da Sie nur die gewünschten Zeilen auswählen können und die Weiterverarbeitung und Analyse der Informationen vereinfacht.
Filtern von Zeilen basierend auf einem Wert in einer einzelnen Spalte
In der Pandas-Bibliothek können Sie Zeilen im DataFrame basierend auf einem Wert in einer oder mehreren Spalten filtern und auswählen. Dies ist sehr nützlich, wenn Sie Daten analysieren und die benötigten Informationen finden müssen.
Um Zeilen basierend auf einem Wert in einer Spalte zu filtern, müssen Sie Vergleichsoperatoren (z. B. gleich, größer, kleiner) und boolesche Operatoren (z. B. "und", "oder", "nicht") verwenden. Wenn Sie beispielsweise Zeilen auswählen möchten, in denen der Wert in der Spalte "age" größer als 30 ist, können Sie den folgenden Code verwenden:
df_filtered = df[df['age'] > 30]
Dieser Code erstellt einen neuen DataFrame (`df_filtered`), der nur Zeilen enthält, in denen der Wert in der Spalte "age" größer als 30 ist.
Wenn Sie mehrere Bedingungen auf eine einzelne Spalte anwenden möchten, können Sie die logischen Operatoren "oder" (`|`) und "und" (`&`) verwenden. Wenn Sie beispielsweise Zeilen auswählen möchten, in denen der Wert in der Spalte "Geschlecht" gleich "Männlich" oder "Weiblich" ist, können Sie den folgenden Code verwenden:
df_filtered = df[(df['gender'] == 'Male') | (df['gender'] == 'Female')]
Dieser Code erstellt einen neuen DataFrame (`df_filtered`), der nur Zeilen enthält, wobei der Wert in der Spalte "gender" gleich "Männlich" oder "Weiblich" ist.
Das Filtern von Zeilen basierend auf einem Wert in einer Spalte ist ein sehr praktisches und leistungsfähiges Werkzeug in Pandas. Es ermöglicht Ihnen, die benötigten Daten zu finden und Ihre Daten mit minimalem Aufwand zu analysieren. Verwenden Sie dieses Werkzeug in Ihrer Arbeit, um bessere Ergebnisse zu erzielen.
Filtern von Zeilen basierend auf Bedingungen, die mit mehreren Spalten verknüpft sind
In der Pandas-Bibliothek können Sie Zeilen im DataFrame mithilfe von Bedingungen filtern, die mit mehreren Spalten verknüpft sind. Zum Beispiel können wir nur Zeilen auswählen, in denen der Wert einer Spalte größer ist als der Wert einer anderen Spalte.
Lassen Sie uns dies anhand eines Beispiels veranschaulichen. Nehmen wir an, wir haben einen DataFrame mit Informationen über Studenten und ihre schulischen Leistungen:
| Name | Alter | Bewertung |
|---|---|---|
| Anna | 20 | 75 |
| Iwan | 22 | 90 |
| Maria | 21 | 85 |
| Peter | 19 | 60 |
Nehmen wir nun an, wir müssen nur die Zeilen auswählen, in denen die Schüler älter als 20 Jahre sind und ihre Punktzahl höher oder gleich 80 ist. Wir können das folgende Design verwenden:
df_filtered = df[(df['Возраст'] > 20) & (df['Оценка'] >= 80)]
Das Ergebnis wird wie folgt sein:
| Name | Alter | Bewertung |
|---|---|---|
| Iwan | 22 | 90 |
| Maria | 21 | 85 |
Daher haben wir nur die Zeilen ausgewählt, die unseren Bedingungen entsprechen, und die anderen Zeilen wurden herausgefiltert.
Kombinieren von Zeilenfilterbedingungen mit logischen Operatoren
Wenn Sie in Pandas mit großen Datasets arbeiten, müssen Sie häufig mehrere Zeilenfilterbedingungen kombinieren. Dazu können wir logische Operatoren wie Und (oder AND) ODER (oder OR), NICHT (oder NOT) verwenden.
Angenommen, wir haben einen DataFrame mit Verkaufsdaten und wir müssen alle Zeilen ausgeben, in denen der Umsatz größer als 1000 ist und der Preis kleiner als 500 ist.
Wir können den Operator & verwenden, um Bedingungen zu kombinieren:
df_filtered = df[(df['Продажи'] > 1000) & (df['Цена'] < 500)]
In diesem Beispiel haben wir den Operator > verwendet, um zu überprüfen, ob der Wert in der Spalte 'Verkauf' größer als 1000 ist, und den Operator <, um zu überprüfen, ob der Wert in der Spalte 'Preis' kleiner als 500 ist. Dann haben wir den Operator & verwendet, um diese beiden Bedingungen zu kombinieren.
Wir können auch den Operator | verwenden, um Bedingungen zu kombinieren. Wenn wir beispielsweise Zeilen ausgeben möchten, bei denen der Umsatz größer als 1000 oder der Preis kleiner als 500 ist, können wir schreiben:
df_filtered = df[(df['Продажи'] > 1000) | (df['Цена'] < 500)]
In diesem Fall verwenden wir den Operator |, um die Bedingungen zu kombinieren.
Wir können auch den Operator ~ verwenden, um die Bedingung zu negieren. Wenn wir beispielsweise Zeilen ausgeben möchten, bei denen der Umsatz nicht größer als 1000 ist, können wir schreiben:
df_filtered = df[~(df['Продажи'] > 1000)]
Hier verwenden wir den Operator ~ vor der Bedingung, um ihn zu leugnen.
Mit diesen Operatoren können Sie einfach mehrere Bedingungen kombinieren und die Zeilen nach Ihren Anforderungen filtern.
Filtern von Strings mithilfe regulärer Ausdrücke
- Importieren Sie das re-Modul, um mit regulären Ausdrücken zu arbeiten.
- Erstellen Sie eine Vorlage mit der Re-Funktion.compile() , indem Sie das gewünschte Muster angeben.
- Verwenden Sie die str-Methode.contains() , um die Zeilen zu filtern, indem die erstellte Vorlage als Argument übergeben wird.
- Wenden Sie den Filter auf den Dataframe an, indem Sie ihn in Klammern nach dem Operator hinzufügen [] .
Wenn Sie beispielsweise Zeilen ausgeben möchten, die nur Buchstaben enthalten, können Sie den folgenden Code verwenden:
import repattern = re.compile('[a-zA-Z]+')filtered_df = df[df['column_name'].str.contains(pattern)]print(filtered_df)
Die Verwendung von regulären Ausdrücken zum Filtern von Zeilen in Pandas bietet Ihnen die Flexibilität und die Möglichkeit, komplexe Bedingungen anzuwenden, um die gewünschten Zeilen auszuwählen. Dies ist besonders nützlich, wenn Sie eine große Datenmenge haben und eine schnelle und effiziente Methode zum Filtern benötigen.