Pandy: jak liczyć wartości w kolumnie z warunkiem
Możesz użyć następujących metod, aby policzyć liczbę wartości w kolumnie Pandas DataFrame z określonym warunkiem:
Metoda 1: Policz wartości w kolumnie z warunkiem
len(df[df[' col1 ']==' value1 '])
Metoda 2: Zlicz wartości w wielu kolumnach z warunkami
len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])
Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:
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
Przykład 1: Zlicz wartości w kolumnie z warunkiem
Poniższy kod pokazuje, jak policzyć liczbę wartości w kolumnie zespołu , gdzie wartość jest równa „A”:
#count number of values in team column where value is equal to 'A' len(df[df[' team ']==' A ']) 4
Widzimy, że w kolumnie zespołu znajdują się 4 wartości, których wartość jest równa „A”.
Przykład 2: Zlicz wartości w wielu kolumnach z warunkami
Poniższy kod pokazuje, jak policzyć liczbę wierszy w ramce danych, gdzie kolumna zespołu równa się „B”, a kolumna pos równa się „Gu”:
#count rows where team is 'B' and pos is 'Gu' len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')]) 2
Widzimy, że w ramce danych znajdują się 2 wiersze spełniające oba te warunki.
Możemy użyć podobnej składni, aby policzyć liczbę linii spełniających żądaną liczbę warunków.
Na przykład poniższy kod pokazuje, jak policzyć liczbę wierszy spełniających trzy warunki:
- zespół jest równy „B”
- poz jest równy „Gu”
- punktów jest większa niż 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
Widzimy, że pojedynczy wiersz ramki DataFrame spełnia wszystkie trzy warunki.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:
Pandy: jak znaleźć różnicę między dwiema liniami
Pandy: jak usunąć linie zawierające określony ciąg
Pandy: Jak usunąć zduplikowane wiersze w ramce danych