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.

Comment créer des tableaux de fréquences en Python



Un tableau de fréquences est un tableau qui affiche les fréquences de différentes catégories. Ce type de tableau est particulièrement utile pour comprendre la distribution des valeurs dans un ensemble de données.

Ce tutoriel explique comment créer des tables de fréquences en Python.

Tableau de fréquence unidirectionnel pour une série

Pour trouver les fréquences des valeurs individuelles dans une série pandas, vous pouvez utiliser la fonction value_counts() :

import pandas as pd

#define Series
data = pd.Series([1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 5])

#find frequencies of each value
data.value_counts()

3    4
1    3
4    2
5    1
2    1

Vous pouvez ajouter l’argument sort=False si vous ne souhaitez pas que les valeurs des données soient triées par fréquence :

data.value_counts(sort=False)

1    3
2    1
3    4
4    2
5    1

La façon d’interpréter le résultat est la suivante :

  • La valeur « 1 » apparaît 3 fois dans la série.
  • La valeur « 2 » apparaît 1 fois dans la série.
  • La valeur « 3 » apparaît 4 fois dans la série.

Et ainsi de suite.

Tableau de fréquence unidirectionnel pour un DataFrame

Pour trouver les fréquences d’un DataFrame pandas vous pouvez utiliser la fonction crosstab () , qui utilise la syntaxe suivante :

tableau croisé (index, colonnes)

où:

  • index : nom de la colonne par laquelle regrouper
  • columns : nom à donner à la colonne de fréquence

Par exemple, supposons que nous ayons un DataFrame contenant des informations sur la note, l’âge et le sexe de 10 élèves différents dans une classe. Voici comment trouver la fréquence de chaque note de lettre :

#create data
df = pd.DataFrame({'Grade': ['A','A','A','B','B', 'B', 'B', 'C', 'D', 'D'],
                   'Age': [18, 18, 18, 19, 19, 20, 18, 18, 19, 19],
                   'Gender': ['M','M', 'F', 'F', 'F', 'M', 'M', 'F', 'M', 'F']})

#view data
df

	Grade	Age	Gender
0	    A	 18	     M
1	    A	 18	     M
2	    A	 18	     F
3	    B	 19	     F
4	    B	 19	     F
5	    B	 20	     M
6	    B	 18	     M
7	    C	 18	     F
8	    D	 19	     M
9	    D	 19	     F 	  

#find frequency of each letter grade
pd.crosstab(index=df['Grade'], columns='count')

col_0	count
Grade	
A	    3
B	    4
C	    1
D	    2

La façon d’interpréter cela est la suivante :

  • 3 élèves ont reçu un « A » dans la classe.
  • 4 élèves ont reçu un « B » dans la classe.
  • 1 élève a reçu un « C » dans la classe.
  • 2 élèves ont reçu un « D » dans la classe.

Nous pouvons utiliser une syntaxe similaire pour trouver les décomptes de fréquence pour d’autres colonnes. Par exemple, voici comment trouver la fréquence par âge :

pd.crosstab(index=df['Age'], columns='count') 

col_0	count
Age	
18   	    5
19	    4
20	    1

La façon d’interpréter cela est la suivante :

  • 5 étudiants ont 18 ans.
  • 4 étudiants ont 19 ans.
  • 1 étudiant a 20 ans.

Vous pouvez également facilement afficher les fréquences sous forme de proportions de l’ensemble de données en divisant par la somme :

#define crosstab
tab = pd.crosstab(index=df['Age'], columns='count')

#find proportions 
tab/tab.sum()

col_0	count
Age	
18	  0.5
19	  0.4
20	  0.1

La façon d’interpréter cela est la suivante :

  • 50% des étudiants ont 18 ans.
  • 40% des étudiants ont 19 ans.
  • 10% des étudiants ont 20 ans.

Tableaux de fréquence bidirectionnels pour un DataFrame

Vous pouvez également créer un tableau de fréquences bidirectionnel pour afficher les fréquences de deux variables différentes dans l’ensemble de données. Par exemple, voici comment créer un tableau de fréquence bidirectionnel pour les variables Âge et Grade :

pd.crosstab(index=df['Age'], columns=df['Grade'])


Grade	A	B	C	D
Age				
18	3	1	1	0
19	0	2	0	2
20	0	1	0	0

La façon d’interpréter cela est la suivante :

  • Il y a 3 étudiants âgés de 18 ans qui ont reçu un « A » dans la classe.
  • Il y a 1 élève qui a 18 ans et qui a reçu un « B » dans la classe.
  • Il y a 1 élève qui a 18 ans et qui a reçu un « C » dans la classe.
  • Il y a 0 élève âgé de 18 ans et qui a reçu un « D » dans la classe.

Et ainsi de suite.

Vous pouvez trouver la documentation complète de la fonction crosstab() ici .

Ajouter un commentaire

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