Pandas: so wählen sie zeilen zwischen zwei werten aus
Sie können die folgende grundlegende Syntax verwenden, um Zeilen in einem Pandas-DataFrame auszuwählen, in denen eine Spalte zwischen zwei bestimmten Werten liegt:
df_filtered = df[df[' points ']. between ( 25 , 35 )]
In diesem speziellen Beispiel werden alle Zeilen ausgewählt, deren Wert in der Punktespalte zwischen 25 und 35 liegt.
Wenn Sie stattdessen Zeilen auswählen möchten, deren Wert in der Punktespalte nicht zwischen 25 und 35 liegt , können Sie vor dem Spaltennamen eine Tilde ( ~ ) hinzufügen:
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]
Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.
Beispiel: Zeilen zwischen zwei Werten in Pandas auswählen
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über die von Basketballspielern verschiedener Teams erzielten Punkte enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'], ' points ': [22, 28, 35, 34, 29, 28, 23]}) #view DataFrame print (df) team points 0 Mavs 22 1 Mavs 28 2 Nets 35 3 Nets 34 4 Heat 29 5 Heat 28 6 Kings 23
Wir können die folgende Syntax verwenden, um nur Zeilen aus dem DataFrame auszuwählen, bei denen der Wert in der Punktespalte zwischen 25 und 35 liegt:
#select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]
#view filtered DataFrame
print (df_filtered)
team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
Beachten Sie, dass nur Zeilen ausgewählt wurden, deren Wert in der Punktespalte zwischen 25 und 35 liegt.
Beachten Sie, dass die Funktion between() Werte in der Unter- und Obergrenze einschließt .
Beispielsweise wurde der Spieler mit einem Punktewert von 35 in den gefilterten DataFrame aufgenommen.
Wenn Sie stattdessen nur Zeilen auswählen möchten, deren Wert in der Punktespalte nicht zwischen 25 und 35 liegt , können wir vor dem Spaltennamen eine Tilde ( ~ ) hinzufügen:
#select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]
#view filtered DataFrame
print (df_filtered)
team points
0 Mavs 22
6 Kings 23
Beachten Sie, dass nur Zeilen ausgewählt wurden, deren Wert in der Punktespalte nicht zwischen 25 und 35 liegt.
Hinweis : Die vollständige Dokumentation der Funktion pandas between() finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
Pandas: Wählen Sie Zeilen aus, in denen zwei Spalten gleich sind
Pandas: Wählen Sie Zeilen aus DataFrame mithilfe einer booleschen Reihe aus
Pandas: Wählen Sie Zeilen mit NaN-Werten aus