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

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

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 import pandas as pd Befehl. Anschließend wird mithilfe eines Datenwörterbuchs ein Beispiel-DataFrame erstellt, der mit dem in einen DataFrame konvertiert wird pd.DataFrame(data) 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 df[df['Age'] > 25], und Auswahl von Zeilen, in denen der Spaltenwert „Stadt“ „Chicago“ lautet df[df['City'] == 'Chicago']. Diese gefilterten DataFrames werden mit gedruckt print() 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 df[df['Price'] <= 200]und der „Bestand“ mehr als 40 beträgt df[df['Stock'] > 40]. Der Zweck dieser Skripte besteht darin, zu zeigen, wie DataFrame-Zeilen basierend auf bestimmten Bedingungen gefiltert werden, ähnlich wie Sie eine SQL-Abfrage verwenden würden, um Zeilen aus einer Tabelle basierend auf einem Spaltenwert auszuwählen. Durch das Verstehen und Anwenden dieser Befehle können Sie Daten in Ihren DataFrames effizient bearbeiten und analysieren.

Auswählen von Zeilen in einem DataFrame mithilfe von Spaltenwerten in Pandas

Python mit Pandas-Bibliothek

# Importing the necessary library
import pandas as pd

# Creating a sample DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Age': [24, 27, 22, 32, 29],
    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']
}
df = pd.DataFrame(data)

# Selecting rows where Age is greater than 25
selected_rows = df[df['Age'] > 25]
print(selected_rows)

# Selecting rows where City is 'Chicago'
chicago_rows = df[df['City'] == 'Chicago']
print(chicago_rows)

Filtern von Daten in einem DataFrame basierend auf Spaltenkriterien

Python mit Pandas-Bibliothek

# Importing pandas library
import pandas as pd

# Creating a sample DataFrame
data = {'Product': ['A', 'B', 'C', 'D', 'E'],
        'Price': [100, 150, 200, 250, 300],
        'Stock': [30, 60, 90, 20, 50]}
df = pd.DataFrame(data)

# Selecting rows where Price is less than or equal to 200
affordable_products = df[df['Price'] <= 200]
print(affordable_products)

# Selecting rows where Stock is more than 40
in_stock = df[df['Stock'] > 40]
print(in_stock)

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 query() Funktion, mit der Sie Zeilen mit einem Abfrageausdruck filtern können, wodurch die Syntax sauberer und oft intuitiver wird. Zum Beispiel statt zu verwenden df[df['Age'] > 25], Du kannst schreiben df.query('Age > 25'). 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 df[df['City'].isin(['Chicago', 'New York'])].

Eine andere Technik beinhaltet die loc Und iloc Indexierer. Der loc 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, df.loc[df['Age'] > 25, 'Name'] 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.

Häufige Fragen und Antworten zur Auswahl von DataFrame-Zeilen

  1. Wie kann ich Zeilen basierend auf mehreren Bedingungen auswählen?
  2. Du kannst den ... benutzen query() 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 isin() Funktion. Zum Beispiel, df[df['City'].isin(['Chicago', 'New York'])].
  5. Was ist der Unterschied zwischen loc Und iloc?
  6. loc ist etikettenbasiert, while iloc ist ganzzahlig-ortsbasiert. Verwenden loc 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 loc. Zum Beispiel, df.loc[df['Age'] > 25, ['Name', 'City']].
  9. Wie gehe ich mit fehlenden Werten um, wenn ich Zeilen auswähle?
  10. Benutzen Sie die dropna() Funktion zum Entfernen von Zeilen mit fehlenden Werten, oder fillna() um sie durch einen angegebenen Wert zu ersetzen.
  11. Kann ich reguläre Ausdrücke zum Filtern von Zeilen verwenden?
  12. Ja das str.contains() Funktion mit der regex=True Mit dem Parameter können Sie Zeilen basierend auf Regex-Mustern filtern. Zum Beispiel, df[df['Name'].str.contains('^A', regex=True)].
  13. Wie filtere ich Zeilen basierend auf dem Index?
  14. Sie können verwenden loc mit dem Indexnamen. Zum Beispiel, df.loc[df.index == 'some_index'].
  15. Was passiert, wenn meine Spaltennamen Leerzeichen oder Sonderzeichen enthalten?
  16. Benutzen Sie die query() Funktion, die solche Spaltennamen mit Backticks verarbeiten kann. Zum Beispiel, df.query('`column name` == value').

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, query(), isin()und labelbasierte und ganzzahlige standortbasierte Indizierung mit loc Und ilocbieten leistungsstarke Tools zum effizienten Filtern von Daten. Die Beherrschung dieser Techniken ermöglicht eine bessere Datenanalyse und saubereren, besser wartbaren Code.