68 votes

Compter les occurrences de Faux ou Vrai dans une colonne dans les pandas

étant donné

 patient_id  test_result has_cancer
0   79452   Negative    False
1   81667   Positive    True
2   76297   Negative    False
3   36593   Negative    False
4   53717   Negative    False
5   67134   Negative    False
6   40436   Negative    False

comment compter False ou True dans une colonne, en python?

J'avais essayé:

 # number of patients with cancer

number_of_patients_with_cancer= (df["has_cancer"]==True).count()
print(number_of_patients_with_cancer)

85voto

W-B Points 94428

Vous avez donc besoin de value_counts ?

 df.has_cancer.value_counts()
Out[345]: 
False    6
True     1
Name: has_cancer, dtype: int64

59voto

coldspeed Points 111053

Si has_cancer a NaNs:

 false_count = (~df.has_cancer).sum()

Si has_cancer n'a pas de NaN, vous pouvez optimiser en n'ayant pas à annuler les masques au préalable.

 false_count = len(df) - df.has_cancer.sum()

Et de même, si vous ne voulez que le nombre de valeurs vraies, c'est

 true_count = df.has_cancer.sum()

si vous voulez les deux, c'est

 fc, tc = df.has_cancer.value_counts().sort_index().tolist()

16voto

David Miller Points 49
0     True
1    False
2    False
3    False
4    False
5    False
6    False
7    False
8    False
9    False

Si la série de panda ci-dessus s'appelle exemple

 example.sum()

Ensuite, ce code génère 1 car il n'y a qu'une seule valeur True dans la série. Pour obtenir le décompte de False

 len(example) - example.sum()

8voto

garima5aqua Points 21
number_of_patients_with_cancer = df.has_cancer[df.has_cancer==True].count()

0voto

gilch Points 3975

Additionnez simplement la colonne pour un décompte des vrais. False est juste un cas spécial de 0 et True un cas spécial de 1. Le nombre False serait le nombre de lignes moins cela. Sauf si vous avez des na là-dedans.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X