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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert