10-python-pandas-statistical
10. Pandas高级教程之:统计方法
简介
数据分析中经常会用到很多统计类的方法,本文将会介绍Pandas中使用到的统计方法。
变动百分百
Series和DF都有一个pct_change() 方法用来计算数据变动的百分比。这个方法在填充NaN值的时候特别有用。
ser = pd.Series(np.random.randn(8))
ser.pct_change()
Out[45]:
0 NaN
1 -1.264716
2 4.125006
3 -1.159092
4 -0.091292
5 4.837752
6 -1.182146
7 -8.721482
dtype: float64
ser
Out[46]:
0 -0.950515
1 0.251617
2 1.289537
3 -0.205155
4 -0.186426
5 -1.088310
6 0.198231
7 -1.530635
dtype: float64pct_change还有个periods参数,可以指定计算百分比的periods,也就是隔多少个元素来计算:
Covariance协方差
Series.cov() 用来计算两个Series的协方差,会忽略掉NaN的数据。
同样的,DataFrame.cov() 会计算对应Series的协方差,也会忽略NaN的数据。
DataFrame.cov 带有一个min_periods参数,可以指定计算协方差的最小元素个数,以保证不会出现极值数据的情况。
Correlation相关系数
corr() 方法可以用来计算相关系数。有三种相关系数的计算方法:
pearson (default)
标准相关系数
kendall
Kendall Tau相关系数
spearman
斯皮尔曼等级相关系数
corr同样也支持 min_periods :
corrwith 可以计算不同DF间的相关系数。
rank等级
rank方法可以对Series中的数据进行排列等级。什么叫等级呢? 我们举个例子:
上面我们创建了一个Series,里面的数据从小到大排序 :
所以相应的rank就是 1 , 2 ,3 ,4 , 5.
因为我们有两个值是相同的,默认情况下会取两者的平均值,也就是 4.5.
除了 default_rank , 还可以指定max_rank ,这样每个值都是最大的5 。
还可以指定 NA_bottom , 表示对于NaN的数据也用来计算rank,并且会放在最底部,也就是最大值。
还可以指定 pct_rank , rank值是一个百分比值。
rank还可以指定按行 (axis=0) 或者 按列 (axis=1)来计算。
最后更新于
这有帮助吗?