Pandas: so zählen sie werte in einer spalte mit bedingung


Sie können die folgenden Methoden verwenden, um die Anzahl der Werte in einer Pandas DataFrame-Spalte mit einer bestimmten Bedingung zu zählen:

Methode 1: Werte in einer Spalte mit Bedingung zählen

 len(df[df[' col1 ']==' value1 '])

Methode 2: Werte in mehreren Spalten mit Bedingungen zählen

 len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

Beispiel 1: Werte in einer Spalte mit Bedingung zählen

Der folgende Code zeigt, wie die Anzahl der Werte in der Teamspalte gezählt wird, bei denen der Wert „A“ entspricht:

 #count number of values in team column where value is equal to 'A'
len(df[df[' team ']==' A '])

4

Wir können sehen, dass es in der Teamspalte 4 Werte gibt, bei denen der Wert „A“ ist.

Beispiel 2: Werte in mehreren Spalten mit Bedingungen zählen

Der folgende Code zeigt, wie die Anzahl der Zeilen im DataFrame gezählt wird, wobei die Spalte „ team “ gleich „B“ und die Spalte „ pos “ gleich „Gu“ ist:

 #count rows where team is 'B' and pos is 'Gu'
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')])

2

Wir können sehen, dass es im DataFrame zwei Zeilen gibt, die diese beiden Bedingungen erfüllen.

Wir können eine ähnliche Syntax verwenden, um die Anzahl der Zeilen zu zählen, die die gewünschte Anzahl von Bedingungen erfüllen.

Der folgende Code zeigt beispielsweise, wie die Anzahl der Zeilen gezählt wird, die drei Bedingungen erfüllen:

  • das Team ist gleich „B“
  • pos ist gleich ‚Gu‘
  • Punkte sind größer als 12
 #count rows where team is 'B' and pos is 'Gu' and points > 15
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ') & (df[' points ']> 12 )])

1

Wir können sehen, dass eine einzelne Zeile des DataFrame alle drei Bedingungen erfüllt.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

Pandas: So finden Sie den Unterschied zwischen zwei Linien
Pandas: So löschen Sie Zeilen, die eine bestimmte Zeichenfolge enthalten
Pandas: So entfernen Sie doppelte Zeilen in einem DataFrame

Einen Kommentar hinzufügen

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