使用直方图、饼图和条形图进行数据分析(Python代码)
对于定量数据,如果你想知道分布形状是对称还是不对称,并发现一些极大或极小的可疑值,可以使用绘制频率分布表,绘制频数分布直方图,绘制茎叶图进行可视化分析;对于定性数据,可以使用饼图和条形图直观地显示分布情况。 ? ,您通常遵循以下 步骤 :
- 步骤 1:查找范围。
- 第2步:确定组距和组数。
- 第三步:确定点。
- 第四步:列出频数分布表。
- 第五步:绘制频率分布直方图。遵循 的最重要的 原则 如下:
- 组应该是互斥的。
- 每组必须包含所有数据。
- 每组的组宽最好相同。
下面结合具体例子来利用分布分析对定量数据进行特征分析。
表3-2为“老七刺身”菜肴2014年第二季度的销售数据,绘制了销量频数分布表和频数分布图,并对定量数据进行了相应的分析。
▲表3-2“生鱼片”销售情况
1.求范围
范围 = 最大值 - 最小值 = 3960-45 = 3915
2。分组
根据业务数据的含义,希望分组间隔为500,分组数量如下。
组数 = 范围/组距离 = 3915/500 = ≈8
3。确定
点的分布区间,如表3-3所示。
▲表3-3 分布区间
4.绘制频数分布直方图
根据分组间隔,得到表3-4的频数分布表。
- 下面,第一列将数据范围分为几段,其中第一段必须包含最小值,最后一段必须包含最大值。通常将每个段设置为左闭右开的半开区间,例如第一段为[0.500)。
- 第2栏的组中值是各组段的代表值,是将该组段的上限值和下限值相加并除以2得到的。
- 第3列和第4列分别是频率和频率。
- 第五列是累积频率。是否计算该栏的值要根据具体情况而定。
▲表3-4频率分布
5.画频数分布直方图
以菜品“生鱼片”2014年第二季度的日销量分段为横轴,以各分组分段的频数密度(频数与分组距离之比)为纵轴,将表3-4中的数据绘制在频率分布直方图上,如代码清单3-3所示。
import pandas as pd import numpy as np catering_sale = '../data/' # 餐饮数据 data = (catering_sale,names=['date','sale']) # 读取数据,指定“日期” 列为索引 bins = [0,500,1000,1500,2000,2500,3000,3500,4000] labels = ['[0,500)','[500,1000)','[1000,1500)','[1500,2000)', '[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)'] data['sale分层'] = (, bins, labels=labels) aggResult = (by=['sale分层'])['sale'].agg({'sale': }) pAggResult = round(aggResult/(), 2, ) * 100 import as plt (figsize=(10,6)) # 设置图框大小尺寸 pAggResult['sale'].plot(kind='bar',width=) # 绘制频率直方图 [''] = ['SimHei'] # 用来正常显示中文标签 ('季度销售额频率分布直方图',fontsize=20) ()
运行代码3-3,得到季度销售频数分布直方图,如图3-3所示。
▲ 图 3-3 季度销售频率分布直方图
02 定性数据分布分析
对于定性变量,通常根据变量的分类类型进行分组,可以用饼图和饼图来描述条形图。定性变量的分布,如代码表3-4所示。
- 代码表 3-4 一定时期内不同菜品的销量分布
import pandas as pd import as plt catering_dish_profit = '../data/'# 餐饮数据 data = (catering_dish_profit) # 读取数据,指定“日期”列 为索引 # 绘制饼图 x = data['盈利'] labels = data['菜品名'] (figsize=(8, 6)) # 设置画布大小 (x,labels=labels) # 绘制饼图 [''] = 'SimHei' ('菜品销售量分布(饼图)') # 设置标题 ('equal') () # 绘制条形图 x = data['菜品名'] y = data['盈利'] (figsize=(8, 4)) # 设置画布大小 (x,y) [''] = 'SimHei' ('菜品') # 设置x轴标题 ('销量') # 设置y轴标题 ('菜品销售量分布(条形图)')# 设置标题 () # 展示图片
饼图的每个扇区代表每种类型的百分比或频率。饼图根据定性变量类型的数量进行分类。不同的部分,每个部分的大小与每种类型出现的频率成正比;条形图的高度代表每种类型的百分比或频率,条形图的宽度没有任何意义。
执行代码表3-4,即可得到一定时期内不同菜品的销量分布图,如图3-4和图3-5所示。
▲ 图 3‑4 蔬菜销量分布(饼图)
▲ 图 3‑5 蔬菜销量分布(柱状图)
作者简介:张良军,大数据挖掘与分析、模型资深专家识别专家,AI技术领域专家。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。