Comment compter le nombres d'occurrences d'éléments d'une colonne dans une dataframe avec pandas en python ?

Comment compter le nombres d'occurrences d'éléments d'une colonne dans une dataframe avec pandas en python ?

Daidalos 13 avril 2020


Exemples de comment compter le nombre d'occurrence d'un element dans une dataframe colonne avec pandas en python:

Créer une simple dataframe avec pandas

Commençons par créer une simple dataframe df:

>>> import pandas as pd
>>> import numpy as np

>>> df = pd.DataFrame(columns=['target','a','b'])

>>> df = df.append({"target": 0, "a":  "no", "b":  "M"}, ignore_index=True)
>>> df = df.append({"target": 1, "a":  "yes", "b":  "F"}, ignore_index=True)
>>> df = df.append({"target": 1, "a":  "yes", "b":  "M"}, ignore_index=True)
>>> df = df.append({"target": 1, "a":  "no", "b":  "F"}, ignore_index=True)
>>> df = df.append({"target": 0, "a":  "no", "b":  "F"}, ignore_index=True)

>>> df

donne

  target    a  b
0      0   no  M
1      1  yes  F
2      1  yes  M
3      1   no  F
4      0   no  F

Compter le nombre d'occurrence

Pour compter le nombres d'occurrences des éléments de la colonne 'target', une solution est d'utiliser la fonction value_counts

>>> df['target'].value_counts()

qui donne

1    3
0    2

soit le nombre 1 est présent 3 fois dans la colonne 'target' et 0 est présent 2 fois.

Echantillonner la dataframe

Autre solution pour obtenir par exemple le nombre d'occurrence de 0:

>>> sub_df = df[ df['target'] == 0 ]
>>>  sub_df 
  target   a  b
0      0  no  M
4      0  no  F
>>> len(sub_df) 
2

Références

Liens Site
How to get value counts for multiple columns at once in Pandas DataFrame? stackoverflow
get dataframe row count based on conditions stackoverflow
How to count occurrence of elements in a single column of Pandas Dataframe stackoverflow
pandas.Series.value_counts pandas doc
value_counts() Method: Count Unique Occurrences of Values in a Column