统计基础知识—数据类型(下)

       之前的文章和大家一起聊了聊统计学意义上的数据类型,以及每种数据类型适合的可视化图,对这部分感兴趣的同学可以去看看统计基础知识—数据类型(上),今天我们来聊聊不同数据类型适合的描述性统计量以及如何用Python去实现统计量的求解。

1 描述性统计

       传统的统计量使用场景大致可以分为集中趋势离散趋势两种,对于不同的数据来说,可使用的统计方法也是不同的,结合不同的数据类型和使用场景选择合适的统计量也是很重要的,具体情况如下:

1.1 分类数据

集中趋势:频数、众数

对于分类数据来说,例如性别,只有男女,所以是不能计算均值方差的,只能利用频数和众数来观察集中趋势。

频数:变量所包含的每一类出现了多少次,比如性别,有多少个男性,就叫做性别为男的频数

众数:变量所包含的类别中出现次数最多的类,比如职业,假设我们的样本包含的职业共有工人、白领、医生三种,其对应的频数分别为100/200/300,那么我们就可以说职业这个变量的众数是医生

离散趋势:异众比率

异众比率:指的是非众数组的频数占总的频数的比例,还是上面的例子,比如职业,假设我们的样本包含的职业共有工人、白领、医生三种,其对应的频数分别为100/200/300,众数为医生,那么职业的异众比率=(工人+白领)/(工人+白领+医生)=300/600=0.5

异众比率越大,说明分子越大,也就是众数的频数相对来说越小,众数的代表性越差,数据越分散

1.2 顺序数据

顺序数据可以看做可排序的分类数据,比如:一等奖、二等奖这种,所以顺序数据也是可以计算频数和众数的,计算方法与上文相同

集中趋势:频数、众数、中位数、四分位数

中位数:就是将数据按照从小到大排序后,处于中间位置的数据

四分位数:四分位数也称为四分位点,它是将全部数据分成相等的四部分,其中每部分包括25%的数据,它们分别处于数据25%、50%、75%的位置:
第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数据
第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数据
第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数据

离散趋势:四分位差

四分位差:第三四分位数与第一四分位数的差距(Q3-Q1),又称四分位距。四分位距其实就是箱线图中中间那块箱子的大小,四分位差越大,箱子越长,说明数据越分散

1.3 数值型数据

数值型数据是最为常见的数据类型,像是年龄、温度、收入都属于数值型数据

集中趋势:频数、众数、中位数、四分位数、均值

均值:就是我们平时说的平均数或者期望值

离散趋势:极差、方差、标准差

极差:最大值-最小值

2 Python实现统计量计算

2.1 导入各种包

import pandas as pd
import seaborn as sns
import numpy as np

2.2 使用泰坦尼克号数据

一共891个样本,特征有数值型数据、分类数据、顺序数据,用来演示操作真的太合适了O(∩_∩)O哈哈~

data = sns.load_dataset('titanic')  # 导入泰坦尼克号生还数据
data

2.3 频数

性别列计算频数后,有male、female两种,对应的频数分别是577和314

pinshu = data['sex'].value_counts()   # 频数

 

 2.4 众数

male的频数大于female的频数,所以众数是male

zhongshu = data['sex'].mode()[0]   # 众数

  

2.5 异众比率

分子为非众数组的频数,分母为总样本量

yizhong = (pinshu.sum() - (data['sex'] == zhongshu).sum()) / pinshu.sum()   # 异众比率

 

2.6 中位数

特征pclass表示乘客票的等级数,类似一等座二等座的意思,1—一等座,2—二等座,3—三等座,是顺序变量,我们来用它求一个中位数是3,看来还是像我这种普通老百姓多啊,买不起一等座哈哈哈

np.median(data['pclass'])   # 中位数

 

2.7 四分位数

中位数是把数据排序后处于50%位置对应的数,上文求的中位数为3,上四分位数和下四分位数分别对应25%和75%的数据,分别求出为2和3,也就是说泰坦尼克号上买得起2等座的乘客已经超越了大概75%的人了

# 上四分位数、中位数、下四分位数
perc = np.percentile(data['pclass'], (25, 50, 75), interpolation='midpoint')   

 

2.8 四分位差

四分位差就是下四分位数-上四分位数,也就是3-2=1

perc[2] - perc[0]   # 四分位差

 

2.9 常用统计量

np.average(data['fare'])   # 均值
np.var(data['fare'])   # 方差
np.std(data['fare'])   # 标准差 方差开根号就是标准差
np.max(data['fare'])-np.min(data['fare'])   # 极差 极差就是最大值-最小值

 

 

 

本人才疏学浅,若有理解有误的地方,还请各路大佬批评指正♡♡♡

ok!感恩的心~

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值