Python Pandas - Funzioni statistiche

I metodi statistici aiutano nella comprensione e nell'analisi del comportamento dei dati. Ora impareremo alcune funzioni statistiche, che possiamo applicare agli oggetti Pandas.

Percent_change

Serie, DatFrames e Panel, hanno tutti la funzione pct_change(). Questa funzione confronta ogni elemento con il suo elemento precedente e calcola la percentuale di modifica.

import pandas as pd
import numpy as np
s = pd.Series([1,2,3,4,5,4])
print s.pct_change()

df = pd.DataFrame(np.random.randn(5, 2))
print df.pct_change()

Suo output è il seguente -

0        NaN
1   1.000000
2   0.500000
3   0.333333
4   0.250000
5  -0.200000
dtype: float64

            0          1
0         NaN        NaN
1  -15.151902   0.174730
2  -0.746374   -1.449088
3  -3.582229   -3.165836
4   15.601150  -1.860434

Per impostazione predefinita, il pct_change()opera su colonne; se vuoi applicare la stessa riga saggia, usaaxis=1() discussione.

Covarianza

La covarianza viene applicata ai dati della serie. L'oggetto Series ha un metodo cov per calcolare la covarianza tra oggetti serie. NA verrà escluso automaticamente.

Serie Cov

import pandas as pd
import numpy as np
s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
print s1.cov(s2)

Suo output è il seguente -

-0.12978405324

Il metodo di covarianza quando applicato su un DataFrame, calcola cov tra tutte le colonne.

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print frame['a'].cov(frame['b'])
print frame.cov()

Suo output è il seguente -

-0.58312921152741437

           a           b           c           d            e
a   1.780628   -0.583129   -0.185575    0.003679    -0.136558
b  -0.583129    1.297011    0.136530   -0.523719     0.251064
c  -0.185575    0.136530    0.915227   -0.053881    -0.058926
d   0.003679   -0.523719   -0.053881    1.521426    -0.487694
e  -0.136558    0.251064   -0.058926   -0.487694     0.960761

Note - Osserva il cov fra a e b colonna nella prima istruzione e lo stesso è il valore restituito da cov su DataFrame.

Correlazione

La correlazione mostra la relazione lineare tra due array di valori (serie). Esistono diversi metodi per calcolare la correlazione come Pearson (predefinito), Spearman e Kendall.

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])

print frame['a'].corr(frame['b'])
print frame.corr()

Suo output è il seguente -

-0.383712785514

           a          b          c          d           e
a   1.000000  -0.383713  -0.145368   0.002235   -0.104405
b  -0.383713   1.000000   0.125311  -0.372821    0.224908
c  -0.145368   0.125311   1.000000  -0.045661   -0.062840
d   0.002235  -0.372821  -0.045661   1.000000   -0.403380
e  -0.104405   0.224908  -0.062840  -0.403380    1.000000

Se nel DataFrame è presente una colonna non numerica, viene esclusa automaticamente.

Classifica dei dati

La classificazione dei dati produce una classificazione per ogni elemento nella matrice di elementi. In caso di parità, assegna il grado medio.

import pandas as pd
import numpy as np

s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
s['d'] = s['b'] # so there's a tie
print s.rank()

Suo output è il seguente -

a  1.0
b  3.5
c  2.0
d  3.5
e  5.0
dtype: float64

Rango opzionalmente accetta un parametro crescente che per impostazione predefinita è vero; se falso, i dati vengono classificati in senso inverso, con valori maggiori assegnati a un rango inferiore.

Rank supporta diversi metodi di spareggio, specificati con il parametro del metodo -

  • average - grado medio di gruppo a pari merito

  • min - grado più basso nel gruppo

  • max - grado più alto nel gruppo

  • first - ranghi assegnati nell'ordine in cui appaiono nella matrice