【统计学 第一周】 数据清洗整理与展示

梳理大纲: 数据清洗整理与展示
【1】数据预处理
【2】数据整理
【3】数据展示(以Python代码示意)

参考资料:
《统计学 第七版》第三章
《可汗学院 统计学视频》 第3-10集

From 统计学Statistics 学习小组:由【木东居士】公众号 定期发起
对数据感兴趣的伙伴们 可一同在此交流学习

【数据预处理】

数据审核:
1.是否有遗漏(Nan)?
2.是否存在错误值?
3.是否存在异常值?

注意:对于二手数据,需要弄清楚 数据来源,数据口径( 统计口径包括统计方式、统计范围等指标)以及相关背景材料

数据筛选
Excel:可点击“筛选”功能实现
Sql:可使用where语句
Python:可使用pandas库中的loc,iloc,ix等语句

数据排序
Excel:可点击“排序”功能实现
Sql:可使用order语句
Python:可使用pandas库中的sort_index,sort_values等语句

数据透视表pivot table
Excel:选择区域后,可按“Alt+D+P”调用
Python:可使用pivotable功能实现

———————————————————————————————————

【品质数据的整理】

分类数据的整理:

常采用【频数&频数分布】
在这里插入图片描述
列联表(两个或者两个以上变量的交叉分类)
交叉表 cross table(二维列联表)
比例Proportion:样本与总体的比值(百分比)
比率Ratio:样本中不同类别的比值,非与总体的比值,所以结果可能大于1

顺序数据的整理:

可使用 累计频数&累计频率
(排序后,分为向上累加和向下累加的形式)
在这里插入图片描述
数值型数据的整理:

可使用分组(单变量值分组/组距分组)来观察数据的分布特征
分组规定:统计学中默认使用“上组限不在内”的方法,即a<=x<b

分组又分为:等距分组 & 不等距分组(如年龄分段:少年&青年&中年&老年)
一般使用该组的组中值代表该组:组中值 =(下限值+上限值)/ 2

———————————————————————————————————

【品质数据的图表展示】

适合数值型的图示:
直方图:表示分组后的频率分布
茎叶图:表现分布形状和离散情况
箱型图:由最大/小,中位数和两个四分位数组成,反映原始数据的分布(可对多组数据的分布进行比较)

线图(折线图):可表现时间序列

【双变量】散点图
【三变量】气泡图:横纵坐标双变量,第三变量通过气泡大小体现
【多变量】雷达图/蜘蛛图(类似于英雄联盟KDA表现)

通用图示:
条形图(纵置时为柱形图)
帕累托图(按各类别频数 排序后绘制的图表)
饼图:表现各样本占全部数据的比例分布
环形图(旭日图)可理解为饼图的无限辐射形态

其他图示补充

漏斗图:展示各阶段的流量变化情况
在这里插入图片描述

力导图:展现放射状的关系图谱
在这里插入图片描述
热力图:更形象地展现各维度(虚拟or现实领域)的数据强度
在这里插入图片描述
更多图表,可借鉴一些图表网站,如:
https://www.highcharts.com.cn/demo/highcharts/sankey-diagram

———————————————————————————————————

附:部分图表代码

直方图 ( Python Matplotlib 绘制 ):
在这里插入图片描述

import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
#从pyplot导入MultipleLocator类,这个类用于设置刻度间隔

plt.hist(HP,bins=25, normed=0, facecolor="green", edgecolor="black", alpha=0.8)
plt.xlabel('HP')  
plt.ylabel('Number')  
plt.title(r'HP of Pokeman')  

ax=plt.gca()
#ax为两条坐标轴的实例
x_major_locator=MultipleLocator(20)
#把x轴的刻度间隔设置为20,并存在变量里
ax.xaxis.set_major_locator(x_major_locator)
#把y轴的刻度间隔设置为10,并存在变量里

茎叶图 ( Pthon Matplotlib 绘制 ):
在这里插入图片描述

from itertools import groupby
data = '89 79 57 46 1 24 71 5 6 9 10 15 16 19 22 31 40 41 52 55 60 61 65 69 70 75 85 91 92 94'

for k, g in groupby(sorted(data.split()), key=lambda x: int(x) // 10):
    lst = map(str, [int(_) % 10 for _ in list(g)])
    print (k, '|', ' '.join(lst))

箱型图( Pthon Matplotlib 绘制 ):
在这里插入图片描述

import matplotlib.pyplot as plt
fig = plt.figure()  # 创建画布
ax = plt.subplot()  # 创建作图区域

plt.boxplot([Grass_HP,Water_HP,Fire_HP])
plt.xlabel('Pokeman_Type')  
plt.ylabel('HP')  
plt.title(r'HP of different_type Pokeman')  

ax.set_xticklabels(['Grass', 'Water', 'Fire'])

———————————————————————————————————
碎觉,以后会陆续更新 图表代码
(还是Seaborn的会好看些…)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值