2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别
2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别
一、背景
财务数据是指企业经营活动和财务结果的数据记录,反映了企业的财务状况
与经营成果。对行业、企业的财务数据进行分析,就是要评价其过去的经营业绩、
衡量现在的财务状况、预测未来的发展趋势。财务数据分析不仅对企业生产经营
管理有着重要的作用,而且对企业外部投资、贷款、赊销等决策有重要作用;经
济管理部门也可以通过财务数据分析了解行业经济的运行状况,合理配置资源,
科学调控经济运行,促进经济高质量发展。而财务造假则会对企业、投资者和整
个市场带来极大的危害,准确甄别财务造假企业,帮助投资者识别风险,促进企
业诚信经营,对营造良性的市场竞争环境有非常重要的现实意义。
二、目标
- 财务数据预处理。
- 财务数据指标分析及可视化。
- 建立企业利润预测模型,预测企业营收情况;并根据财务报表数据的特
点,筛查财务造假的企业。
三、任务
请根据提供的数据,选择分析工具完成以下任务,并撰写报告。
任务 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')

2019 年 9 月各行业大类的利润对比
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()

2018 年 1 月至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 年该行业各细类利润率对比
2019 年 9 月营业利润率均值排名第 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
四、数据说明
赛题数据文件夹具体内容如下所示。

完整代码请私聊 博主
相关文章:
2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别
2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别 一、背景 财务数据是指企业经营活动和财务结果的数据记录,反映了企业的财务状况 与经营成果。对行业、企业的财务数据进行分析,就是要评价其过去的经营业绩、 衡量现在的财务状况、预测…...
【SpringMVC】参数传递 重定向与转发 REST风格
文章目录 参数传递重定向与转发REST风格 参数传递 ModelAndView:包含视图信息和模型数据信息 public ModelAndView index1(){// 返回页面ModelAndView modelAndView new ModelAndView("视图名");// 或// ModelAndView modelAndView new ModelAndView(…...
性能测试需求分析(超详细总结)
🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们…...
显卡(Graphics Processing Unit,GPU)架构详细解读
显卡架构主要分为两大类:GPU 核心架构(也称为图形处理单元架构)和显卡的其他组件(如内存、控制器、输出接口等)。本篇文章将对显卡架构进行详细分析,重点介绍 GPU 核心架构、显卡计算单元、显存结构、显卡管…...
【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变
【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变 目录 文章目录 【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变目录摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果(包含重要…...
AcWing 2868. 子串分值
文章目录 前言代码思路 前言 还是实力不允许啊,要是实力允许我就一道一道中等题刷了。简单题真够呛。有些题看题解都是看老半天看不懂,假设是这种我是真感觉没必要钻研。我现在大三,要是看一遍题解看不懂就算了,果断放弃。真可以…...
如何进行 JavaScript 性能优化?
要进行 JavaScript 性能优化,我们可以从多个角度进行思考,主要包括减少页面渲染时间、减少内存占用、优化代码执行效率等。以下是优化的一些方法,并结合实际项目代码示例讲解。 目录结构 减少 DOM 操作 缓存 DOM 元素批量更新 DOM 优化 Jav…...
使用TCP编程实现简单登录功能
在Java中,使用TCP编程实现登录功能通常涉及以下步骤: 创建服务器端,监听特定端口,等待客户端连接。创建客户端,连接到服务器端。客户端发送用户名和密码到服务器端。服务器端验证用户名和密码。服务器端返回验证结果给…...
卷积神经网络(CNN)的层次结构
卷积神经网络(CNN)是一种以其处理图像和视频数据的能力而闻名的深度学习模型,其基本结构通常包括以下几个层次,每个层次都有其特定的功能和作用: 1. 输入层(Input Layer): 卷积神经网…...
操作系统文件管理相关习题2
文件管理的任务和功能文件管理 任务:对用户文件和系统文件进行组织管理,以方便用户使用,并保证文件的安全 功能:文件存储空间的管理,目录管理,文件读写管理和保护 目录管理 对目录管理的要求 实现按名存…...
react 通过ref调用子组件的方法
背景 父组件内引入了一个弹窗组件,弹窗组件使用了完全内聚的开发方法; 实现思路 父组件内通过ref获取的子组件,通过current调用子组件的方法,子组件需要通过forwardRef进行“包装”导出,通过useImperativeHandle暴露…...
【计算机网络】 —— 数据链路层(壹)
文章目录 前言 一、概述 1. 基本概念 2. 数据链路层的三个主要问题 二、封装成帧 1. 概念 2. 帧头、帧尾的作用 3. 透明传输 4. 提高效率 三、差错检测 1. 概念 2. 奇偶校验 3. 循环冗余校验CRC 1. 步骤 2. 生成多项式 3. 例题 4. 总结 四、可靠传输 1. 基本…...
AcWing 93. 递归实现组合型枚举
文章目录 前言代码思路 前言 今天晚上还有三个小时,写一晚上简单题。划水。 代码 #include<bits/stdc.h> using namespace std; int n,m; void dfs(int u,int sum,int state){if(sumn-u<m){return;//sum 表示当前选了 sum 个数字,假设把所有…...
vscode 折叠范围快捷键
vscode 折叠范围快捷键 问答 原文网址:https://www.n.cn/search/c830b29cb76146d08cae5074acfd4785 VSCode 折叠范围快捷键 在使用Visual Studio Code(VSCode)进行代码编辑时,掌握一些快捷键可以大大提高工作效率。以下是关于VSCode中折叠和…...
RabbitMQ 实现分组消费满足服务器集群部署
实现思路 使用扇出交换机(Fanout Exchange):扇出交换机会将消息广播到所有绑定的队列,确保每个消费者组都能接收到相同的消息。为每个消费者组创建独立的队列:每个消费者组拥有自己的队列,所有属于该组的消…...
Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)
概述 在上一篇文章中,我们介绍了Fiddler的基础功能和如何安装它。今天我们将深入探讨如何使用Fiddler来捕获HTTP请求,这是Fiddler的一个核心能力,对于前端开发者、测试人员以及安全研究人员来说非常有用。捕获HTTP请求可以帮助我们更好地理解…...
个人IP建设:简易指南
许多个体创业者面临的一个关键挑战是如何为其企业创造稳定的需求。 作为个体创业者,您无法使用营销团队,因此许多人通过推荐和他们的网络来产生需求。因此,扩大您的网络是发展您的业务和产生持续需求的最佳策略。 这就是个人IP和品牌发挥作…...
智能指针【C++11】
文章目录 智能指针std::auto_ptr std::unique_ptrstd::shared_ptrstd::shared_ptr的线程安全问题std::weak_ptr 智能指针 std::auto_ptr 管理权转移 auto_ptr是C98中引入的智能指针,auto_ptr通过管理权转移的方式解决智能指针的拷贝问题,保证一个资源…...
【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
文章目录 【Linux篇】Docker 启动和停止的精准掌舵:操控指南前言docker基本命令1. 帮助手册 2. 指令介绍 常用命令1. 查看镜像2. 搜索镜像3. 拉取镜像4. 删除镜像5. 从Docker Hub拉取 容器的相关命令1. 查看容器2. 创建与启动容器3. 查看镜像4. 启动容器5. 查看容器…...
Cursor vs VSCode:主要区别与优势分析
Cursor - The AI Code Editor 1. AI 集成能力 Cursor的优势 原生AI集成: # Cursor可以直接通过快捷键调用AI # 例如:按下 Ctrl K 可以直接获取代码建议 def complex_function():# 在这里,你可以直接询问AI如何实现功能# AI会直接在编辑器中…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
