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