python数据分析及可视化(二十)Power BI的可视化制作以及A股上市公司数据分析

news2024/11/27 19:48:51

可视化制作

通过图表展示如何用Power BI 制作可视化的图表,来展示可视的数据内容。

柱形图

用水平的柱子来表示不同分类数据的大小,类似于条形图,相当于竖着的条形图。堆积柱形图是不同的序列数据都堆积在一个柱子上,簇状柱形图中不同的序列使用不同的柱子,方便比较不同序列数值的大小。百分比堆积柱形图中y轴的数据变成百分比显示(相对大小),跟堆积柱形图相似,没办法比较总量。可以在格式中对图表进行个性化的设置,美化图表。合格的柱形图为y轴内容清晰、有图例说明、单位、与图表相呼应的标题、合理的颜色搭配等。
在这里插入图片描述
以百分比堆积柱形图为例进行展示,跟堆积柱形图类似,不同的序列在一根柱子上进行显示。
在这里插入图片描述
可以利用格式,对图表进行美化,以簇状柱形图为例,更改图表显示情况的参数,如X、Y轴,标题,柱子的颜色、背景等。合格的柱形图要求X和Y轴清晰,有图例和说明、数据单位、与图表相呼应的标题等等。
在这里插入图片描述

树状图

也被称为矩形树图,把整体的数据想象成一棵树,每一个数据就是一个枝叶,枝叶是放在矩形中的,每个矩形错落有致的排列在大矩形中。适用场景:需要显示大量的分层数据,而条形图不能有效的去处理大量的值,需要显示各个部分与整体的比例,层次当中的指标在各个类别层次当中的分布模式以及使用颜色、大小来显示属性,离群点、异常值等。树状图中几乎没有空白区域,里面的每一簇都用在表述关系上,在空间利用率是比较高的。
在这里插入图片描述
可以Power Query界面,转换—脚本中选择运行Python 脚本,使用Python代码进行数据的处理。原本的数据会发生变化,展开value列,不勾选使用原始列名作为前缀选项,原始的数据都会显示出来。在可视化界面选择树状图,显示品牌的数量占比,把品牌放在组和值中,就得到上图显示的效果。
在这里插入图片描述
在矩形树图中,可以通过每个矩形的大小、位置和颜色来区分每个数据的权重关系及占总体的比例,可以一目了然的看到整个数据集。整个图形都是按从左到右、从上到下面积的降序进行排列,此时树形图展示的是单层的数据结构。把容量放到详细信息中,就可以看到每个品牌中不同容量的硬盘信息,这时显示的就是双层的树状图。

地图可视化

利用微软内置的必应地图,在Power BI中轻松的生成地图来实现各种地图的可视化。默认的有三种地图对象,频繁使用的是气泡地图,着色地图需要用在线版的来显示。
利用气泡的大小来表示不同地区GDP的值,在格式中更改气泡的颜色等信息。把国家、省份、城市的数据放到位置栏中,可以显示不同层级的数据情况。利用图表上方的向上钻取和向下钻取来选择不同层级的数据,在数据中数据要用全称,如北京市等等,可以把数据中的经纬度放到经度和维度中来保证数据能显示完整。
在这里插入图片描述

常用操作

1. 查看数据

可以在生成图表的右上角,点击三个点,来以列表显示或者导出数据。

2. 图表钻取

当图表数据中存在层级结构时,可以在图表中直接展示下一级数据,只要具体日期数据的层级结构足够详细,可以如从年份到季度、月份、日期、小时等。利用生成后的图表上方,向下钻取按钮,然后点击图表中的数据,会展开相应的数据;点击“向上钻取”,进行汇总相应的数据信息。点击图表中“转至层次结构中的下一级别按钮”(两个向下的箭头),可以逐级显示所有层级的内容;点击图表中“展开层次结构中的所有下级级别”,可以展开所有级别的数据信息。在其他图表中钻取功能类似,可以钻取从国家、省份、城市等一直向下细分的数据信息。

3. 编辑交互

Power BI 可视化的图表是动态的,通过页面上的筛选、钻取、突出显示等交互功能进行快速的访问、发现、探索数据背后的规律。默认筛选数据的改变,Power BI上与此相关的所有可视化视图都会发生变化,每个可视化对象同样可以作为其他图表的筛选条件,其他图表也会动态的响应,从不同的角度来展现数据,筛选操作不当,展示的可视化效果也会千差万别。
选中图表,点击格式—编辑交互,在每个图表上方都会出现“筛选器”和“无”,如果希望筛选其中一个图表,其他图表不发生变化,可以选中其他图表的“无”;如果筛选其中一个图表,其他图表也跟着产生响应,就选中图表上方的“筛选器”。在圆环图和柱形图中还会出现一个按钮“突出显示”,当其他图形进行筛选时候,这两个图形也会随着筛选产生图形的变化,此时单击“突出显示”按钮,图形就会恢复之前的状态,保留之前图形数据点的内容,筛选的部分会进行突出显示,有利于我们进行数据的探索。

实战:A股上市公司数据分析

1. 数据准备

数据,是接下一系列分析的前提。
以中商情报网为例。
在PowerBI 获取数据,选择从Web中获取,把需要获取网页的url传入到高级选项卡下的URL部分中,需要获取的数据可以为1-20页,把URL和后面的数字分开进行传入,点击确定就可与获取到第1页的数据。勾选导航器中的表7,选择转换数据进入Power Query编辑器中,就可以看到获取的第1页的数据。
在这里插入图片描述

2. 数据清洗

把“脏数据”洗掉,这也关乎到后面的分析工作。
把获取到的“招股书”和“公司财报”等不需要的数据点右键进行删除。
可以根据页码参数来设定自定义函数,实现批量下载或导入数据。
单击主页—查询—高级编辑器,或者右键单击表7选择高级编辑器。在显示的代码上方增加一行代码,(p as number as table) =>,把let里第一行代码中的字符串1改为 (Number.ToText(p))),单击完成。
在这里插入图片描述
进入输入参数的界面,更改表名称为 Data_zs,此时p就为该函数的变量,传入p的参数值,在界面中数据数字,就会查询到相应页码的数据。实现批量抓取数据,就要批量调用该函数。
在这里插入图片描述
点击主页—新建查询—新建源中找到空查询,输入内容,= {1…10},创建一个查询的列表,然后点击转换—到表,转化为表格;点击添加列—常规—调用自定义函数,在弹出的对话框内输入新的列名称“页码”,功能查询内选择创建好的“Data_zs”,单击确定就开始抓取设置的1-10页的网页数据。
在这里插入图片描述
单击页码列右边的双向箭头,去掉使用原始列名作为前缀的勾选,就可以展开抓取到的10页(200条)数据。

3. 数据建模

多表的协同配合依靠表与表之间的逻辑关系, 建立关系的过程称为数据建模。
此时就一个表,不需要建立表与表之间的逻辑关系,这个步骤可以省略。

4. 指标计算

需要熟悉常用的业务指标。
可以更改部分列的数据格式,如根据需求更改上市日期的显示内容为年(右键单击–转换–年),点击主页—关闭并应用,退出Power Query编辑器,加载查询的数据内容。销售额,月度增长人数、活跃用户等数据的计算可以通过添加度量值的方式为我们的分析添加相应的指标数据内容。如计算北京、上海、深圳的上市公司的数量,在字段下,右键单击表名称,通过新建度量值的方式来添加数据的查询,北上深上市公司数量 = CALCULATE(COUNTROWS(‘查询1’),‘查询1’[城市] in {“上海市”,“深圳市”,“北京市”}),字段的调用要用双引号,查询1表中就会出现度量值的数据。
在这里插入图片描述

5. 可视化展示

通过可视化,让枯燥的数据变得直观,更容易理解,更快的传递关键信息。
绘制仪表盘图,显示北上深上市公司数量的占比个数,把刚创建的度量值放到“值”中,可以在设置视觉对象格式中修改图表的基本参数值。
添加环形图,显示上市公司中经营的行业,把行业分类数据放到图例和值中。
添加饼图,显示上市公司在城市的排名,把城市放到图例中,把公司名称放到值中。可以创建度量值进行城市的筛选,也可以在右侧的筛选器中城市的筛选类型中选择城市进行显示。
添加簇状柱形图,显示从1990年开始每年上市公司的数量,把上市日期放在轴中,公司名称放在Y轴中。
添加地图,显示上市公司在地理位置上的分布,把城市放在位置和大小中,此时显示的是全球的地图,可以在可视化的右下角选择导入视觉对象,导入中国的视觉地图,导入成功后在可视化的下方会显示中国地图,可以在设置视觉对象格式中选择仅数据,更改视觉映射的颜色,更改地图中地图区域的颜色。
可以在视图中选择主题,更改整个画板的主题风格,在主页—插入中选择插入文本框,输入“A股上市公司数量分析”,调整字体的格式和大小以及颜色等。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Spring源码】20. MergedBeanDefinitionPostProcessor修改/合并bean定义

随后进入applyMergedBeanDefinitionPostProcessors()方法applyMergedBeanDefinitionPostProcessors()方法中调用MergedBeanDefinitionPostProcessor后置处理器修改/合并bean定义 进入bdp.postProcessMergedBeanDefinition(mbd, beanType, beanName) 从源码中可以看到&#xff0…

Spring为什么这么火 之 Spring蕴含的设计思想

目录 1、什么是IoC? 2、传统程序开发 3、控制反转式程序开发 4、理解Spring IoC 5、依赖注入【DI】 前言 很多人说:“Java程序员都是Spring程序员”,从这句话就能看出,对于Java程序员来说,Spring是一项必备技能&am…

Mathorcup数学建模竞赛第六届-【妈妈杯】B题:车位分布的优化设计与评价(附一等奖获奖论文、C++和matlab代码)

赛题描述 随着现代社会经济的快速发展,房地产成为国家经济发展中重要的经济增长点之一。而小区内汽车停车位的分布对于小区居民的上下班出行影响很大。请建立数学模型,解决下列问题: 问题1:分析评判小区汽车停车位分布是否合理的几个关键指标,建立评判车位分布合理的数学…

C语言常用字符串函数

专栏:C语言 每日一句:别在乎别人的目光,自己只管一心走路。熬过去,你就能看到柳暗花明,熬过去,你就能看到雨后彩虹,熬过去,你就能看到动人风景。 字符串函数前言一、求字符串长度&am…

UDS - 10.3 ECUReset (11) service

10.3 电子控制单元复位(11)服务 来自:ISO 14229-1-2020.pdf 10.3.1 服务说明 客户端使用ECUReset服务请求服务器重置。 此服务请求服务器基于ECUReset请求消息中嵌入的resetType参数值的内容有效地执行服务器重置。ECUReset肯定响应消息&am…

剑指 Offer 26树的子结构(相关话题:对称性递归,在线算法)

目录 开篇引言 题目描述 代码实现 题目拓展 拓展解读 一类 100. 相同的树 226. 翻转二叉树 104. 二叉树的最大深度 110. 平衡二叉树 543. 二叉树的直径 617. 合并二叉树 572. 另一个树的子树 965. 单值二叉树 二类 101. 对称二叉树 解题总结 开篇引言 力扣上…

Vue引入并使用Element-UI组件库的两种方式

前言 在开发的时候,虽然我们可以自己写css或者js甚至一些动画特效,但是也有很多开源的组件库帮我们写好了。我们只需要下载并引入即可。 vue和element-ui在开发中是比较般配的,也是我们开发中用的很多的,下面就介绍下如何在eue项…

【力扣/牛客刷题】二叉树篇

作者:✿✿ xxxflower. ✿✿ 博客主页:xxxflower的博客 专栏:【力扣、牛客刷题】篇 语录:⭐每一个不曾起舞的日子,都是对生命的辜负。⭐ 文章目录100. 相同的树572. 另一棵树的子树226. 翻转二叉树平衡二叉树101.对称二…

C++11之后的decltype类型指示符

C11之后的decltype类型指示符一、什么是decltype类型指示符二、typeid运算符三、使用decltype指示符四、decltype和引用五、decltype(auto)六、本章代码汇总一、什么是decltype类型指示符 有时会遇到这种情况:希望从表达式的类型推断出要定义的变量的类型&#xff…

深度对比学习综述

本文综合考察了对比学习近年的发展和进步, 提出一种新的面向对比学习的归类方法, 并基于提出的归类方法, 对现有对比研究成果进行系统综述, 并评述代表性方法的技术特点和区别, 系统对比分析现有对比学习方法在不同基准数据集上的性能表现。 摘要 在深度学习中, 如何利用大量、…

Linux - 目录与文件操作

目录1.操作目录1.1 目录切换1.2 浏览目录1.3 目录创建1.4 目录删除1.5 复制目录1.6 移动或重命名目录2. 操作文件2.1 查找文件2.2 查看文件信息2.3 查看文件内容2.4 创建文件2.5 文件修改-vim2.6 删除文件2.7 复制和重命名文件3. 文件或目录进行压缩或解压3.1 压缩3.2 解压1.操…

链路追踪工具之Zipkin

Zipkin是一个分布式跟踪系统,Zipkin的设计是基于谷歌的Google Dapper论文,它可以帮助收集时间数据,在microservice架构下,通过链路追踪,可以便捷的分析服务调用延迟问题。每个应用程序向Zipkin server端报告数据&#…

【高光谱、多光谱和全色图像融合】

HyperFusion: A Computational Approach for Hyperspectral, Multispectral, and Panchromatic Image Fusion (超融合:高光谱、多光谱和全色图像融合的计算方法) 高空间分辨率的高光谱图像(HSI)和多光谱图像&#xff…

链表热门面试题(二)

目录前言一、删除链表的倒数第 N 个结点二、两两交换链表中的节点三、旋转链表四、删除排序链表中的重复元素五、删除排序链表中的重复元素 II六、反转链表II七、删除链表中的节点八、奇偶链表前言 一、删除链表的倒数第 N 个结点 题目: 方法1:找到删除…

【Java多线程】创建多线程方式一

线程的创建和启动 *Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现。 *Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常 把run()方法的主体称为线程体 通过该Thread对象的start()方法来启动这个…

判断两条线段是否相交

参考链接: 1 2 一、判断线段是否相交需要下面两步: (1)快速排斥实验 (2)跨立实验 二、第一步快速排斥实验 对上图两条L1,L2线段来说,L1 x的最大值为d端点x5,L2 x的最小值为a端点x…

RobotFramework环境安装和入门

环境安装1、安装python建议版本3.7,Robot Framework不支持python最新版。 可以通过以下地址下载https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe安装过程中选择添加到环境变量。2、安装Robot Framework以及所需组件注意各个组件的版本号&#xff0…

LVGL学习笔记15 - 文本框TextArea

目录 1. Parts 2. 样式 2.1 修改背景bg 2.2 修改边界border 2.3 修改文本 2.3.1 lv_textarea_add_char 2.3.2 lv_textarea_add_text 2.3.3 lv_textarea_set_text 2.3.4 设定可输入的字符 2.3.5 删除字符 2.3.6 设定字符串最大长度 2.4 滚动条 2.4.1 滚动方向 2.4.2 …

RHCE学习笔记-133-1

RH133-01 installation 光盘引导后,在提示符下输入:linux askmethod 可以支持:local cdrom,hard drive,nfs image,ftp,http方式 cpu on x86 2个物理超线程CPU 使用smp or hugemem kernel可以支持 32个物理cpus 内存 标准x86 kernel 4G smp i686/athlon kernel 16G hugemem SMP …

创建新分支,基于某一分支创建新分支,git push --set-upstream origin

背景: 基于hcc1.2的开发分支拉去hcc_hotfix_1.2.0分支,解读:在仓库中基于某个分支,创建一个新的分支 做法(解决): 1、第一步:git branch hcc_hotfix_1.2.0 2、第二步:g…