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执行计划,我们可以通过以下步骤来生成和保存估计或实际执行计划。 估计执行计划和实际执行计划是两种执行计划: 实际执行计划:当执行查询时,实际执行计划出…...
5个颠覆性技巧:用GanttProject开源甘特图工具让你的项目管理效率提升200%
5个颠覆性技巧:用GanttProject开源甘特图工具让你的项目管理效率提升200% 【免费下载链接】ganttproject Official GanttProject repository. 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject 你是否曾为项目延期而焦虑?是否在任务分配…...
AgentStack:构建生产级AI智能体应用的一站式平台
1. 项目概述:AgentStack,一个为AI智能体打造的“操作系统”如果你正在开发AI应用,或者想让你的产品具备AI能力,那你一定遇到过这样的困境:大模型能力虽强,但让它稳定、可控、安全地接入你的业务系统&#x…...
工程师创意竞赛全流程策划:从社区激活到公平投票的实战指南
1. 项目概述:一场别开生面的工程师创意竞赛又到了二月底,这意味着我们年初启动的那个“独轮车”图片配文竞赛,终于要进入最激动人心的投票环节了。我记得很清楚,那是2012年2月初,编辑部觉得冬天太沉闷,想找…...
从NASA航天电子设计看高可靠性电源与模拟电路工程实践
1. 从太空迷到电子工程师:我的技术启蒙之路我是一名不折不扣的太空迷。这个身份的烙印,始于童年时守在电视机前,目睹第一艘“水星号”载人飞船发射升空的那一天。沃尔特克朗凯特在新闻中从各个科学角度进行的详尽报道,让我整整一天…...
青龙脚本自动化:五款实用脚本助你轻松管理日常任务
青龙脚本自动化:五款实用脚本助你轻松管理日常任务 【免费下载链接】huajiScript 滑稽の青龙脚本库 项目地址: https://gitcode.com/gh_mirrors/hu/huajiScript 在当今快节奏的数字时代,自动化工具已成为提升效率的必备利器。如果你正在寻找一款能…...
免费LLM API资源全攻略:从开源模型到工程化实践
1. 项目概述:一个汇集免费LLM API资源的宝藏仓库 如果你正在开发一个需要集成大语言模型(LLM)的应用,无论是聊天机器人、内容生成工具,还是数据分析助手,第一个拦路虎往往就是API成本。OpenAI、Anthropic这…...
AI小白必看:手把手教你开发大模型智能体,附收藏指南!
本文深入解析AI Agent(智能体)的核心概念与技术架构,通过实战案例展示如何使用LangChain等工具开发智能客服Agent。文章涵盖自主任务拆解、工具调用、多轮交互等关键点,并分享避免“模型幻觉”的实践技巧及性能优化方法。适合程序…...
HS2-HF_Patch:让Honey Select 2体验全面升级的智能补丁
HS2-HF_Patch:让Honey Select 2体验全面升级的智能补丁 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾经因为语言障碍而无法完全享受Honey…...
Godot 4.x ECS插件GECS:数据驱动架构提升游戏性能与可维护性
1. 项目概述:GECS,为Godot 4.x注入ECS架构之力如果你正在用Godot开发游戏,尤其是那种实体数量多、交互逻辑复杂的项目,比如RTS、模拟经营或者一个满屏敌人的弹幕游戏,你很可能已经感受到了传统面向对象(OOP…...
Llama-3中文优化实战:从模型选型到本地部署全解析
1. 项目概述:从Llama-3到中文Llama-3的进化之路 如果你在过去一年里关注过开源大模型,那么“Llama”这个名字对你来说一定不陌生。从Meta发布Llama-2开始,这个系列就成为了开源社区构建垂直领域模型的基石。今年4月,Meta又扔下了一…...
