欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第四章 数据的概括性度量

程序员文章站 2022-07-11 14:57:53
...
第四章 数据的概括性度量
1.集中趋势的度量

1.1 众数 - 测度分类数据的集中趋势

result1['Pclass'].mode()
0    3
dtype: int64
1.2 中位数 - 测序顺序数据的集中趋势,也适用于数值型数据的集中趋势

result1['Age'].median()
0.5    29.0
Name: Age, dtype: float64
#四分位数
result1['Age'].quantile([0.25,0.5,0.75])
0.25    24.0
0.50    29.0
0.75    36.0
Name: Age, dtype: float64
1.3 平均数 - 数值型数据进行统计分析和统计推断的基础(当数据为偏态分布时,可以考虑选择中位数或众数)

分组数据计算
#简单平均数 - 未分组数据计算
result1['Age'].mean()
30.11709497206704
统计 value_counts()
#加权平均数 - 根据分组数据计算
#1.数据分组,并进行类别描述行统计 value_counts()
result_cut = pd.cut(result1['Age'],[0,5,20,30,50,100],labels=[u'婴儿',u'少年',u'青年',u'中年',u'老年'])
print(result_cut.value_counts())
#2.计算权重
​
​
#3.计算加权平均数          ---        手动计算???
x = np.average([2.5,12.5,25,40,75],weights=[18,57,179,89,15])
print("数据集的加权平均数:{}".format(x))
青年    179
中年     89
少年     57
婴儿     18
老年     15
Name: Age, dtype: int64
数据集的加权平均数:27.702513966480446
2 离散程度的度量 - 反映各变量值原理其中心值的程度

数据的离散程度越大,集中趋势的测度值对该组数据的代表性就越差,离散程度越小,起代表性越小

2.1 分类型数据 - 异众比率:非众数组的频数站总频数的比例,主要衡量众数对一组数据的代表程度。

#1.计算频数分布表
a = result1['Pclass'].value_counts().sort_values(ascending=False).max()
#2 转换为数组类型
#a = np.array(a)
#3 计算异众比率
v = (result1['Pclass'].count()-a)/result1['Pclass'].count()
print('异众比率:{}'.format(v))
异众比率:0.44692737430167595
2.2 数值型数据 - 四分位差=(上四分位数-下四分位数),排序后的数值型数据

Q1 = result1['Age'].sort_values(ascending=False).quantile([0.75])
Q2 = result1['Age'].sort_values(ascending=False).quantile([0.25])#将dataframe数据类型转换为数组类型
Q1 = np.array(Q1)
Q2 = np.array(Q2)
Qd = Q2-Q1
print("数据集四分位差:{}".format(Qd))
数据集四分位差:[-12.]
2.3 数值型数据 - 方差和标准差,极差和平均差

①极差=最大值-最小值:也称全距

R = result1['Age'].max() - result1['Age'].min()
print("数据集极差:{}".format(R))
数据集极差:69.25
②平均差 =

③方差:各个变量值与其平均数的离差平方的平均数

***pandas中的var,std得到的是样本方差与标准差,*度为n-1

数据的
#1.未分组数据的方差
S2 = result1['Age'].var() 
print("数据集方差:{}".format(S2))
数据集方差:163.77202459039495
#2.分组数据方差
​
④标准差:方差的开方

***与标准差不同的是,标准差是有量纲的,与变量的计算单位相同,其实际意义要比方差更清楚

#1.为分组数据的标准差2.4 离散系数 - 数值型数据的相对离散程度

离散系数:一组数据的标准差与其平均数之比,主要对比不同样本数据的离散程度,离散系数大,数据的离散程度越大

***当平均数接近0时,离散系数的值趋于增大,此时必须慎重解释

std = result1['Age'].std()
mean = result1["Age"].mean()
vs = std/mean
print('数据集的离散系数:{}'.format(vs))
数据集的离散系数:0.4249196161502907
std = result2['Age'].std()
mean = result2["Age"].mean()
vs = std/mean
print('数据集的离散系数:{}'.format(vs))
数据集的离散系数:0.4421477023395454
3.偏态与峰态的度量 - 对分布形状的测度

3.1 偏态:对数据分布对称性的测度;

测度偏态的统计量是偏态系数SK,

#①SK<0,左偏分布

#②SK=0,对称分布

#③SK>0,右偏分布

SK = result1['Age'].skew()
print("数据集的偏态系数:{}".format(SK))
数据集的偏态系数:0.2632351659523622
3.2 峰态:对数据分布平峰或尖峰的测度

测度峰态的统计量是峰态系数

#①当K>0时,尖峰分布,数据分布更集中

#②当K<0时,扁平分布,数据分布越分散

K = result1['Age'].kurt()
print("数据集的峰态系数:{}".format(K))
数据集的峰态系数:0.5148110533833705