Python Pandas - Statistische Funktionen
Statistische Methoden helfen beim Verständnis und der Analyse des Verhaltens von Daten. Wir werden nun einige statistische Funktionen lernen, die wir auf Pandas-Objekte anwenden können.
Prozentänderung
Serien, DatFrames und Panel haben alle die Funktion pct_change(). Diese Funktion vergleicht jedes Element mit seinem vorherigen Element und berechnet den Änderungsprozentsatz.
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()
Es ist output ist wie folgt -
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
Standardmäßig ist die pct_change()arbeitet mit Spalten; Wenn Sie dieselbe Zeile weise anwenden möchten, verwenden Sieaxis=1() Streit.
Kovarianz
Die Kovarianz wird auf Seriendaten angewendet. Das Serienobjekt verfügt über eine Methode cov, um die Kovarianz zwischen Serienobjekten zu berechnen. NA wird automatisch ausgeschlossen.
Cov-Serie
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)
Es ist output ist wie folgt -
-0.12978405324
Die Kovarianzmethode wird berechnet, wenn sie auf einen DataFrame angewendet wird cov zwischen allen Spalten.
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()
Es ist output ist wie folgt -
-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 - Beachten Sie die cov zwischen a und b Spalte in der ersten Anweisung und das gleiche ist der Wert, der von cov auf DataFrame zurückgegeben wird.
Korrelation
Die Korrelation zeigt die lineare Beziehung zwischen zwei beliebigen Wertearrays (Reihen). Es gibt mehrere Methoden zur Berechnung der Korrelation wie Pearson (Standard), Spearman und 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()
Es ist output ist wie folgt -
-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
Wenn im DataFrame eine nicht numerische Spalte vorhanden ist, wird diese automatisch ausgeschlossen.
Datenranking
Das Datenranking erzeugt ein Ranking für jedes Element im Array von Elementen. Weist bei Gleichstand den mittleren Rang zu.
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()
Es ist output ist wie folgt -
a 1.0
b 3.5
c 2.0
d 3.5
e 5.0
dtype: float64
Der Rang nimmt optional einen aufsteigenden Parameter an, der standardmäßig wahr ist. Wenn false, werden die Daten umgekehrt eingestuft, wobei größeren Werten ein kleinerer Rang zugewiesen wird.
Rank unterstützt verschiedene Tie-Breaking-Methoden, die mit dem Methodenparameter - angegeben werden.
average - durchschnittlicher Rang der gebundenen Gruppe
min - niedrigster Rang in der Gruppe
max - höchster Rang in der Gruppe
first - Ränge in der Reihenfolge zugewiesen, in der sie im Array angezeigt werden