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