Come creare una tabella di contingenza in python
Una tabella di contingenza è un tipo di tabella che riepiloga la relazione tra due variabili categoriali.
Per creare una tabella di contingenza in Python, possiamo utilizzare la funzione pandas.crosstab() , che utilizza la seguente sintassi:
pandas.crosstab(indice, colonne)
Oro:
- indice: nome della variabile da visualizzare nelle righe della tabella di contingenza
- colonne: nome della variabile da visualizzare nelle colonne della tabella di contingenza
Il seguente esempio passo passo mostra come utilizzare questa funzione per creare una tabella di contingenza in Python.
Passaggio 1: creare i dati
Innanzitutto, creiamo un set di dati che visualizzi informazioni su 20 diversi ordini di prodotti, incluso il tipo di prodotto acquistato (TV, computer o radio) e il paese (A, B o C) in cui il prodotto è stato acquistato:
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
Passaggio 2: creare la tabella di contingenza
Il codice seguente mostra come creare una tabella di contingenza per contare il numero di ciascun prodotto ordinato da ciascun paese:
#create contingency table p.d. crosstab (index=df[' Country '], columns=df[' Product ']) Product Comp Radio TV Country A 1 0 3 B 3 2 3 C 2 3 3
Ecco come interpretare la tabella:
- Nel paese A è stato acquistato un totale di 1 computer.
- Nel paese B sono stati acquistati in totale 3 computer.
- Nel paese C sono stati acquistati in totale 2 computer.
- Nel paese A sono state acquistate in totale 0 radio.
- Nel paese B sono state acquistate in totale 2 radio.
- Nel paese C sono state acquistate complessivamente 3 radio.
- Nel paese A sono stati acquistati complessivamente 3 televisori.
- Nel paese B sono stati acquistati complessivamente 3 televisori.
- Nel paese C sono stati acquistati complessivamente 3 televisori.
Passaggio 3: aggiungi i totali dei margini alla tabella di contingenza
Possiamo usare l’argomento margins=True per aggiungere i totali dei margini alla tabella di contingenza:
#add margins to contingency table p.d. 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
Il modo di interpretare i valori della tabella è il seguente:
Totali righe:
- Sono stati effettuati in totale 4 ordini dal Paese A.
- Sono stati effettuati complessivamente 8 ordini dal Paese B.
- Sono stati effettuati complessivamente 8 ordini dal Paese C.
Totali delle colonne:
- Sono stati acquistati un totale di 6 computer.
- Sono state acquistate 5 radio in totale.
- Sono stati acquistati complessivamente 9 televisori.
Il valore nell’angolo in basso a destra della tabella mostra che sono stati ordinati un totale di 20 prodotti da tutti i paesi.
Risorse addizionali
Come creare una tabella di contingenza in R
Come creare una tabella di contingenza in Excel