2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别

2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别

一、背景

财务数据是指企业经营活动和财务结果的数据记录,反映了企业的财务状况与经营成果。对行业、企业的财务数据进行分析,就是要评价其过去的经营业绩、衡量现在的财务状况、预测未来的发展趋势。财务数据分析不仅对企业生产经营管理有着重要的作用,而且对企业外部投资、贷款、赊销等决策有重要作用;经济管理部门也可以通过财务数据分析了解行业经济的运行状况,合理配置资源,科学调控经济运行,促进经济高质量发展。而财务造假则会对企业、投资者和整个市场带来极大的危害,准确甄别财务造假企业,帮助投资者识别风险,促进企
业诚信经营,对营造良性的市场竞争环境有非常重要的现实意义。

二、目标

  1. 财务数据预处理。
  2. 财务数据指标分析及可视化。
  3. 建立企业利润预测模型,预测企业营收情况;并根据财务报表数据的特点,筛查财务造假的企业。

三、任务

请根据提供的数据,选择分析工具完成以下任务,并撰写报告。

任务 1 财务数据处理

任务 1.1

读取“LR.csv”,提取表 1 中所列字段的数据,筛选出字段“Typrep”值为“A”的数据,将筛选出的数据另存为文件“LR_1.csv”(文件编码设置为
UTF-8),并在报告中呈现筛选后的数据行数、列数。
在这里插入图片描述

df1_1 = pd.read_csv('数据/LR.csv')
df1_1.head()# 提取表 1 中所列字段的数据
df1_1 = df1_1[['Stkcd', 'Accper', 'Typrep', 'B001000000', 'B001100000', 'B001101000','B001200000', 'B001201000', 'B001207000', 'B001209000', 'B001210000','B001211000', 'B001212000', 'B001303000', 'B002300000'
]]df1_1 = df1_1[df1_1['Typrep'] == 'A']  # 筛选出字段“Typrep”值为“A”的数据
df1_1.reset_index(inplace=True, drop=True)  # 重置索引
df1_1df1_1.to_csv('LR_1.csv',encoding='utf-8',index=False)
筛选后的数据行数:  33414
筛选后的数据列数:  15

任务 1.2

读取“LR_1.csv”、“ZCFZ.csv”、“Stk_ind.csv”三个数据文件。
根据“Stkcd”、“Accper”和“Typrep”三个字段,提取“ZCFZ.csv”中字段为“A002000000”和“A001000000”的相应数据,合并到“LR_1.csv”中。根据字段“Stkcd”,提取“Stk_ind.csv”中字段为“Indnme”和“Nindnme”的相应数据,合并到“LR_1.csv”中。将完成合并的数据另存为文件“LR_2.csv”(文件编码设置为 UTF-8),并在报告中呈现合并后数据的行数、列数。

df1_2_1 = pd.read_csv('LR_1.csv')
df1_2_1.head()df1_2_2 = pd.read_csv('数据/ZCFZ.csv')
df1_2_2.head()df1_2_3 = pd.read_csv('数据/Stk_ind.csv',encoding='gbk')
df1_2_3.head()df1_2_2 = df1_2_2[['Stkcd','Accper','Typrep','A002000000','A001000000']]
df1_2_2
# 左连接,连接字段为'Stkcd','Accper','Typrep'
data = df1_2_1.merge(df1_2_2,how='left',on=['Stkcd','Accper','Typrep'])
data
data1_2_2_1 = data1_2_2[["Stkcd", "Accper", "Typrep","A002000000", "A001000000"]]

在这里插入图片描述

df1_2 = df1_2_3.merge(data,how='right',on='Stkcd')  # 右连接
df1_2df1_2.to_csv('LR_2.csv',encoding='utf-8',index=False)

在这里插入图片描述

任务 1.3

读取“LR_2.csv”,删除空值占比达 70%及以上的数据列,将处理后的数据另存为文件“LR_3.csv”(文件编码设置为 UTF-8),并在报告中呈处理后数据的列数。

任务 1.4

读取“LR_3.csv”,删除包含空值的行,将处理后的数据另存为文件“LR_4.csv”(文件编码设置为 UTF-8),并在报告中呈现处理后数据的行数。
处理后数据的行数为30888
在这里插入图片描述

任务 1.5

读取“LR_4.csv”,将字段“Accper”的日期数据转换为“YYYYmm-dd”的格式,例如:“2018-1-31”转换为“2018-01-31”,将处理后的数据
另存为文件“LR_5.csv”(文件编码设置为 UTF-8)。

略。。。。。。。。。。。。

任务 1.6

读取“LR_5.csv”,插入“利润率”和“资产负债率”两列。根据下表公式,计算对应的利润率和资产负债率,追加到“LR_5.csv”对应字段。分
别删除表中利润率、资产负债率不在[-300%,300%]范围内的行,将处理后的数据另存为文件“LR_new.csv”(文件编码设置为 UTF-8),并在报告中呈现处理后的数据行数、列数,及前 5 个企业的利润率、资产负债率。
在这里插入图片描述

数据的行数为30690,列数为19

任务 2 财务数据指标分析及可视化

任务 2.1

读取“LR_new.csv”,根据表 3 要求统计数据,绘制相关的“行业营业利润对比分析”图,每张图表需在报告中进行呈现及分析。

读取数据
import numpy as np
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar, Line, Pie, Grid, Page
df2_1 = pd.read_csv('../result/LR_new.csv')

在这里插入图片描述

20199 月各行业大类的利润对比
data = df2_1[('2019-09-01'<=df2_1['Accper'])&(df2_1['Accper']<='2019-09-30')]  # 筛选出2019年9月data = data.groupby('Indnme')['B001000000'].mean()  # 按行业大类分组,求利润总额的均值
bar1 = (Bar(init_opts=opts.InitOpts(chart_id=1,bg_color='#ffffff')).add_xaxis(data.index.tolist()).add_yaxis("",data.values.tolist()).set_global_opts(title_opts=opts.TitleOpts(title="2019年9月各行业大类的利润对比"),datazoom_opts=opts.DataZoomOpts(type_="inside"),).set_series_opts(label_opts=opts.LabelOpts(is_show=False),)
)
bar1.render_notebook()

在这里插入图片描述

20181 月至2019 年 9 月各行业大类利润率变化
data2 = df2_1[(df2_1['Accper']>='2018-01-01')&(df2_1['Accper']<='2019-09-30')]data2['Accper'] = pd.to_datetime(data2['Accper'])
data2['季度'] = data2['Accper'].dt.quarter
data2['年份'] = data2['Accper'].dt.yeardf_test = data2.groupby(['Indnme','年份','季度'],as_index=False)['利润率'].mean()
df_test['Indnme'].unique()

在这里插入图片描述

任务 2.2

读取“LR_new.csv”,根据任务 2.1 结果,确定 2019 年 9 月营业利润率均值排名第 1 的行业大类,并按表 4 要求绘制该行业大类相关的“行业企业营收分析”图,每张图表需在报告中进行呈现及分析。
在这里插入图片描述
在这里插入图片描述

2.2.1
2019 年该行业各细类利润率对比

20199 月营业利润率均值排名第  1 细类为证券、期货业

在这里插入图片描述

2.2.2

在这里插入图片描述

2.2.3

在这里插入图片描述

 2.2.4

在这里插入图片描述

任务 2.3

利用可视化大屏制作工具,将任务 2.1 和任务 2.2 所列的 6 张图制作成一个大屏,大屏命名为“行业与企业营业数据分析”,并在报告中呈现。要求大屏整体设计美观、布局清晰直观。

# 导入必要的库  
from pyecharts import options as opts  
from pyecharts.charts import Bar, Line, Pie, Scatter, Map, Grid  
from pyecharts.faker import Faker  
from pyecharts.charts import Bar, Line, Pie, Scatter, Map
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from pyecharts.globals import ChartType
# 柱状图
............................................................................................
# 折线图
............................................................................................# 饼图
pie1 ............................................................................................
# 散点图
............................................................................................
# 地图
............................................................................................
grid.render("行业与企业营业数据分析.html")

在这里插入图片描述

任务 3 企业利润预测及财务造假识别

任务 3.1

读取“financial_data.csv”,计算各个指标与利润总额的相关性,挑选相关度最高的 5 个指标。

import pandas as pd# 读取csv文件
df3 = pd.read_csv(r"D:\B题-企业财务数据分析与造假识别\数据\financial_data.csv")
# 导入企业财务数据样本集# 计算各个指标与利润总额的相关性df3.columnscorrelations = df3.corr()['LRZE'].sort_values(ascending=False)# 打印前5个最大相关性的指标,第一个是利润总额本身不算
print(correlations.head(6))
LRZE       1.000000
YYSR       0.782726
YWFY       0.772832
YYCB       0.737736
YYSJJFJ    0.565440
ZCJZSS     0.238524
Name: LRZE, dtype: float64

任务 3.2

利用挑选的 5 个指标建立企业利润预测模型,运用建立的模型预
测“test.csv”表中给定企业的利润总额,并将预测结果以表格的形式在报告中呈
现。
在这里插入图片描述

df3[['YYSR','YWFY','YYCB','YYSJJFJ','ZCJZSS']] 

在这里插入图片描述

  
```bashTICKER_SYMBOL	LRZE
0	4953174			3.983941e+08
1	4961537			4.062123e+08
2	4962538			1.235635e+08
3	4968740			1.684884e+08
4	4973917			8.283722e+07
5	4978589			3.301489e+08
6	4978721			1.136986e+08
7	4986535			1.332788e+08
8	4990739			2.595591e+08
9	4990942			1.135440e+08

任务 3.3

“financial_data.csv”中包含一个“FLAG”字段用于标识财务数据造假(“1”表示财务造假)。请利用表 6 所列关键因子,对样本数据“financial_data.csv”进行分析,挖掘财务造假的识别特征。根据你们的分析,对“financial_data_new.csv”所列 5 个企业的财务数据进行筛查,识别其中唯一的1 个涉嫌财务造假企业,并在报告中描述分析方法与结果。

在这里插入图片描述


```bashTICKER_SYMBOL	FLAG
0	4992858			0
1	4993201			0
2	4998808			0
3	4897311			1
4	4999709			0

四、数据说明

赛题数据文件夹具体内容如下所示。
在这里插入图片描述

完整代码请私聊 博主

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

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

相关文章

perl Window安装教程

perl Window安装教程 下载地址 https://platform.activestate.com/tangxing806/ActivePerl-5.28/distributions 运行state-remote-installer.exe 按下图截图步骤 检查perl版本 参考文献&#xff1a; perl安装教程

知识图谱9:知识图谱的展示

1、知识图谱的展示有很多工具 Neo4j Browser - - - - 浏览器版本 Neo4j Desktop - - - - 桌面版本 graphX - - - - 可以集成到Neo4j Desktop Neo4j 提供的 Neo4j Bloom 是用户友好的可视化工具&#xff0c;适合非技术用户直观地浏览图数据。Cypher 是其核心查询语言&#x…

【数据分享】1901-2023年我国省市县三级逐年最低气温数据(Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最低气温栅格数据和Excel和Shp格式的省市县三级逐月最低气温数据&#xff0c;原始的逐月最低气温栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据&#xff01;基于逐月栅格数据我们采用求年平均值的方法得到逐年最…

HBU深度学习实验15-循环神经网络(2)

LSTM的记忆能力实验 飞桨AI Studio星河社区-人工智能学习与实训社区 (baidu.com) 长短期记忆网络&#xff08;Long Short-Term Memory Network&#xff0c;LSTM&#xff09;是一种可以有效缓解长程依赖问题的循环神经网络&#xff0e;LSTM 的特点是引入了一个新的内部状态&am…

使用windows的包管理工具chocolatey

开发人员&#xff0c;在windows环境下&#xff0c;最头疼的是安装和配置各种环境变量&#xff0c;现在chocolatey 可以一键安装&#xff0c;不需要再去配置环境变量了。比如你安装一个java的环境&#xff0c;仅仅需要你敲几个命令&#xff0c;都能帮你搞定。 我自己已经使用这…

VTK知识学习(21)- 数据的读写

1、前言 对于应用程序而言&#xff0c;都需要处理特定的数据&#xff0c;VTK应用程序也不例外。 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型&#xff0c;然后处理这些模型数据(如由类 vtkCylinderSource 生成的多边形数据); 第二种是从外部存储介质里导…

QT 中 QString 转换为 Unicode 和 ASCII 的方法

目录 ​编辑 前言 一、QString转换成 Unicode编码 二、QString转换成ASCII编码 三、Unicode编码转换成QString汉字 四、ASCII编码转成QString 五、注意事项 六、总结 前言 在 Qt 开发中&#xff0c;经常会遇到需要将QString中的字符转换为特定编码格式的需求。本文将介…

基于51单片机64位病床呼叫系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机病床呼叫系统设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0095 1. 主要功能&#xff1a; 基于51单片机的病床呼叫系统proteus仿…

【OpenDRIVE_Python】使用python脚本更新OpenDRIVE数据中路口Junction名称

示例代码说明&#xff1a; 遍历OpenDRIVE数据中每个路口JunctionID,读取需要变更的路口ID和路口名称的TXT文件,若JunctionID与TXT文件中的ID一致&#xff0c;则将TXT对应的点位名称更新到OpenDRIVE数据中Junction name字段。补充&#xff1a;需要保持TXT和OpenDRIVE数据文件编…

java+ssm+mysql商品管理系统

项目介绍&#xff1a; 使用javassmmysql开发的商品库存管理系统&#xff0c;系统包含管理员&#xff0c;员工角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;员工管理&#xff1b;供应商管理&#xff1b;客户管理&#xff1b;商品管理&#xff1b;商品进货&#xf…

android studio创建虚拟机注意事项

emulator 启动模拟器的时候&#xff0c;可以用 AVD 界面&#xff0c;也可以用命令行启动&#xff0c;但命令行启 动的时候要注意&#xff0c;系统有两个 emulator.exe &#xff0c;建议使用 emulator 目录下的那个&#xff01;&#xff01; 创建类型为google APIs的虚拟机可从…

小皮面板(PHPSTUDY)配置多个域名或IP

问题描述 小皮面板默认采用nginx的静态部署&#xff0c;按照使用nginx的习惯只需要额外添加一个server即可&#xff0c;但是会发现直接往配置文件里添加新的server是不生效的&#xff0c;小皮的官网论坛几乎已经停止维护&#xff0c;因此资料较少&#xff0c;原本也没有仔细使…

搭建voiceapi实时语音转录/合成github项目教程【windows版】

github项目地址&#xff1a;https://github.com/ruzhila/voiceapi 项目简介&#xff1a;python实现的基于sherpa-onnx的语音转录/合成API 运行环境&#xff1a;windows、python3.10 1.下载项目 git clone https://github.com/ruzhila/voiceapi.git2.新建环境 注意使用python …

网络编程 | TCP套接字通信及编程实现经验教程

1、TCP基础铺垫 TCP/IP协议簇中包含了如TCP、UDP、IP、ICMP、ARP、HTTP等通信协议。TCP协议是TCP/IP协议簇中最为常见且重要的通信方式之一&#xff0c;它为互联网上的数据传输提供了可靠性和连接管理。 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议…

java+ssm+mysql成绩统计分析管理系统

项目介绍&#xff1a; 使用javassmmysql开发的成绩统计分析管理系统&#xff0c;系统包含管理员&#xff0c;教师&#xff0c;学生角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;首页统计&#xff1b;班级管理&#xff1b;课程管理&#xff1b;学生管理&#xff1…

大模型 LMDeploy 量化部署

1 模型部署 定义&#xff1a; 在软件工程中&#xff0c;部署通常指的是将开发完毕的软件投入使用的过程。在人工智能领域&#xff0c;模型部署是实现深度学习算法落地应用的关键步骤。简单来说&#xff0c;模型部署就是将训练好的深度学习模型在特定环境中运行的过程。 场景…

AI赋能:构建安全可信的智能电子档案库

在档案的政策与法规上&#xff0c;《中华人民共和国档案法》2020年修订新增&#xff0c;对电子档案的合法要件、地位和作用、安全管理要求和信息化系统建设等方面作出了明确规定&#xff0c;保障数字资源的安全保存和有效利用。 日前&#xff0c;国家档案局令第22号公布《电子…

C++入门项目:Linux下C++轻量级Web服务器 项目详解(小白篇)

拿到一个项目首先先跑通&#xff0c;然后再慢慢来看代码&#xff0c;关于怎么将这个项目跑通&#xff0c;上一篇已经讲过&#xff0c;感兴趣的小伙伴可以移步下面的链接&#xff0c;或者其他博主的教程。 C入门项目&#xff1a;Linux下C轻量级Web服务器 跑通|运行|测试&#xf…

【Linux】开机进入grub/怎么办?

开机进入grub/怎么办&#xff1f; 1、利用ls命令查看磁盘 ls执行后提示&#xff1a; &#xff08;hd0&#xff09;&#xff08;hd0,msdo1&#xff09;&#xff08;hd0,msdo3&#xff09;&#xff08;hd0,msdo5&#xff09;(lvm-cd****-Home)(lvm-cd****-Root)2、利用cat查看f…

Java版-图论-拓扑排序与有向无环图

拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…