Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Pandas : comment représenter value_counts en pourcentage



Vous pouvez utiliser la fonction value_counts() dans pandas pour compter les occurrences de valeurs dans une colonne donnée d’un DataFrame.

Pour représenter les valeurs sous forme de pourcentages, vous pouvez utiliser l’une des méthodes suivantes :

Méthode 1 : Représenter les valeurs sous forme de pourcentages (formaté sous forme de décimales)

df.my_col.value_counts(normalize=True)

Méthode 2 : Représenter les valeurs sous forme de pourcentages (formaté avec des symboles de pourcentage)

df.my_col.value_counts(normalize=True).mul(100).round(1).astype(str) + '%'

Méthode 3 : Représenter les comptes de valeurs sous forme de pourcentages (avec les comptes)

counts = df.my_col.value_counts()
percs = df.my_col.value_counts(normalize=True)
pd.concat([counts,percs], axis=1, keys=['count', 'percentage'])

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   'points': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print(df)

  team  points
0    A      15
1    A      12
2    B      18
3    B      20
4    B      22
5    B      28
6    B      35
7    C      40

Exemple 1 : Représenter les valeurs sous forme de pourcentages (formaté sous forme de décimales)

Le code suivant montre comment compter l’occurrence de chaque valeur dans la colonne d’équipe et représenter les occurrences sous forme de pourcentage du total, au format décimal :

#count occurrence of each value in 'team' column as percentage of total
df.team.value_counts(normalize=True)

B    0.625
A    0.250
C    0.125
Name: team, dtype: float64

À partir du résultat, nous pouvons voir :

  • La valeur B représente 62,5% des occurrences dans la colonne équipe.
  • La valeur A représente 25% des occurrences dans la colonne équipe.
  • La valeur C représente 12,5% des occurrences dans la colonne équipe.

Notez que les pourcentages sont formatés sous forme de décimales.

Exemple 2 : Représenter les valeurs sous forme de pourcentages (formaté avec des symboles de pourcentage)

Le code suivant montre comment compter l’occurrence de chaque valeur dans la colonne d’équipe et représenter les occurrences sous forme de pourcentage du total, formaté avec des symboles de pourcentage :

#count occurrence of each value in 'team' column as percentage of total
df.team.value_counts(normalize=True).mul(100).round(1).astype(str) + '%'

B    62.5%
A    25.0%
C    12.5%
Name: team, dtype: object

Notez que les pourcentages sont formatés sous forme de chaînes avec des symboles de pourcentage.

Exemple 3 : Représenter les nombres de valeurs sous forme de pourcentages (avec les nombres)

Le code suivant montre comment compter l’occurrence de chaque valeur dans la colonne d’équipe et représenter les occurrences sous forme de nombres et de pourcentages :

#count occurrence of each value in 'team' column
counts = df.team.value_counts()

#count occurrence of each value in 'team' column as percentage of total 
percs = df.team.value_counts(normalize=True)

#concatenate results into one DataFrame
pd.concat([counts,percs], axis=1, keys=['count', 'percentage'])

        count	percentage
B	5	0.625
A	2	0.250
C	1	0.125

Notez que la colonne de nombre affiche le nombre de chaque valeur unique dans la colonne d’équipe tandis que la colonne de pourcentage affiche chaque valeur unique sous forme de pourcentage du nombre total d’occurrences.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : comment tracer les comptes de valeur
Pandas : Comment utiliser GroupBy et les décomptes de valeurs
Pandas : comment tracer des histogrammes par groupe

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *