首页 > 数据库 > 其他综合 > 正文
3.3.1 基本统计特征函数
2015-12-14 14:29:03     我来说两句      
收藏    我要投稿

3.3 Python主要数据探索函数

Python中用于数据探索的库主要是Pandas(数据分析)和Matplotlib(数据可视化)。其中,Pandas提供了大量的与数据探索相关的函数,这些数据探索函数可大致分为统计特征函数与统计作图函数,而作图函数依赖于Matplotlib,所以往往又会跟Matplotlib结合在一起使用。本节对Pandas中主要的统计特征函数与统计作图函数进行介绍,并举例以方便理解。

3.3.1 基本统计特征函数

统计特征函数用于计算数据的均值、方差、标准差、分位数、相关系数和协方差等,这些统计特征能反映出数据的整体分布。本小节所介绍的统计特征函数如表3-8所示,它们主要作为Pandas的对象DataFrame或Series的方法出现。


 

(1)sum

功能:计算数据样本的总和(按列计算)。

使用格式:

D.sum()

按列计算样本D的总和,样本D可为DataFrame或者Series。

(2)mean

功能:计算数据样本的算术平均数。

使用格式:

D.mean()

按列计算样本D的均值,样本D可为DataFrame或者Series。

(3)var

功能:计算数据样本的方差。

使用格式:

D.var()

按列计算样本D的均值,样本D可为DataFrame或者Series。

(4)std

功能:计算数据样本的标准差。

使用格式:

D.std()

按列计算样本D的均值,样本D可为DataFrame或者Series。

(5)corr

功能:计算数据样本的Spearman(Pearson)相关系数矩阵。

使用格式:

D.corr(method='pearson')

样本D可为DataFrame,返回相关系数矩阵,method参数为计算方法,支持pearson(皮尔森相关系数,默认选项)、kendall(肯德尔系数)、spearman(斯皮尔曼系数);

S1.corr(S2, method='pearson') S1、S2均为Series,这种格式指定计算两个Series之间的相关系数。

实例:计算两个列向量的相关系数,采用Spearman方法。

 

D = pd.DataFrame([range(1, 8), range(2, 9)]) #生成样本D,一行为1~7,一行为2~8
D.corr(method='spearson') #计算相关系数矩阵
S1 = D.loc[0] #提取第一行
S2 = D.loc[1] #提取第二行
S1.corr(S2, method='pearson') #计算S1、S2的相关系数

(6)cov

功能:计算数据样本的协方差矩阵。

使用格式:

D.cov()

样本D可为DataFrame,返回协方差矩阵;

S1.cov(S2)    S1、S2均为Series,这种格式指定计算两个Series之间的协方差。

实例:计算6×5随机矩阵的协方差矩阵。

import numpy as np
D = pd.DataFrame(np.random.randn(6, 5)) #产生6×5随机矩阵

D.cov() #计算协方差矩阵
      0         1         2         3         4
0  1.745257 -0.299968  0.850216 -0.484931  1.068187
1 -1.453670  1.460928  0.347299  1.585089  0.595347
2 -0.751128  0.504498 -1.244944 -0.672183 -0.595296
3 -0.423802 -1.086470  0.637264  0.873043 -0.506736
4  0.969907  0.721997 -0.550993  1.033300 -0.903234
5 -0.705159  0.385077  0.120580  0.347470  2.036798
D[0].cov(D[1]) #计算第一列和第二列的协方差
0.5

(7)skew/kurt

功能:计算数据样本的偏度(三阶矩)/ 峰度(四阶矩)。

使用格式:

D.skew() / D.kurt()

计算样本D的偏度(三阶矩)/ 峰度(四阶矩)。样本D可为DataFrame或Series。

实例:计算6×5随机矩阵的偏度(三阶矩)/ 峰度(四阶矩)。

import numpy as np
D = pd.DataFrame(np.random.randn(6, 5)) #产生6×5随机矩阵
D.skew()
0   -0.210246
1   -0.348367
2   -1.152183
3   -0.378802
4   -0.859889
dtype: float64
D.kurt()
0   -0.191062
1   -1.831973
2    1.171797
3   -1.529854
4    1.494526
dtype: float64

(8)describe

功能:直接给出样本数据的一些基本的统计量,包括均值、标准差、最大值、最小值、分位数等。
使用格式:

D.describe()

括号里可以带一些参数,比如percentiles = [0.2, 0.4, 0.6, 0.8]就是指定只计算0.2、0.4、0.6、0.8分位数,而不是默认的1/4、1/2、3/4分位数。

实例:给出6×5随机矩阵的describe。

import numpy as np
D = pd.DataFrame(np.random.randn(6, 5)) #产生6×5随机矩阵
D.describe()
          0         1         2         3         4
count  6.000000  6.000000  6.000000  6.000000  6.000000
mean   0.006958 -0.069822  0.113711 -0.168115 -0.584493
std    1.224979  1.017829  0.939980  1.173083  0.539911
min   -1.777763 -1.330542 -1.512842 -1.674685 -1.507229
25%   -0.669088 -0.937504 -0.202329 -1.109370 -0.721853
50%    0.176010  0.130924  0.472093  0.115791 -0.537366
75%    0.578993  0.650975  0.516907  0.538483 -0.305514
max    1.704960  1.119084  1.146215  1.272789  0.086585

 

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.2.6 相关性分析
下一篇:3.3.2 拓展统计特征函数
相关文章
图文推荐
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站