100个pandas函数实例详解(二)

100个pandas函数实例详解(二)_第1张图片

Hi,我是山月。

之前给大家介绍了min()、max()、sum()、mean()、count()、size()、median()函数的用法实例。

今天继续给大家介绍的统计汇总函数里的:

var()

计算方差

std()

计算标准差

quantile()

计算任意分位数

cov()

计算协方差

corr()

计算相关系数

skew()

计算偏度

kurt()

计算峰度

mode()

计算众数

今天的这些函数使用起来都很简单,但是有些小伙伴可能对函数所代表的意义并不是很清楚,比如方差是什么?

所以这里先给大家来介绍下几个术语。

1、方差

样本中每个数据与其样品平均数的差的平方和的平均数。

方差越小,表示数据越集中;方差越大,表示数据越分散。

2、标准差

是方差的算术平方根。

标准差也是用来反映一个数据集的离散程度。

3、分位数

将一个随机变量的概率分布范围分为几个等份的数值点,常用的有中位数(即二分位数)、四分位数、百分位数等。

中位数:把所有的同类数据按照大小的顺序排列。

  • 如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;

  • 如果数据的个数是偶数,则中间那2个数据的平均值就是这群数据的中位数。

  • 等同于使用median()函数。

四分位:即把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。

4、协方差

表示两个变量的总体误差。

5、相关系数

是研究变量之间线性相关程度的量。

6、偏度

是统计数据分布偏斜方向和程度的度量。

若以bs表示偏度。

bs<0称分布具有负偏离,也称左偏态,此时数据位于均值左边的比位于右边的少,直观表现为左边的尾部相对于与右边的尾部要长;

bs>0称分布具有正偏离,也称右偏态,此时数据位于均值右边的比位于左边的少,直观表现为右边的尾部相对于与左边的尾部要长;

而bs接近0则可认为分布是对称的。

7、峰度

表征概率密度分布曲线在平均值处峰值高低的特征数。

直观看来,峰度反映了峰部的尖度。正态分布的峰度为3。

8、众数

是一组数据中出现次数最多的数值,有时众数在一组数中有好几个。

用到的表格数据如下:

100个pandas函数实例详解(二)_第2张图片

代码:

import pandas as pd

scores = pd.read_excel("学生成绩.xlsx", sheet_name="Sheet1")    # 读取表格数据

sum_score = scores["总分"]   # 提取总分的数据
print(sum_score.head(40))  

print('------')

var_score = sum_score.var()
print('总分的方差是:%s'%var_score)

std_score = sum_score.std()
print('总分的标准差是:%s'%std_score)

print('------')

print('总分的中位数是:%s'%sum_score.median())

quantile_05_score = sum_score.quantile(q=0.5)
print('总分的中位数是:%s'%quantile_05_score)

quantile_025_score = sum_score.quantile(q=[.25, .5, .75])
print('总分的三个四分位数是:\n%s'%quantile_025_score)

print('------')

skew_score = sum_score.skew()
print('总分的偏度是:%s'%skew_score)

kurt_score = sum_score.kurt()
print('总分的峰度是:%s'%kurt_score)

mode_score = sum_score.mode()
print('总分的众数是:\n%s'%mode_score)

print('------')

chinese_score = scores["语文"]   # 提取语文的数据
math_score = scores["数学"]   # 提取数学的数据

cov_score = chinese_score.cov(math_score)
print('语文与数学的协方差:%s'%cov_score)

corr_score = chinese_score.corr(math_score, method='pearson') 
'''
method可设置值:{‘pearson’, ‘kendall’, ‘spearman’} or callable

pearson :  标准相关系数
kendall : Kendall Tau相关系数
spearman : Spearman等级相关
callable:可通过输入两个一维数组并返回一个浮点数来调用
'''
print('语文与数学的相关系数:%s'%corr_score)

'''
0     192
1     240
2     189
3     249
4     216
5     248
6     200
7     203
8     227
9     211
10    231
11    213
12    209
13    228
14    227
15    238
16    241
17    238
18    249
19    215
20    229
21    253
22    198
23    226
24    213
25    236
26    195
27    211
28    201
29    221
30    276
31    259
32    212
33    239
34    217
35    227
36    211
37    230
38    234
39    210
Name: 总分, dtype: int64
------
总分的方差是:384.3051282051282
总分的标准差是:19.60370190053726
------
总分的中位数是:226.5
总分的中位数是:226.5
总分的三个四分位数是:
0.25    211.0
0.50    226.5
0.75    238.0
Name: 总分, dtype: float64
------
总分的偏度是:0.3602792391121246
总分的峰度是:-0.06970484299999313
总分的众数是:
0    211
1    227
dtype: int64
------
语文与数学的协方差:-24.728205128205133
语文与数学的相关系数:-0.12899982136845278
'''

--- End ---

你可能感兴趣的:(python,数据分析,机器学习,统计学,数据挖掘)