Python数据分析案例19——上市银行财务指标对比
我代码栏目都是针对基础的python数据分析人群,比如想写个本科毕业论文,课程论文,做个简单的案例分析等。过去写的案例可能使用了过多的机器学习和深度学习方法,文科的同学看不懂,可能他们仅仅只想用python做个回归或者画个图。本期开始我会更新一些简单的案例,适合经济新闻等人文社科领域的案例。
(当然后面还会有适合硕士写论文的模型案例,高级模型,组合模型,混合模型等。)
案例背景:
本次背景是对不同类型的上市银行公司的财务指标进行对比。主要是对上市银行中的三大类:国有银行,股份制银行,城市商业银行。
财务指标主要有:
['每股收益(元)','每股净资产(元)','每股现金流(元)', '净利润(元)','营业总收入(元)', '总资产(元)','净资产收益率','总股本(股)']
一、研究设计
1.1样本数据来源
本文的数据来源于同花顺,本文选取了2022年第一季度的32家上市银行的重要的财务报告数据。并且将银行分为国有银行,股份制银行,城市商业银行三大类,进行描述性统计分析,对比不同类型银行的财务数据的不同,得出结论与观点。 
数据长这个样子:

1.2变量公司选择
选用的重要的财务数据有——'每股收益(元)','每股净资产(元)','每股现金流(元)','净利润(亿元)','营业总收入(亿元)','总资产(亿元)','净资产收益率','总股本(亿股)'。
选取的32家银行分为三类银行,如下表所示:
|   股票简称  |   类型  |   股票简称  |   类型  | 
|   建设银行  |   国有银行  |   宁波银行  |   城商银行  | 
|   交通银行  |   国有银行  |   成都银行  |   城商银行  | 
|   邮储银行  |   国有银行  |   杭州银行  |   城商银行  | 
|   工商银行  |   国有银行  |   南京银行  |   城商银行  | 
|   农业银行  |   国有银行  |   长沙银行  |   城商银行  | 
|   中国银行  |   国有银行  |   贵阳银行  |   城商银行  | 
|   招商银行  |   股份制银行  |   重庆银行  |   城商银行  | 
|   兴业银行  |   股份制银行  |   上海银行  |   城商银行  | 
|   浦发银行  |   股份制银行  |   江苏银行  |   城商银行  | 
|   平安银行  |   股份制银行  |   北京银行  |   城商银行  | 
|   中信银行  |   股份制银行  |   苏州银行  |   城商银行  | 
|   民生银行  |   股份制银行  |   厦门银行  |   城商银行  | 
|   华夏银行  |   股份制银行  |   齐鲁银行  |   城商银行  | 
|   浙商银行  |   股份制银行  |   青岛银行  |   城商银行  | 
|   光大银行  |   股份制银行  |   郑州银行  |   城商银行  | 
|   西安银行  |   城商银行  | ||
|   兰州银行  |   城商银行  | 
二、实证研究
首先利用Excel画出三维百分比柱状堆积图,如下: (excel里面画图就不用教了吧....)



如图,我们可以看到数据分布的一些特点,比如每股现金流可能为负数。并且不同的银行他们的每项财务指标都各有各自的特点,下面进一步计算。
开始用python计算会简便一些。
先导入包:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
import seaborn as snsplt.rcParams ['font.sans-serif'] ='SimHei'               #显示中文
plt.rcParams ['axes.unicode_minus']=False               #显示负号
sns.set_style("darkgrid",{"font.sans-serif":['KaiTi', 'Arial']}) 
读取数据,查看前五行:
data=pd.read_excel('银行数据.xlsx')
data.head() 

描述性统计,计算每个指标的基础统计量(均值,方差,四分位数等)
data.describe() 
 
分组聚合,按照银行的类型进行分组,然后再计算这些指标。
对三种银行的数据进行描述性统计指标的计算,有变量个数,均值,方差,四分位数,中位数,最大最小值等,如下表所示:
data.groupby('类型').describe().T#.to_excel('描述性统计.xlsx') 
 
如图可以对比不同银行类型的每个指标之间的不同统计量的差异。
这里太多了指标就没展示完,可以把我上面代码里面的“#”删掉就存到了本地的Excel表里面查看。
从表中我们可以看到,每种银行他们各自的每项财务指标的各项统计量,但是数值不够直观,这不利于比较。下面我们画出所有财务数据的相线图进行对比。
先查看表头,也就是我们的指标名称:
column = data.columns.tolist()[1:-1] # 列表头
column 
 
画图
fig = plt.figure(figsize=(6, 12), dpi=256)  # 指定绘图对象宽度和高度for i in range(8):plt.subplot(4,2, i + 1)  # 2行3列子图ax = sns.boxplot(x='类型',y=column[i],width=0.8,orient="v",data=data)#ax = sns.violinplot(x='类型',y=column[i],width=0.8,saturation=0.9,lw=0.8,palette="Set2",orient="v",inner="box",data=data)plt.xlabel(('银行类型'),fontsize=8)plt.ylabel(column[i], fontsize=8)
plt.tight_layout()
plt.savefig('银行箱线图.jpg', dpi=256)
plt.show() 
 
可以从上面得到一些结论:
下面对不同的财务指标进行分析:
1.从每股收益来看,国有银行的分布较为集中,并且是每股收益平均值和中位数都比较低。股份制银行,有两个异常点,说明有两个银行他们的每股收益特别大。结论为股份制银行的每股收益要高于城商银行,高于国有银行。
2.从每股净资产上来看,结论与每股收益类似,同样是股份制银行的分布较为分散,并且平均的每股净资产要高于城商银行,高于国有银行。
3.从每股现金流来看,股份制银行有的银行为负现金流,而国有银行的现金流虽然都不高,但是分布非常集中,说明国有的银行的现金流还是比较充沛稳定。
4.从净利润来看,国有银行远远高于股份制银行,高于城商银行。这和我国的国有银行市场占有率有关。
5.从营业总收入来看,同样于净利润,国有银行高于股份制银行高于城商银行。说明国有银行的营业收入和利润都非常高。
6.从总资产上来看,国有银行的总资产是远远高于股份制银行,高于城商银行的,这与我国的国情非常符合。绝大多数人的存款都在国有银行。
7.从净资产收益率来看,国有银行,股份制银行,城商银行的平均收益率差不多,城商银行有一个异常点,并且国国银行的分布更为集中。
8.从总股本来看,国有银行是远远高于股份制银行,高于城商银行的。
三、结论
从上述分析,我们可以得到如下结论,
- 国有银行在总资产和股本,还有营业收入和利润上都远远高于股份制银行和城商银行,这与我国的国情也非常符合绝大多数的人的存款都在国有银行里面,国有银行的市场占有份额特别高。
 - 从净资产收益率和每股现金流上来看,国有银行和股份制银行还有城商银行平均值都差不多,并且国有银行的分布更为集中,说明他们的资产收益率,还有每股现金流更加稳定。
 - 从每股收益和每股净资产来看的话,股份制银行是大于城商银行大于国有银行的。说明从证券投资的角度来看,应该是优先投资于股份制银行。
 
相关文章:
Python数据分析案例19——上市银行财务指标对比
我代码栏目都是针对基础的python数据分析人群,比如想写个本科毕业论文,课程论文,做个简单的案例分析等。过去写的案例可能使用了过多的机器学习和深度学习方法,文科的同学看不懂,可能他们仅仅只想用python做个回归或者…...
Python 中错误 ConnectionError: Max retries exceeded with url
出现错误“ConnectionError: Max retries exceeded with url”有多种原因: 向 request.get() 方法传递了不正确或不完整的 URL。我们正受到 API 的速率限制。requests 无法验证您向其发出请求的网站的 SSL 证书。 确保我们指定了正确且完整的 URL 和路径。 # ⛔️…...
SpringBoot下的Spring框架学习(Tedu)——DAY02
SpringBoot下的Spring框架学习(Tedu)——DAY02 目录SpringBoot下的Spring框架学习(Tedu)——DAY02Spring框架学习1.1 Spring介绍1.2 知识铺垫1.2.1 编辑Dog类1.2.2 编辑Cat类1.2.3 编辑测试类User.java1.2.4 上述代码的总结1.3 面…...
容易混淆的点:C语言中char* a[] 与 char a[] 的区别以及各自的用法
char* a[] 和 char a[] 的区别 char* a[] 和 char a[] 是 C 语言中数组的不同声明方式,二者具有以下区别: char a[] 声明的是一个字符数组,其中存储的是一串字符。此时,a 可以被视为一个指向字符的指针。 char* a[]则声明了一个…...
认识Spring(下)
作者:~小明学编程 文章专栏:Spring框架 格言:热爱编程的,终将被编程所厚爱。 目录 Spring更加高效的读取和存储对象 存储bean对象 五大注解 关于五大类注解 对象的注入 属性注入 构造方法注入 Setter注入 三种注入方式的…...
Educational Codeforces Round 144 (Rated for Div. 2) C - Maximum Set
传送门 题意: 对于一个集合,如果它的任意两个元素都能 有 其中一个能整除另一个,那么它是好的。问在区间[L,R] 中由这个区间某些数内构成的好的集合的最长长度是多少,以及且满足这个长度的好集合有多少个。(懒得想就借…...
学python的第四天---基础(2)
一、三角形类型读入数组并排序的方法nlist(map(float,input().split())) c,b,asorted(n)list_1 list(map(float, input().split())) list_1.sort() list_1.reverse()lengthssorted(map(float,input().split(" ")),reverseTrue)二、动物写法一:d{" &…...
spring之refresh流程-Java八股面试(六)
系列文章目录 第一章 ArrayList-Java八股面试(一) 第二章 HashMap-Java八股面试(二) 第三章 单例模式-Java八股面试(三) 第四章 线程池和Volatile关键字-Java八股面试(四) 第五章ConcurrentHashMap-Java八股面试(五) 动态每日更新算法题,想要学习的可以关注一下…...
【C语言】刷题|链表|双指针|指针|多指针|数据结构
主页:114514的代码大冒 qq:2188956112(欢迎小伙伴呀hi✿(。◕ᴗ◕。)✿ ) Gitee:庄嘉豪 (zhuang-jiahaoxxx) - Gitee.com 文章目录 目录 文章目录 前言 一、移除链表元素 二、反转链表 三,链表的中间结点 四&…...
糖化学类854262-01-4,Propargyl α-D-Mannopyranoside,炔丙基 α-D-吡喃甘露糖苷
外观以及性质:Propargyl α-D-Mannopyranoside一般为白色粉末状,糖化学类产品比较多,一般包括:葡萄糖衍生物、葡萄糖醛酸衍生物,氨基甘露糖衍生物、半乳糖衍生物、氨基半乳糖衍生物、核糖衍生物、阿拉伯糖衍生物、唾液…...
项目管理工具DHTMLX 在 G2 排名中再创新高
DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求,具备完善的甘特图图表库,功能强大,价格便宜,提供丰富而灵活的JavaScript API接口,与各种服务器端技术&am…...
28 位委员出席,龙蜥社区第 15 次运营委员会会议顺利召开
2 月 24 日,龙蜥社区在海光召开了第 15 次运营委员会会议,本次会议由统信软件运营委员会委员崔开主持。来自 Arm、阿里云、飞腾、红旗软件、海光、Intel、龙芯、联通软研院、浪潮信息、普华基础软件、统信软件、万里红、移动、中科方德等理事单位的 28 位…...
自然语言处理-基于预训练模型的方法-chapter3基础工具集与常用数据集
文章目录3.1NLTK工具集3.1.1常用语料库和词典资源3.1.2常见自然语言处理工具集3.2LTP工具集3.3pytorch基础3.3.1张量基本概念3.3.2张量基本运算3.3.3自动微分3.3.4调整张量形状3.3.5广播机制3.3.6索引与切片3.3.7降维与升维3.4大规模预训练模型3.1NLTK工具集 3.1.1常用语料库和…...
【SpringMVC】@RequestMapping
RequestMapping注解 1、RequestMapping注解的功能 从注解名称上我们可以看到,RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。 SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处…...
【深度学习】BERT变体—SpanBERT
SpanBERT出自Facebook,就是在BERT的基础上,针对预测spans of text的任务,在预训练阶段做了特定的优化,它可以用于span-based pretraining。这里的Span翻译为“片段”,表示一片连续的单词。SpanBERT最常用于需要预测文本…...
根据身高体重计算某个人的BMI值--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
实例3:根据身高体重计算某个人的BMI值 BMI又称为身体质量指数,它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。我国制定的BMI的分类标准如表1所示。 表1 BMI的分类 BMI 分类 <18.5 过轻 18.5 < BMI < 23.9 正常 24 < BM…...
高并发编程JUC之进程与线程高并发编程JUC之进程与线程
1.准备 pom.xml 依赖如下: <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target&g…...
css基础
1-css引入方式内嵌式style(学习)<style>p {height: 200;}</style>外联式link(实际开发)<link rel"stylesheet" href"./2-my.css">2-选择器2.1标签选择器(标签名相同的都生效&am…...
Unity - 搬砖日志 - BRP 管线下的自定义阴影尺寸(脱离ProjectSettings/Quality/ShadowResolution设置)
文章目录环境原因解决CSharp 脚本效果预览 - Light.shadowCustomResolution效果预览 - Using Quality Settings应用ControlLightShadowResolution.cs ComponentTools Batching add the Component to all LightReferences环境 Unity : 2020.3.37f1 Pipeline : BRP 原因 (好久没…...
如何在SSMS中生成和保存估计或实际执行计划
在引擎数据库执行查询时执行的过程的步骤由称为查询计划的一组指令描述。查询计划在SQL Server中也称为SQL Server执行计划,我们可以通过以下步骤来生成和保存估计或实际执行计划。 估计执行计划和实际执行计划是两种执行计划: 实际执行计划:当执行查询时,实际执行计划出…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu  2、Hello World fn main() { println…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...
