SCIPY CROSSTAB

SCIPY CROSSTAB

Il linguaggio di programmazione Python offre una varietà di biblioteche incredibili che forniscono un lungo elenco di funzioni utili. Utilizzando queste librerie e funzioni, qualsiasi applicazione pratica può essere gestita facilmente. In questo articolo, spiegheremo la funzione CrossStab disponibile nella biblioteca Scipy. La biblioteca Scipy è una delle librerie più comunemente usate del linguaggio di programmazione Python in quanto fornisce funzioni per tutti i tipi di operazioni statistiche e matematiche. Crosstab è la funzione di un'altra biblioteca di Scipy in cui discuteremo in questa guida. Iniziamo!

Cos'è crosstab?

Crosstab sta per la tabulazione incrociata che viene utilizzata per creare una tabella di contingenza di due o più fattori contando le frequenze delle coppie corrispondenti. In parole semplici, restituisce una tabella che contiene il conteggio di ogni combinazione unica degli elementi in due o più set di dati. Può essere utilizzato per eseguire una potente analisi dei dati costruendo una tabella di riepilogo.

In questo articolo, dimostreremo alcuni esempi per mostrarti come utilizzare la funzione crosstab in un programma Python. Con questi esempi, sarai in grado di comprendere la funzione in modo migliore e sarai in grado di implementarla nei tuoi programmi. Prima di passare alla sezione degli esempi, capiamo la sintassi della funzione crosstab.

Qual è la sintassi della funzione crosstab?

La funzione CrossStab è fornita dalla libreria Scipy nel pacchetto stat e nella classe di emergenza. La sintassi della funzione crosstab è la seguente:


I set di dati dei parametri* rappresentano la sequenza di set di dati la cui tabulazione incrociata deve essere calcolata. La dimensione o gli elementi devono corrispondere a tutti i set di dati. I livelli e i parametri sparsi sono parametri opzionali. Se non vengono forniti, verrà utilizzato il loro valore predefinito. L'argomento dei livelli contiene l'elenco degli elementi che devono essere conteggiati nei set di dati. Il numero dei "livelli" e il numero dei set di dati dovrebbero essere lo stesso.

I valori indicati nel parametro del livello sono contati nei set di dati. Se non esistono valori corrispondenti nel set di dati, verranno ignorati e il loro conteggio non verrà restituito nell'array risultante. Il parametro di risparmio contiene un valore vero o falso, indicando se restituire una matrice sparsa o no. È falso per impostazione predefinita.

La funzione crosstab restituisce due elementi: uno è una tupla di lunghezza e l'altra è conteggio. La "tupla della lunghezza" contiene la sequenza di elementi che vengono contati. L'elemento "Conte" contiene il conteggio di ciascuna coppia di contingenza che è anche nota come tabella di emergenza. Ora che abbiamo imparato la sintassi della funzione crosstab, vediamo alcuni esempi per capire come la funzione crosstab può essere implementata in un programma Python.

Esempio 1:

Cominciamo con un semplice esempio in modo da non avere problemi a comprendere il funzionamento di base della funzione crosstab. Considera il codice di esempio nel seguente frammento di codice:

da Scipy.statistiche.Importazione di emergenza Crosstab
A = ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B', 'B' "
x = ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z' "
(Avals, xvals), count = crosstab (a, x)
print ('array 1 contiene:', Avals)
print ('\ Narray 2 contiene:', xvals)
print ('\ nthe conte di crosstab è: \ n', conta)


Innanzitutto, la libreria SCIPY insieme al pacchetto statistiche e alla classe di emergenza viene importata nel programma per chiamare la funzione crosstab. Successivamente, vengono forniti due array della stessa lunghezza. Entrambi sono passati alla funzione crosstab. Vengono dichiarate tre variabili, ognuna con un risultato unico dalla funzione crosstab. Ora, vediamo il risultato della funzione Crosstab di seguito:


Il primo array contiene 2 articoli unici: A e B. Mentre il secondo array contiene tre elementi unici: x, y e z. Il conteggio della contingenza è [[2, 2, 2] [2, 2, 2]] che significa che la coppia (a, x) si verifica due volte, la coppia (a, y) si verifica due volte, la coppia (a, z ) si verifica due volte, la coppia (b, x) si verifica due volte, la coppia (b, y) si verifica due volte e la coppia (b, z) si verifica due volte.

Esempio 2:

Come abbiamo discusso nell'esempio precedente, il crosstab accetta il maggior numero di set di dati che puoi fornire. Calcola la tabella di contingenza per tutti i set di dati. Nell'esempio precedente, abbiamo fornito solo 2 set di dati. Aggiungiamo un altro e vediamo il risultato della funzione crosstab. Considera il seguente codice di esempio:

da Scipy.statistiche.Importazione di emergenza Crosstab
A = ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B', 'B' "
x = ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z' "
P = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
(Avals, XVals, Pvals), Count = Crosstab (A, X, P)
print ('array 1 contiene:', Avals)
print ('\ Narray 2 contiene:', xvals)
print ('\ narray 3 contiene:', pvals)
print ('\ nthe conte di crosstab è: \ n', conta)


Ora, vediamo il seguente output per capire come cambia il risultato del crosstab:


Dato che avevamo tre set di dati, il primo set di dati contiene due elementi unici: A e B. Il secondo set di dati contiene tre elementi unici: X, Y e Z. E il terzo set di dati contiene due elementi unici: 0 e 1. Abbiamo le seguenti coppie (a, x, 0), (a, x, 1), (a, y, 0), (a, y, 1), (a, z, 0), (a, z, 1), (b, x, 0), (b, x, 1), (b, y, 0), (b, y, 1), (b, z, 0), (b, z, 1) , con conteggi [[[2 0] [0 2] [2 0]] [[0 2] [2 0] [0 2]]], rispettivamente.

Esempio 3:

Come sappiamo, Crosstab prende due parametri opzionali: uno è livelli e l'altro è scarso. In questo esempio, ti guideremo su come fornire esplicitamente i parametri di livello e come la funzione crosstab la gestisce. Considera il seguente esempio:

da Scipy.statistiche.Importazione di emergenza Crosstab
A = ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B', 'B' "
x = ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z' "
opt = ['a', 'b', 'x', 'y', 'z']
(Avals, XVals), Count = crosstab (a, x, livelli = (opt, opt))
print ('array 1 contiene:', Avals)
print ('\ Narray 2 contiene:', xvals)
print ('\ nthe conte di crosstab è: \ n', conta)


Come abbiamo discusso in precedenza, il numero di livelli dovrebbe essere lo stesso del numero di set di dati. Quindi, diamo i livelli = (opt, opt) per abbinare il numero di set di dati. Vediamo la tabella di contingenza nella seguente uscita:

Esempio 4:

Il secondo argomento opzionale della funzione crosstab è scarso. In questo esempio, definiremo esplicitamente il parametro sparso come vero per ottenere la matrice sparsa come risultato. Considera il codice di esempio nel seguente frammento di codice:

da Scipy.statistiche.Importazione di emergenza Crosstab
A = ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'A', 'A', 'B', 'B', 'B' "
x = ['x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z' "
opt = ['a', 'b', 'x', 'y', 'z']
(Avals, XVals), Count = CrossStab (A, X, Livels = (Opt, Opt), Sparse = True)
print ('array 1 contiene:', Avals)
print ('\ Narray 2 contiene:', xvals)
print ('\ nthe sparse matrix è: \ n', conta)
print ('\ nthe conte di crosstab è: \ n', conta.UN)


Ecco l'output della funzione CrossStab che contiene tutti i parametri richiesti e opzionali:

Conclusione

Questo articolo è una rapida panoramica della funzione crosstab fornita dalla biblioteca di Scipy. Crosstab sta per tabulazione incrociata. Viene utilizzato per ottenere la tabella di contingenza dei dati dati. Prende un elenco di set di dati, conteggi la contingenza degli elementi indicati nel set di dati e restituisce l'array di conteggi. Con l'aiuto di esempi, abbiamo imparato a fornire i diversi parametri alla funzione e ottenere il risultato desiderato da essa.