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

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.从总股本来看,国有银行是远远高于股份制银行,高于城商银行的。


三、结论

从上述分析,我们可以得到如下结论,

  1. 国有银行在总资产和股本,还有营业收入和利润上都远远高于股份制银行和城商银行,这与我国的国情也非常符合绝大多数的人的存款都在国有银行里面,国有银行的市场占有份额特别高。
  2. 从净资产收益率和每股现金流上来看,国有银行和股份制银行还有城商银行平均值都差不多,并且国有银行的分布更为集中,说明他们的资产收益率,还有每股现金流更加稳定。
  3. 从每股收益和每股净资产来看的话,股份制银行是大于城商银行大于国有银行的。说明从证券投资的角度来看,应该是优先投资于股份制银行。

相关文章:

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&#xff1a;根据身高体重计算某个人的BMI值 BMI又称为身体质量指数&#xff0c;它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。我国制定的BMI的分类标准如表1所示。 表1 BMI的分类 BMI 分类 <18.5 过轻 18.5 < BMI < 23.9 正常 24 < BM…...

高并发编程JUC之进程与线程高并发编程JUC之进程与线程

1.准备 pom.xml 依赖如下&#xff1a; <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&#xff08;学习&#xff09;<style>p {height: 200;}</style>外联式link&#xff08;实际开发&#xff09;<link rel"stylesheet" href"./2-my.css">2-选择器2.1标签选择器&#xff08;标签名相同的都生效&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执行计划,我们可以通过以下步骤来生成和保存估计或实际执行计划。 估计执行计划和实际执行计划是两种执行计划: 实际执行计划:当执行查询时,实际执行计划出…...

【STM32HAL库实战】DAC精准输出0-3.3V可调电压与ADC自检闭环

1. DAC与ADC的基础原理 在嵌入式系统中&#xff0c;数字信号和模拟信号的相互转换是常见需求。STM32微控制器内置了DAC&#xff08;数字模拟转换器&#xff09;和ADC&#xff08;模拟数字转换器&#xff09;模块&#xff0c;让我们能够轻松实现这种转换。 DAC的作用是将数字量转…...

终极指南:5个实用技巧解决Rainmeter开发中的内存保护异常问题

终极指南&#xff1a;5个实用技巧解决Rainmeter开发中的内存保护异常问题 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter 在Rainmeter桌面定制工具的开发过程中&#xff0c;内存保护异常&a…...

先整个经典的入门款耶路撒冷十字电阻吸波器玩吧,就冲5.8GHz的WiFi频段调——毕竟现在连吸波材料都得先蹭蹭网络信号的热度才好入门嘛

CST仿真吸波器选5.8GHz有个小小心思&#xff1a;单层电阻超材料的谐振频率一般和单元边长相关&#xff0c;大概是谐振波长的0.2-0.4倍&#xff08;等效介电常数εr算进去的话还要除以√εr的平方根&#xff09;&#xff0c;用的FR-4基板ε_r4.4、tanδ0.025、厚度1mm&#xff0…...

4个强大的开源工具功能扩展方案

4个强大的开源工具功能扩展方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request limit. / Too many fre…...

OpenClaw密码管理:nanobot安全存储与自动填充方案

OpenClaw密码管理&#xff1a;nanobot安全存储与自动填充方案 1. 为什么需要本地化的密码管理方案 去年的一次数据泄露事件让我彻底放弃了所有云端密码管理器。当时我使用的某知名商业工具突然弹出安全警报&#xff0c;提示"您的部分密码可能已被未授权访问"。虽然…...

【Matlab】MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,‘linear‘);应用:数据补全、插值)

MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,linear);应用:数据补全、插值) 在科研实验、工程监测、信号采集等各类数据获取场景中,受限于设备精度、测试条件、环境干扰等因素,采集到的原始数据往往存在**数据点稀疏、采样间隔不均、局部数据缺失**等问题,直接使…...

STM32智能甲鱼养殖系统设计与实现

基于STM32的智能甲鱼养殖系统设计与实现1. 项目概述1.1 系统背景现代水产养殖行业正面临从传统人工管理向智能化转型的关键时期。甲鱼作为对水质环境敏感的特种水产品&#xff0c;其养殖过程中需要持续监测多项水质参数并保持稳定环境。传统人工监测方式存在响应滞后、精度不足…...

2026年3月27日NSSCTF之[SWPUCTF 2021 新生赛]ez_unserialize

[SWPUCTF 2021 新生赛]ez_unserialize 开启环境&#xff0c;进入并查看&#xff0c;可以看到一个动图&#xff0c;选择查看网页源码&#xff0c;得到 看到有隐藏信息&#xff0c;根据隐藏信息可以猜测&#xff0c;可以利用robots协议查看相关信息&#xff0c;访问得到 可以得…...

TEA加密算法实战:用Python和C语言实现QQ同款加密(附完整代码)

TEA加密算法实战&#xff1a;从原理到跨语言实现 在即时通讯和物联网设备中&#xff0c;数据安全传输一直是核心需求。TEA&#xff08;Tiny Encryption Algorithm&#xff09;以其轻量级、高效率的特性&#xff0c;成为资源受限环境下的理想选择。本文将深入探讨TEA算法家族的工…...

Original PIPE vs. Serdes PIPE: Understanding the Key Differences in PHY Interface Design

1. 从零理解PIPE接口&#xff1a;物理层设计的通用语言 第一次接触PIPE接口时&#xff0c;我完全被各种缩写搞晕了。直到在某个PCIe项目中被时序问题折磨了整整两周后&#xff0c;才真正明白这个接口的重要性。简单来说&#xff0c;PIPE&#xff08;PHY Interface for PCI Expr…...