Seite 1 von 1
Zählen unter Bedingungen
Verfasst: Donnerstag 16. Juli 2020, 17:17
von st_baum
Ich möchte gerne, ähnlich wie ZÄHLWENN in Excel, Werte (0 oder 1) in einer Spalte zählen, sofern eine Bedingung in einer anderen Spalte erfüllt ist.
So sieht der Datensatz aus
Code: Alles auswählen
import pandas as pd
d = {'col1': [1, 2, 3, 3], 'col2': [0, 1, 0, 1]}
df2 = pd.DataFrame(data=d)
Ich hatte mir das wie folgt gedacht:
Klappt leider nicht. Hat jemand eine Lösung?
Re: Zählen unter Bedingungen
Verfasst: Donnerstag 16. Juli 2020, 17:36
von __blackjack__
@st_baum: Wie soll denn das gewünschte Ergebnis aussehen?
Re: Zählen unter Bedingungen
Verfasst: Donnerstag 16. Juli 2020, 17:38
von st_baum
Achso, das wäre natürlich hilfreich
ich möchte zählen, wie oft der Wert Null in einer Spalte vorkommt. Gezählt werden soll nur, wenn in der anderen Spalte die genannte Bedingung erfüllt ist. Es reicht, wenn die resultierende Zahl in einer variable gespeichert wird.
Re: Zählen unter Bedingungen
Verfasst: Donnerstag 16. Juli 2020, 17:44
von __blackjack__
Also eine Und-Verknüpfung von zwei Bedingungen und dann zählen.
Code: Alles auswählen
In [170]: df2["col1"] < 3
Out[170]:
0 True
1 True
2 False
3 False
Name: col1, dtype: bool
In [171]: df2["col2"] == 0
Out[171]:
0 True
1 False
2 True
3 False
Name: col2, dtype: bool
In [172]: (df2["col1"] < 3) & (df2["col2"] == 0)
Out[172]:
0 True
1 False
2 False
3 False
dtype: bool
In [173]: ((df2["col1"] < 3) & (df2["col2"] == 0)).sum()
Out[173]: 1
Re: Zählen unter Bedingungen
Verfasst: Donnerstag 16. Juli 2020, 18:51
von st_baum
Prima, danke!