Comment créer un tableau de contingence en Python



Un tableau de contingence est un type de tableau qui résume la relation entre deux variables catégorielles.

Pour créer un tableau de contingence en Python, on peut utiliser la fonction pandas.crosstab() , qui utilise la syntaxe suivante :

pandas.crosstab (index, colonnes)

où:

  • index : nom de la variable à afficher dans les lignes du tableau de contingence
  • columns : nom de la variable à afficher dans les colonnes du tableau de contingence

L’exemple étape par étape suivant montre comment utiliser cette fonction pour créer un tableau de contingence en Python.

Étape 1 : Créer les données

Tout d’abord, créons un ensemble de données qui affiche des informations sur 20 commandes de produits différentes, y compris le type de produit acheté (TV, ordinateur ou radio) ainsi que le pays (A, B ou C) dans lequel le produit a été acheté :

import pandas as pd

#create data
df = pd.DataFrame({'Order': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
                            11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
                   'Product': ['TV', 'TV', 'Comp', 'TV', 'TV', 'Comp',
                               'Comp', 'Comp', 'TV', 'Radio', 'TV', 'Radio', 'Radio',
                               'Radio', 'Comp', 'Comp', 'TV', 'TV', 'Radio', 'TV'],
                   'Country': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B',
                               'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C']})

#view data
df

        Order	Product	Country
0	1	TV	A
1	2	TV	A
2	3	Comp	A
3	4	TV	A
4	5	TV	B
5	6	Comp	B
6	7	Comp	B
7	8	Comp	B
8	9	TV	B
9	10	Radio	B
10	11	TV	B
11	12	Radio	B
12	13	Radio	C
13	14	Radio	C
14	15	Comp	C
15	16	Comp	C
16	17	TV	C
17	18	TV	C
18	19	Radio	C
19	20	TV	C

Étape 2 : Créer le tableau de contingence

Le code suivant montre comment créer un tableau de contingence pour compter le nombre de chaque produit commandé par chaque pays :

#create contingency table
pd.crosstab(index=df['Country'], columns=df['Product'])

Product	Comp	Radio	TV
Country			
A	1	0	3
B	3	2	3
C	2	3	3

Voici comment interpréter le tableau :

  • Au total, 1 ordinateur a été acheté dans le pays A.
  • Au total, 3 ordinateurs ont été achetés dans le pays B.
  • Au total, 2 ordinateurs ont été achetés dans le pays C.
  • Au total, 0 radios ont été achetées dans le pays A.
  • Au total, 2 radios ont été achetées dans le pays B.
  • Au total, 3 radios ont été achetées dans le pays C.
  • Au total, 3 téléviseurs ont été achetés dans le pays A.
  • Au total, 3 téléviseurs ont été achetés dans le pays B.
  • Au total, 3 téléviseurs ont été achetés dans le pays C.

Étape 3 : Ajouter les totaux de marge au tableau de contingence

Nous pouvons utiliser l’argument margins=True pour ajouter les totaux de marge au tableau de contingence :

#add margins to contingency table
pd.crosstab(index=df['Country'], columns=df['Product'], margins=True)

Product	Comp	Radio	TV	All
Country				
A	1	0	3	4
B	3	2	3	8
C	2	3	3	8
All	6	5	9	20 

La façon d’interpréter les valeurs du tableau est la suivante :

Totaux des lignes :

  • Au total, 4 commandes ont été passées depuis le pays A.
  • Au total, 8 commandes ont été passées depuis le pays B.
  • Au total, 8 commandes ont été passées depuis le pays C.

Totaux des colonnes :

  • Au total, 6 ordinateurs ont été achetés.
  • Au total, 5 radios ont été achetées.
  • Au total, 9 téléviseurs ont été achetés.

La valeur dans le coin inférieur droit du tableau montre qu’un total de 20 produits ont été commandés dans tous les pays.

Ressources additionnelles

Comment créer un tableau de contingence dans R
Comment créer un tableau de contingence dans Excel

Ajouter un commentaire

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