Auswählen von DataFrame-Zeilen basierend auf Spaltenwerten in Python

Python

Verwenden von Pandas zum Filtern von DataFrames nach Spaltenwerten

Bei der Arbeit mit Daten in Python bietet die Pandas-Bibliothek leistungsstarke Tools zur Datenbearbeitung und -analyse. Eine häufige Aufgabe besteht darin, Zeilen aus einem DataFrame basierend auf den Werten in einer bestimmten Spalte auszuwählen. Dieser Vorgang ähnelt der SQL-Abfrage: SELECT * FROM table WHERE columns_name = some_value.

In diesem Artikel werden wir untersuchen, wie wir dies in Pandas mit verschiedenen Methoden erreichen können. Unabhängig davon, ob Sie nach einem einzelnen Wert oder nach mehreren Kriterien filtern, bietet Pandas intuitive und effiziente Möglichkeiten zur Abwicklung solcher Vorgänge. Lassen Sie uns in die Details eintauchen.

Befehl Beschreibung
pd.DataFrame() Erstellt ein DataFrame-Objekt aus einem Wörterbuch oder anderen Datenstrukturen.
df[condition] Filtert die DataFrame-Zeilen basierend auf einer Bedingung und gibt nur diejenigen zurück, die die Kriterien erfüllen.
print() Gibt die angegebene Nachricht oder den angegebenen DataFrame an die Konsole aus.
df['column'] == value Erstellt eine boolesche Reihe, die zum Filtern von Zeilen verwendet wird, in denen die Spalte mit dem angegebenen Wert übereinstimmt.
df['column'] >df['column'] > value Erstellt eine boolesche Reihe, die zum Filtern von Zeilen verwendet wird, deren Spaltenwerte größer als der angegebene Wert sind.
# Comment Wird verwendet, um Erklärungen oder Notizen innerhalb des Codes hinzuzufügen, die nicht als Teil des Skripts ausgeführt werden.

Implementierung der DataFrame-Zeilenauswahl in Pandas

In den bereitgestellten Skripten besteht die Hauptaufgabe darin, Zeilen aus einem DataFrame basierend auf bestimmten Spaltenwerten zu filtern, eine häufige Anforderung bei der Datenanalyse. Das erste Skript beginnt mit dem Importieren der Pandas-Bibliothek mit . Dies ist wichtig, da Pandas eine leistungsstarke Datenbearbeitungsbibliothek in Python ist. Als nächstes erstellen wir einen Beispiel-DataFrame mit mit einem Wörterbuch, das Daten zu Namen, Alter und Städten enthält. Diese Struktur ermöglicht es uns, Tabellendaten einfach zu visualisieren und zu bearbeiten. Der entscheidende Teil des Skripts besteht darin, wo wir Zeilen filtern . Dieser Befehl wählt alle Zeilen aus, in denen der Wert der Stadtspalte „New York“ ist. Das Ergebnis wird in der Variablen gespeichert ny_rows, der dann gedruckt wird, um den gefilterten DataFrame anzuzeigen.

Das zweite Skript folgt einer ähnlichen Struktur, konzentriert sich jedoch auf das Filtern von Zeilen basierend auf einer numerischen Bedingung. Nach dem Import von Pandas und dem Erstellen eines DataFrame mit Produkt-, Preis- und Mengenspalten verwendet das Skript um Zeilen zu filtern, bei denen der Preis größer als 150 ist. Dieser Befehl erzeugt eine Teilmenge des ursprünglichen DataFrame, die nur die Zeilen enthält, die die angegebene Bedingung erfüllen. Das Ergebnis wird in gespeichert und zur Überprüfung ausgedruckt. Beide Skripte demonstrieren die Leistungsfähigkeit und Einfachheit von Pandas zur Datenmanipulation. Durch die Verwendung der booleschen Indizierung, einer Methode, bei der wir eine Reihe von Wahr/Falsch-Werten zum Filtern von Daten übergeben, können wir Teilmengen von Daten basierend auf verschiedenen Bedingungen effizient auswählen, was sie zu einem unschätzbar wertvollen Werkzeug für Datenanalysten und Wissenschaftler macht.

Filtern von Zeilen in einem DataFrame basierend auf Spaltenwerten

Python – Verwendung von Pandas für DataFrame-Operationen

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Abfragen von DataFrame-Zeilen basierend auf Spaltenwerten

Python – Erweiterte Filterung mit Pandas

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Erweiterte Techniken zum Auswählen von DataFrame-Zeilen

Zusätzlich zur grundlegenden Filterung mit boolescher Indizierung bietet Pandas erweiterte Techniken zum Auswählen von Zeilen basierend auf Spaltenwerten. Eine solche Methode ist die Funktion, die es Ihnen ermöglicht, SQL-ähnliche Syntax zum Filtern von DataFrame-Zeilen zu verwenden. Sie können zum Beispiel verwenden um Zeilen auszuwählen, in denen das Alter größer als 25 ist und die Stadt New York ist. Diese Methode kann Ihren Code insbesondere bei komplexen Bedingungen lesbarer machen. Darüber hinaus bietet Pandas die Und iloc[] Accessoren für eine präzisere Zeilenauswahl. Der Der Accessor ist labelbasiert, d. h. Sie können Zeilen nach ihren Labels oder einem booleschen Array filtern. Im Gegensatz dazu ist die Der Accessor basiert auf ganzzahligen Positionen und ermöglicht Ihnen das Filtern von Zeilen nach ihren Indexpositionen.

Eine weitere leistungsstarke Funktion in Pandas ist die Möglichkeit, DataFrame-Zeilen mithilfe von zu filtern Methode. Diese Methode ist nützlich, wenn Sie Zeilen basierend auf einer Werteliste filtern müssen. Zum Beispiel, Wählt Zeilen aus, in denen der Stadtspaltenwert entweder New York oder Los Angeles ist. Darüber hinaus können Sie mit dem mehrere Bedingungen verketten Und | Operatoren, um komplexere Filter zu erstellen. Zum Beispiel, Filtert Zeilen, in denen das Alter größer als 25 ist und die Stadt New York ist. Diese fortschrittlichen Techniken bieten ein robustes Framework für die Datenfilterung und machen Pandas zu einem vielseitigen Werkzeug für die Datenanalyse und -bearbeitung.

  1. Wie filtere ich Zeilen in einem DataFrame basierend auf mehreren Spaltenwerten?
  2. Sie können die boolesche Indizierung mit mehreren kombinierten Bedingungen verwenden Und . Zum Beispiel: .
  3. Was ist der Unterschied zwischen Und ?
  4. ist etikettenbasiert, while ist ganzzahlig positionbasiert. Verwenden zum Filtern nach Labels und iloc[] zum Filtern nach Indexpositionen.
  5. Wie kann ich das nutzen? Funktion zum Filtern von DataFrame-Zeilen?
  6. Der Mit der Funktion können Sie eine SQL-ähnliche Syntax verwenden. Zum Beispiel: .
  7. Kann ich Zeilen basierend auf einer Werteliste filtern?
  8. Ja, Sie können das verwenden Methode. Zum Beispiel: .
  9. Was ist der beste Weg, Zeilen basierend auf der Zeichenfolgenübereinstimmung zu filtern?
  10. Du kannst den ... benutzen Methode. Zum Beispiel: .
  11. Wie wähle ich Zeilen aus, in denen Spaltenwerte fehlen?
  12. Du kannst den ... benutzen Methode. Zum Beispiel: .
  13. Wie kann ich Zeilen mithilfe einer benutzerdefinierten Funktion filtern?
  14. Du kannst den ... benutzen Methode mit einer Lambda-Funktion. Zum Beispiel: .
  15. Kann ich Zeilen basierend auf Indexwerten filtern?
  16. Ja, Sie können das verwenden Methode. Zum Beispiel: .

Das Auswählen von Zeilen aus einem DataFrame basierend auf Spaltenwerten ist eine grundlegende Fähigkeit bei der Datenanalyse mit Pandas. Verwendung der booleschen Indizierung, , , , Und isin() Methoden ermöglichen eine effiziente Datenfilterung. Die Beherrschung dieser Techniken verbessert Ihre Fähigkeit, Datensätze effektiv zu bearbeiten und zu analysieren.