English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

函数统计Pandas

Esempi di operazioni di funzioni statistiche Pandas

Metodi statistici aiutano a comprendere e analizzare il comportamento dei dati. Ora, impareremo alcune funzioni statistiche che possono essere applicate agli oggetti Pandas.

Variazione percentuale

Le serie, i DataFrame e i Panel dispongono della funzione pct_change(). Questa funzione confronta ogni elemento con l'elemento precedente e calcola la percentuale di variazione.

 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())

Risultato esecuzione:

 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, pct_change() opera sulle colonne; se si desidera applicare in modo intelligente alla stessa riga, utilizzare il parametro axis = 1().

Covarianza

L'analisi della covarianza viene applicata ai dati delle serie. Gli oggetti di serie dispongono del metodo cov per calcolare la covarianza tra oggetti di serie. I valori NA vengono automaticamente esclusi.

Cov Series

 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))

Risultato esecuzione:

   -0.12978405324

Quando si applica il metodo di covarianza a DataFrame, si 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'])
 stampa(frame['a'].cov(frame['b']))
 stampa(frame.cov())

Risultato esecuzione:

 -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

Osservare il valore cov tra le colonne a e b nella prima istruzione, che è lo stesso del valore cov restituito da DataFrame.

Correlazione

La correlazione mostra la relazione lineare tra due array di valori (sequenze). Ci sono diversi metodi per calcolare la correlazione, ad esempio 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'])
 stampa(frame['a'].corr(frame['b']))
 stampa(frame.corr())

Risultato esecuzione:

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

Se DataFrame contiene qualsiasi colonna non numerica, verrà automaticamente esclusa.

Ranking dei dati

La ranking dei dati esegue il ranking di ciascun elemento dell'array di elementi. Se ci sono pareggi, viene assegnato un ranking 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())

Risultato esecuzione:

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

Rank può scegliere di ordinare i parametri in modo ascendente, di default è true; se è false, la ranking dei dati è inverso, i valori più grandi vengono assegnati a posizioni di ranking più basse.

Rank supporta l'uso del parametro method:

average − Il punteggio medio dei gruppi congiunti. min − La posizione più bassa del gruppo. max − Il livello più alto del gruppo. first − L'allocazione delle righe e delle colonne è nell'ordine in cui appaiono negli array.