ad

学会《大数据可视化技术》_轻松读懂你的数据_5.3 数据分布性

admin 77 2023-10-25

【摘要】 本书摘自《大数据可视化技术》一书中第5章,第3节,杨尚森、许桂秋主编。

5.3 数据分布性

学会《大数据可视化技术》_轻松读懂你的数据_5.3 数据分布性

在统计学里有众数、中位数和平均数的概念。众数是指在一组数据中,出现次数最 多的数据;中位数,又称中点数、中值,是按顺序排列的一组数据中处于中间位置的 数;平均数是指在一组数据中所有数据之和再除以数据的个数,它是反映数据集中趋势 的一项指标。 一般来说,中位数和平均数都是一组数据的代表,但是它们仅仅描述了一 组数据的大概分布情况,无法呈现数据的整体面貌。可视化图表则可以克服这个缺点, 它几乎可以表现所有数据的内容,并且将数据分布的情况也一 目了然地呈现在读者面 前。比如,如果图表的曲线平坦则说明分布均匀;如果是重心偏左,则说明大部分数据 集中在较低的取值区间,反之,则说明大部分数据集中在取值较高的区域;如果曲线呈 现正态分布,则说明大部分数据集中在平均数附近。

5.3.1 茎叶图

在计算机还没有普及的年代,大部分数据类的图表都是手工绘制的。其中比较流 行的就是茎叶图,它又称为“枝叶图”,是在20世纪早期由英国统计学家阿瑟 ·鲍利(Arthur ·Bowley)提出的,1977年统计学家约翰托奇 (John Tukey)在其著作《探索性 数据分析》 (Exploratory Data Analysis) 中介绍了这种绘图方法。这种图表的基本思想 是将数组或序列中的变化不大或不变的数位作为茎(主干),将变化大的数作为叶(分 枝)排在茎的后面,读者就可以直观地看到茎后面有多少叶,并且每个数的数值是多 少,其基本框架如图5-11所示。

茎 叶

1 0 1 1 2

2 234

3 1 1 2 2 3 67

图5-11 茎叶图的基本框架

茎叶图可一次完成统计分组和次数分配,是探索性数据分析中对数据初步形象的描 绘。其图形直观且保留原始信息,平均值、中位数和众数均可按照原始数据准确、方便 地算出。下面用一个Python实例展现每年各国的出生率,数据源是birthrate.csv (本书配 套资料中已包含该数据源),如图5-12所示。

实现代码如下:

import numpy as np

import math

from itertools import groupby

import pandas as pd

birth=pd.read csv("birthrate.csv")

birth.dropna(subset=['2008'], inplace= True)

dirt={}

data = list(ROUND(birth ['2008'],1))

rangenum =[]

for k,g in groupby(sorted(data),key = lambda x: int(x)):

lst = map(str,list(map(lambda y: divmod(int(y*10),10)[1],list(g))))

dirt[k]='join(lst)

rangenum.append(k)

num = list(range(rangenum[0],rangenum[-1],2))

fori in num:

a="

for k in sorted(dirt.keys()):

if 0<=k-i<=1:

a=a+''+dirt[k]

elif k-i>1:

break

print(str(i).rjust(5),1,a)

在这个程序里面,我们并没有使用Python画图的包,而是用数字绘制出一个茎叶 图,因为Python中没有适用于画茎叶图的包。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《给所有人的Python》_第四版_也是给你的一本知识宝典_1.5.6 保存 Notebook
下一篇:打开《Java语言程序设计与应用》_从基础向熟练进发_3.1 数组的概念
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×