当前位置: 首页 > news >正文

原来报表与统计图要这么做!

eec557ee2f7f66110969de86d59a7779.gif

b6131c0d24760ab25d56ed43e49ee059.png

导读:报表与统计图作为数据信息输出的一种方式,被广泛运用于数据展示、交流等工作中。本文使用一份二手房数据演示如何制作报表与统计图。

e60fbfb52f6aeea9ece75f49fe719739.png

52aacc3925ebd28058f6c46304041861.png

报表可用于展现数据的主要信息,分为包含维度(分类变量)指标度量(连续变量)指标的报表。

仅含有维度指标的报表称为频次表(单个分类变量)和交叉表(两个及以上分类变量),含有维度和度量两类指标的报表称为汇总表,其中度量指标总是以某个统计量的形式出现,最常出现的是均值、总和、频次。

条形图是一种运用非常广泛的数据展示图,便于分类变量之间的数据对比。条形图和报表有一一对应关系。如果有一个分类变量,条形图就是一维的;如果有两个分类变量,条形图就是二维的。条的长度对应频次或度量指标的某个统计量,如图1所示。

b48996b39c9da7629b090605cfbcbbdf.png

图1 报表与统计图形

接下来使用一份二手房数据(sndHsPr.csv)演示如何制作报表。对于二手房,我们不但关心其本身的统计特征(统计量),还关心影响这个变量的因素,如表1所示。

表1 二手房数据

885b58e2b475ab15ae1a2a5eb34b73f9.png

制作报表就是根据数据类型选取合适的统计量并进行展现的过程。图2表现的是一个比较全面的二维表模板,三维表只不过是简单的叠加而已。水平轴和垂直轴分别是两个分类变量。单元格中存放的是某个变量的统计量。如果单元格中没有放入任何变量,其展现的是频次或百分比等指标。如果单元格中放入某个连续变量,其展现的就是这个连续变量的某个统计量,比如均值、总和等。

580c0d211b23f5ec006b19245d147b05.png

图2 二维表模板

将二维表模板的内容进行缩减,可以得到单因子频数、表分析、汇总统计量,具体说明如下。

1)单因子频数:仅分析单个分类变量的分布情况,提供每个分类水平的频次、百分比和累积值,如图3所示。

6e7b9c0416415345de291884e3ba0171.png

图3 单因子频数统计示意

snd为读入数据后的数据框名称,district为该住房所在城区的中文名称,value_counts函数用于获取每个城区出现的频次,完整的语句为snd.district.value_counts()。用条形图展现频次统计的语句为snd.district.value_counts().plot(kind = 'bar'),其中“kind =”为图表类型,bar表示柱形图,如图4所示。

caa08b6a4f244ad869f128580c0b591c.png

图4 单因子统计图形示意

2)表分析:分析两个分类变量的联合分布情况,提供每个单元格中样本出现的频次、百分比和边沿分布情况,如图5所示。

244e6054ae653826f3c962d4500b5333.png

图5 表分析示意

表分析(也称交叉表)使用的函数为pd.crosstab,比如分析是否有地铁与是否是学区房之间的关系,语句为pd.crosstab(snd.subway,snd.school)。我们可以使用标准化堆叠柱形图对表分析的结果进行展现。其步骤是先获取交叉表的结果,然后使用div(sub_sch.sum(1),axis = 0)函数计算交叉表的行百分比,最后绘制柱形图,如图6所示。

ca9a50e625890652a46c4858df6e8eb1.png

图6 表分析统计图形

堆叠柱形图易于展现横轴变量的分布情况,标准化堆叠柱形图易于做比较,笔者推荐采用图7来展现全部交叉表信息。本书提供了stack2dim函数制作堆叠柱形图,其主要参数raw为Pandas的数据框,i、j为两个分类变量的变量名称,要求带引号,比如"school"。

45e54e4161ae2858743aa74206d36ba2.png

图7 堆叠柱形图示意

3)汇总统计量:按照某个分类变量分组,对连续变量进行描述性统计,如图5-18所示。

c346bb677222a85d15098ddff551450f.png

图8 汇总统计量示意

图9展现了每个城区单位面积房价的统计信息,我们可以使用Pandas提供的函数snd.price.groupby(snd.district).agg(['mean', 'max', 'min'])获取。该语句的含义为按照district变量分组,计算price的均值、最大值、最小值,其中agg函数的功能是归并若干个函数的结果。

580ee7452bbbc6c1f2cae1b2a80317d7.png

图9 汇总统计量统计图形示意

本文摘编于《金融商业数据分析:基于Python和SAS》(书号:978-7-7-111-69583-7)

d007640985a2f4fd66a6d8e6fbaa850a.png

延伸阅读《金融商业数据分析》

点击以下链接了解及购买

转载请联系微信:zj06220_0

推荐语:这是一本金融商业数据分析的实战工具书。作者都是在金融行业有10~20年数据分析经验的资深专家,他们将多年来的项目经验、培训和咨询经验融合成了这本书。它将指导读者零基础掌握金融数据分析的工具、思路、方法和技巧,快速实现从入门到进阶的突破。 

本书强调实战,方法论与实践相结合,所有案例均来自实际的金融业务,涵盖工具使用、数据处理、统计分析等数据分析的全流程。 

c394d0d8e21f10ad9fb4f3409c1fe81e.gif

31c3a5bfce6363031c58dcdf71c86297.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

16a75601f8711baf9bf5421c181aa174.gif

更多精彩回顾

书讯 | 12月书讯(上) | 冬夜寒冷,读书暖心,华章科技上新啦!

书讯 | 12月书讯(下) | 冬夜寒冷,读书暖心,华章科技上新啦!

资讯 | 科普两个著名人工智能思想实验:图灵测试和中文房间

书单 | 为什么 Rust 是编程的未来?

干货 | 详解数据治理相关的7个术语和名词

收藏 | 解决卡脖子问题:盘点中国工业软件产业细分领域市场格局

上新 | 【新书速递】金融商业数据分析入门、实战、进阶,一本书全掌握

赠书 | 【第85期】业务架构将引我们走向何方

9334a13872b155663500898c24478e8e.gif

1bdaf83a9528f7831db919b9703c8496.gif

点击阅读全文购买

相关文章:

  • Excel摸鱼技巧:快速实现分列转到行
  • Hi~您的圣诞礼物已到达,请查收
  • 【第86期】CPU 空闲时在干嘛?
  • 机器学习的挑战:黑盒模型正面临这3个问题
  • 数据治理项目失败,90%都是被这样搞垮的!
  • 6本书,读懂2022年最火的边缘计算
  • 详解数据分析体系构成框架
  • 【新书速递】金融领域可解释机器学习模型与实践
  • 说大话还是真实力,Rust 是被炒“火”的吗?
  • 用Python写了一个图像文字识别OCR工具
  • 解读数据工程、数据科学和机器学习都有什么区别?
  • 1月书讯(上)| 2022年的第一本书
  • Docker冲顶技术热词,微服务应用热度不减,中国云原生开发者真实现状如何?...
  • 重磅!达摩院发布2022十大科技趋势
  • Flink1.14.2发布,除了log4j漏洞你还需要关注什么?
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Docker入门(二) - Dockerfile
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Javascript Math对象和Date对象常用方法详解
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java精华积累:初学者都应该搞懂的问题
  • Java-详解HashMap
  • JSDuck 与 AngularJS 融合技巧
  • pdf文件如何在线转换为jpg图片
  • SwizzleMethod 黑魔法
  • 安装python包到指定虚拟环境
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 悄悄地说一个bug
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 网页视频流m3u8/ts视频下载
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 7行Python代码的人脸识别
  • linux 淘宝开源监控工具tsar
  • ​queue --- 一个同步的队列类​
  • #数学建模# 线性规划问题的Matlab求解
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (六)Hibernate的二级缓存
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)JPA - JQPL 实现增删改查
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .net core 控制台应用程序读取配置文件app.config
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 解决重复提交问题
  • .NET多线程执行函数
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .pyc文件是什么?
  • /bin/rm: 参数列表过长"的解决办法
  • ?php echo ?,?php echo Hello world!;?