English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas 统计函数的操作实例
统计方法有助于理解和分析数据的行为。现在,我们将学习一些统计函数,可以将它们应用于Pandas对象。
Series,DatFrames和Panel都具有功能pct_change()。此函数将每个元素与其先前的元素进行比较,并计算更改百分比。
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())
Laufende Ergebnisse:
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
默认情况下,pct_change()对列进行操作;如果要明智地应用同一行,请使用axis = 1()参数。
协方差应用于序列数据。系列对象具有方法cov来计算系列对象之间的协方差。NA将被自动排除。
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))
Laufende Ergebnisse:
-0.12978405324
将协方差方法应用于DataFrame时,将计算所有列之间的cov。
import pandas as pd import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), Spalten=['a', 'b', 'c', 'd', 'e']) print(frame['a'].cov(frame['b'])) print(frame.cov())
Laufende Ergebnisse:
-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
Beobachten Sie den cov-Wert zwischen den Spalten a und b in der ersten Anweisung, der dem von cov im DataFrame zurückgegebenen Wert entspricht.
Korrelation zeigt die lineare Beziehung zwischen zwei Wertemengen (Sequenzen) an. Es gibt verschiedene Methoden zur Berechnung der Korrelation, wie z.B. pearson (Standard), spearman und kendall.
import pandas as pd import numpy as np frame = pd.DataFrame(np.random.randn(10, 5), Spalten=['a', 'b', 'c', 'd', 'e']) print(frame['a'].corr(frame['b'])) print(frame.corr())
Laufende Ergebnisse:
-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
Falls im DataFrame eine nicht numerische Spalte vorhanden ist, wird diese automatisch ausgeschlossen.
Datenrangfolge führt eine Rangfolge für jedes Element im Elementarray durch. Bei Gleichstand wird eine durchschnittliche Rangfolge zugewiesen.
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())
Laufende Ergebnisse:
a 1.0 b 3.5 c 2.0 d 3.5 e 5.0 dtype: float64
Rank kann die Parameter in aufsteigender Reihenfolge auswählen, Standardmäßig ist dies true; wenn dies false ist, wird die Datenreihenfolge umgekehrt und größere Werte erhalten kleinere Ränge.
Rank unterstützt die Verwendung von method-Parameter:
average − Durchschnittliche Bewertung der parallelen Sets. min − Niedrigster Rang im Set. max − Höchstes Niveau im Set. first − Die Reihenfolge der Zuweisung der Zeilen und Spalten entspricht der Reihenfolge ihrer Erscheinung im Array.