So filtern Sie Zeilen in einem Pandas-DataFrame basierend auf Spaltenwerten

Python

Filtern von Zeilen in Pandas DataFrames

Pandas ist eine leistungsstarke Bibliothek in Python zur Datenbearbeitung und -analyse. Eine häufige Aufgabe ist das Auswählen von Zeilen aus einem DataFrame basierend auf Spaltenwerten, ähnlich wie bei SQLs SELECT * FROM table WHERE columns_name = some_value.

Dieser Leitfaden führt Sie durch verschiedene Methoden, um dies in Pandas zu erreichen, und erleichtert Ihnen das effiziente Filtern Ihrer Daten. Unabhängig davon, ob Sie Anfänger oder erfahrener Benutzer sind, verbessern diese Tipps Ihre Fähigkeiten im Umgang mit Daten.

Befehl Beschreibung
pd.DataFrame(data) Erstellt einen DataFrame aus einem Datenwörterbuch.
df[column_name] Greift über den Namen auf eine Spalte im DataFrame zu.
df[condition] Filtert den DataFrame basierend auf einer Bedingung, die auf eine Spalte angewendet wird.
print(selected_rows) Druckt den DataFrame oder eine Teilmenge davon auf der Konsole.
df[df['Age'] >df[df['Age'] > 25] Wählt Zeilen aus, in denen die Spaltenwerte „Alter“ größer als 25 sind.
df[df['City'] == 'Chicago'] Wählt Zeilen aus, in denen die Spaltenwerte „Stadt“ gleich „Chicago“ sind.

Grundlegendes zur DataFrame-Zeilenauswahl in Pandas

Die bereitgestellten Skripte veranschaulichen, wie Zeilen aus einem DataFrame basierend auf Spaltenwerten mithilfe der Pandas-Bibliothek in Python ausgewählt werden. Das erste Skript beginnt mit dem Importieren der Pandas-Bibliothek mit Befehl. Anschließend wird mithilfe eines Datenwörterbuchs ein Beispiel-DataFrame erstellt, der mit dem in einen DataFrame konvertiert wird Befehl. Anschließend veranschaulicht das Skript zwei Methoden zur Zeilenauswahl: Auswählen von Zeilen, in denen der Spaltenwert „Alter“ größer als 25 ist, mithilfe von , und Auswahl von Zeilen, in denen der Spaltenwert „Stadt“ „Chicago“ lautet df[df['City'] == 'Chicago']. Diese gefilterten DataFrames werden mit gedruckt Funktion zum Anzeigen der ausgewählten Zeilen.

Das zweite Skript folgt einer ähnlichen Struktur, verwendet jedoch andere Daten und Auswahlkriterien. Es erstellt einen DataFrame mit Produktinformationen, einschließlich der Spalten „Produkt“, „Preis“ und „Lagerbestand“. Es werden Zeilen ausgewählt, bei denen der „Preis“ kleiner oder gleich 200 ist

Erweiterte Techniken zum Auswählen von DataFrame-Zeilen in Pandas

Neben der grundlegenden Filterung mithilfe der booleschen Indizierung bietet Pandas erweiterte Techniken zur Auswahl von Zeilen basierend auf Spaltenwerten. Eine leistungsstarke Methode ist die Verwendung von Funktion, mit der Sie Zeilen mit einem Abfrageausdruck filtern können, wodurch die Syntax sauberer und oft intuitiver wird. Zum Beispiel statt zu verwenden , Du kannst schreiben . Diese Methode ist besonders nützlich, wenn es um komplexere Bedingungen geht oder wenn die Spaltennamen Leerzeichen enthalten. Darüber hinaus ist die isin() Die Funktion ist nützlich, wenn Sie Zeilen basierend auf einer Werteliste filtern möchten. Um beispielsweise Zeilen auszuwählen, in denen der Spaltenwert „Stadt“ entweder „Chicago“ oder „New York“ ist, können Sie verwenden .

Eine andere Technik beinhaltet die Und Indexierer. Der Der Indexer ist beschriftungsbasiert und ermöglicht Ihnen die Auswahl von Zeilen basierend auf Zeilenbeschriftungen und Spaltennamen iloc ist ganzzahlig und ortsbasiert und ermöglicht die Auswahl nach Zeilen- und Spaltennummern. Diese Flexibilität ist besonders nützlich für die Auswahl von Zeilen basierend auf einer Bedingung, die auf eine andere Spalte angewendet wird. Zum Beispiel, gibt die Namen von Personen zurück, die älter als 25 Jahre sind. Diese Methoden erweitern Ihr Toolkit für die effiziente Verarbeitung und Analyse von Daten in Pandas und bieten besser lesbaren und wartbaren Code.

  1. Wie kann ich Zeilen basierend auf mehreren Bedingungen auswählen?
  2. Du kannst den ... benutzen Funktion oder kombinieren Sie Bedingungen mit logischen Operatoren wie Und . Zum Beispiel, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Kann ich Zeilen basierend auf einer Werteliste filtern?
  4. Ja, verwenden Sie die Funktion. Zum Beispiel, .
  5. Was ist der Unterschied zwischen Und ?
  6. ist etikettenbasiert, while ist ganzzahlig-ortsbasiert. Verwenden mit Zeilen-/Spaltenbeschriftungen und iloc mit Zeilen-/Spaltenindizes.
  7. Wie kann ich beim Filtern von Zeilen bestimmte Spalten auswählen?
  8. Sie können verwenden . Zum Beispiel, .
  9. Wie gehe ich mit fehlenden Werten um, wenn ich Zeilen auswähle?
  10. Benutzen Sie die Funktion zum Entfernen von Zeilen mit fehlenden Werten, oder um sie durch einen angegebenen Wert zu ersetzen.
  11. Kann ich reguläre Ausdrücke zum Filtern von Zeilen verwenden?
  12. Ja das Funktion mit der Mit dem Parameter können Sie Zeilen basierend auf Regex-Mustern filtern. Zum Beispiel, .
  13. Wie filtere ich Zeilen basierend auf dem Index?
  14. Sie können verwenden mit dem Indexnamen. Zum Beispiel, .
  15. Was passiert, wenn meine Spaltennamen Leerzeichen oder Sonderzeichen enthalten?
  16. Benutzen Sie die Funktion, die solche Spaltennamen mit Backticks verarbeiten kann. Zum Beispiel, .

Abschließende Gedanken zu DataFrame-Zeilenauswahltechniken

Das Auswählen von Zeilen aus einem DataFrame basierend auf Spaltenwerten in Pandas ist eine entscheidende Fähigkeit für die Datenmanipulation. Die verschiedenen besprochenen Methoden, einschließlich der booleschen Indizierung, , und labelbasierte und ganzzahlige standortbasierte Indizierung mit Und ilocbieten leistungsstarke Tools zum effizienten Filtern von Daten. Die Beherrschung dieser Techniken ermöglicht eine bessere Datenanalyse und saubereren, besser wartbaren Code.