Pandas: so wählen sie zeilen basierend auf spaltenwerten aus
Sie können eine der folgenden Methoden verwenden, um Zeilen in einem Pandas-DataFrame basierend auf Spaltenwerten auszuwählen:
Methode 1: Wählen Sie Zeilen aus, in denen die Spalte einem bestimmten Wert entspricht
df. loc [df[' col1 '] == value]
Methode 2: Wählen Sie Zeilen aus, in denen sich der Spaltenwert in der Werteliste befindet
df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]
Methode 3: Zeilen basierend auf mehreren Spaltenbedingungen auswählen
df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]
Das folgende Beispiel zeigt, wie jede Methode mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' points ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})
#view DataFrame
df
team points rebound blocks
0 A 5 11 4
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
7 C 4 12 10
Methode 1: Wählen Sie Zeilen aus, in denen die Spalte einem bestimmten Wert entspricht
Der folgende Code zeigt, wie jede Zeile des DataFrame ausgewählt wird, in der die Spalte „Punkte“ den Wert 7 hat:
#select rows where 'points' column is equal to 7
df. loc [df[' points '] == 7]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
Methode 2: Wählen Sie Zeilen aus, in denen sich der Spaltenwert in der Werteliste befindet
Der folgende Code zeigt, wie jede Zeile des DataFrame ausgewählt wird, in der die Spalte „Punkte“ 7, 9 oder 12 beträgt:
#select rows where 'points' column is equal to 7
df. loc [df[' points ']. isin ([7, 9, 12])]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
Methode 3: Zeilen basierend auf mehreren Spaltenbedingungen auswählen
Der folgende Code zeigt, wie jede Zeile des DataFrame ausgewählt wird, in der die Spalte „Team“ gleich „B“ und die Spalte „Punkte“ größer als 8 ist:
#select rows where 'team' is equal to 'B' and points is greater than 8
df. loc [(df[' team '] == ' B ') & (df[' points '] > 8)]
team points rebound blocks
3 B 9 6 6
4 B 12 6 5
Beachten Sie, dass nur die beiden Zeilen zurückgegeben werden, in denen Team gleich „B“ und „Punkte“ größer als 8 sind.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So wählen Sie Zeilen nach Index in Pandas aus
So wählen Sie einzelne Zeilen in Pandas aus
So wählen Sie Zeilen aus, in denen der Wert in einer beliebigen Spalte in Pandas angezeigt wird