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