Nehmen wir an, wir haben einen einfachen DataFrame wie Folgendes:
import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)], 'B': [randint(1, 9)*10 for x in range(10)], 'C': [randint(1, 9)*100 for x in range(10)]})
Unser Ziel ist es, Werte aus Spalte „A“ auszuwählen, die bestimmte Kriterien für entsprechende Werte in Spalten erfüllen 'B' und 'C'.
Um dies zu erreichen, können wir die Boolesche Indizierung verwenden. Zuerst erstellen wir Boolesche Reihenobjekte für jedes Kriterium:
df["B"] > 50 (df["B"] > 50) & (df["C"] != 900)
Diese Booleschen Reihen stellen die Zeilen dar, die die jeweiligen Kriterien erfüllen. Wir können diese Reihen dann als Indizes verwenden, um die gewünschten Werte auszuwählen:
df["A"][df["B"] > 50] df["A"][(df["B"] > 50) & (df["C"] != 900)]
Wir können auch das .loc-Attribut für eine effizientere Indizierung verwenden. Mit .loc können wir die abzurufenden Zeilen und Spalten mit einer einzigen Anweisung angeben:
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Beide Methoden wählen effektiv Werte aus dem DataFrame basierend auf komplexen Kriterien aus. Die Wahl zwischen der Verwendung von Boolescher Indizierung oder .loc hängt von den persönlichen Vorlieben und der Lesbarkeit des Codes ab.
Das obige ist der detaillierte Inhalt vonWie wähle ich DataFrame-Werte basierend auf mehreren Kriterien in Pandas aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!