版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目四业财融合分析实例《Python数据分析》(新商科微课版)陈煜军目录Content项目主题和目标01项目设计和实现02项目小结03项目思考和练习04项目主题和目标01.【项目介绍】本项目的核心是利用Python进行业财融合分析,特别是应收账款的数据分析和预警。项目旨在通过实际案例,让学生掌握财务数据清洗、账龄分析、和动态预警看板等编程方法,并理解业财融合分析在现实企业场景的作用。【素质目标】1.培养财务数据敏感性。2.强化风险管控意识。3.遵守企业财务数据保密规范,严格遵循会计准则处理账务。【知识目标】1.掌握账龄分段计算方法。2.理解坏账准备计提规则。3.熟悉应收账款分析指标。【技能目标】1.能够使用pandas进行财务数据清洗。2.会制作账龄分析表。3.能够使用matplotlib生成动态预警看板。【知识链接】1.基础数据分析常识(1)数据治理原则
完整性检查:删除缺失关键信息(如客户名称、日期)的记录
有效性验证:过滤不合理数据(如金额为负值的交易)
时间基准统一:所有时间计算需基于明确截止日(如2024年末)(2)风险分析逻辑
时间分段常识:逾期时间越久,资金回收风险越高(如超180天账款回收率通常低于50%)权重映射规则:风险系数随逾期天数阶梯式上升(如30天内风险1%,30-90天升至5%)。【知识链接】2.业财可视化与决策示例分析目标可视化选择逻辑应用场景举例结构占比分析饼图(如各账龄段金额占比)快速识别高风险账龄区间应收账款分析水平条形图(按金额降序排列)定位TOP5应收账款客户高风险客户预警柱形图(按风险登记降序排列)定位TOP5高风险客户逾期天数分布情况直方图(按逾期天数分布)应收账款逾期天数分布图【知识链接】3.账款管理常识(1)账期设置:制造业通常30-90天,零售业7-30天(2)催收阶段:30天内:系统自动提醒90天以上:法务介入【知识链接】4.跨行业应用差异(1)电商行业特点高频小金额交易,账期短(通常7天)逾期主因:支付系统故障、促销订单激增(2)制造业特点大金额长账期(60-180天)逾期关联因素:供应商交货延迟、生产周期波动【思政小贴士】财务人员应严守职业操守和职业道德,以诚信为本,遵守保密规范,同时认识到会计准则不仅是技术准则,更是维护企业数据安全和行业公信力的重要保障。项目设计和实现2.【情景导入】小王是A企业财务部应收会计,每月需手工处理2000+条应收账款记录。近期审计发现账龄分类错误导致坏账计提偏差,主管要求改革流程,建立自动化分析系统。小王决定学习Python技术实现分析。结合行业特点、历史数据、风险管理目标和动态环境,A企业简化风险系数映射表如右图所示。逾期分区风险评估坏账准备信用评级小于30天轻度逾期,风险较低1%良好级31-90天中度逾期,风险显著增加5%观察级91-180天推定违约,高风险预警20%预警级180天以上推定违约,预期损失50%损失级【思维导图】业财融合分析应收账款数据导入与清洗任务一【任务说明】从ERP系统导出包含异常值、缺失值的原始数据,文件名为2024应收账款.xlsx,完成数据导入和清洗的规范化处理。【任务设计】【任务实现】(1)读取Excel文件通过pandas读取【2024应收账款.xlsx】文件,并在读取文件时将表格数据创建为DataFrame对象,这里要注意parse_dates和dtype参数的运用。parse_dates参数在read_excel读取Excel文件时,将指定的列(默认可能是字符串或其他类型)解析为pandas的datetime日期时间类型,这在后续分析(如时间序列计算、日期筛选等)中非常有用。如果不使用parse_dates参数,日期列可能会被读取为字符串或Excel的原始数值格式(如Excel的日期序列值),导致后续无法直接进行日期操作。【知识链接】parse_dates参数【思政小贴士】日期格式统一看似是小事,实则是数据准确性的“第一道关”。就像进入车间必须戴安全帽一样,规范数据标准是财务工作的基本要求,容不得半点马虎。数据的准确性不仅关系到财务报表的可靠性,更直接影响企业的决策和运营。每一个小小的疏忽都可能引发连锁反应,甚至造成不可挽回的损失。因此,财务人员必须以严谨的态度对待每一个细节,确保数据的完整性和准确性。这不仅是对工作的负责,更是对企业、对社会负责的体现。dtype参数在read_excel读取Excel文件时,强制指定某列的数据类型,确保数据在读取时符合预期的数据类型(有关数据类型的更多说明,请查阅附录七的第二部分)。如果不使用dtype参数,pandas将进行自动类型推断,如果某列包含特殊字符(如逗号千分位分隔符1,000),pandas可能错误地推断为object类型(字符串)。【知识链接】dtype参数【任务实现】(2)数据清洗从ERP系统导出包含异常值、缺失值的原始数据,可以看到存在数据关键字段缺失和金额异常的情况,需要进行数据清洗。df.isnull().sum()是pandas库中用于统计数据集中缺失值的核心方法组合,广泛应用于数据清洗和预处理场景。.isnull():生成与原数据尺寸相同的布尔矩阵,标记缺失值(NaN或None)为True,非缺失值为False。.sum():对布尔矩阵求和,默认按列统计(axis=0),True视为1,False视为0,结果返回每列的缺失值数量。当按行统计时(axis=1),则返回每行缺失值数量。【知识链接】检测和统计缺失值【知识链接】创建数据副本
客户名称和发票日期是关键数据,所以这两项缺失的记录必须删除。同时,金额小于或等于0的记录是异常记录,也必须删除。可以使用项目三中已经学习过的dropna方法和筛选过滤方法进行数据清洗。为了保留清洗前数据,可以先用df.copy()方法创建数据清洗副本。df.copy()方法用于创建DataFrame或Series的副本,可以防止误改原始数据。df.copy()方法有深拷贝(deep=True,默认)和浅拷贝(deep=False)两种方式。创建副本的工作并不是必须的,只在需要保留原始数据的情况下使用。需要特别注意的是,只有深拷贝方式能递归复制所有数据,生成完全独立的副本,修改副本不会影响原始对象。浅拷贝仅复制对象的结构和引用,不递归复制嵌套数据(如列表、字典等),对副本的修改则可能影响原始对象。【任务实现】(2)数据清洗
【思政小贴士】在本任务中,出于教学需要,对于异常数据采用备份后直接删除的方式。但在实际职业工作中,数据清洗中发现的异常值(如客户重复记录)往往隐含重要信息,它们可能是业务操作漏洞的“信号弹”,提示我们关注潜在问题。作为财务人员,发现问题后主动沟通解决,比仅凭数据做出判断更为重要。【任务实现】(3)计算逾期天数年度应收账款逾期天数是以当年度年末(2024-12-31)为基准日,计算每笔交易的逾期天数。由于部分记录的到期日是在基准日以后,在计算时逾期记录为负数,需要将这部分记录做置0处理。在pandas中,dt.days用于从时间对象中提取天数(整数)的属性。它通常与时间差计算(如两个日期相减)结合使用。【知识链接】dt.days计算时间差pd.to_datetime()时间转换pd.to_datetime()是pandas中用于将字符串、数值、日期对象等转换为Timestamp对象的核心函数。它功能强大且灵活,广泛应用于数据清洗和时间序列分析中。【任务实现】(3)计算逾期天数步骤(一)已经将“到期日”定义为datetime日期时间类型,可以通过用基准日期减去到期日的方法计算逾期天数,同时还要过滤掉“已付”记录。最终,需要通过df.loc方法筛选过滤出逾期列中天数小于0的记录并统一置0。【任务实现】(4)导出数据任务一的最后用to_excel方法将清洗后包含逾期天数字段的新数据导出Excel文件。【任务小结】任务一对从ERP系统导出的原始数据进行了规范化处理,通过本次任务,我们掌握了如何运用pandas库进行数据导入、清洗、计算以及导出,为后续的数据分析工作提供了准确、规范的数据基础。同时,深入理解了parse_dates、dtype、isnull、dropna、dt.days、pd.to_datetime、df.loc等方法和函数在实际数据处理中的应用,提升了数据处理和分析的能力。业财融合分析自动账龄分析任务二【任务说明】根据企业风险系数映射表,分析各逾期分区的金额分布和交易笔数,生成结构化报表,为企业财务决策提供依据。任务核心包括逾期分组统计、金额占比计算及报表导出。【任务设计】逾期分区风险评估坏账准备信用评级小于30天轻度逾期,风险较低1%良好级31-90天中度逾期,风险显著增加5%观察级91-180天推定违约,高风险预警20%预警级180天以上推定违约,预期损失50%损失级【任务实现】(1)定义逾期分组区间与标签通过定义列表的方式定义逾期分组区间与标签。逾期分区风险评估坏账准备信用评级小于30天轻度逾期,风险较低1%良好级31-90天中度逾期,风险显著增加5%观察级91-180天推定违约,高风险预警20%预警级180天以上推定违约,预期损失50%损失级yq_duandian=[0,30,90,180,float('inf')]在程序中定义了5个区间端点,其中float(‘inf’)表示正无穷大,用于定义最后一个区间的上限。yq_biaoqian=[‘30天以下’,‘31-90天’,‘91-180天’,‘180天以上’]定义了4个分区(标签),5个区间端点定义了4个分区。【知识链接】区间端点定义逾期分区风险评估坏账准备信用评级小于30天轻度逾期,风险较低1%良好级31-90天中度逾期,风险显著增加5%观察级91-180天推定违约,高风险预警20%预警级180天以上推定违约,预期损失50%损失级【思政小贴士】账龄分段必须严格遵循公司制度,这如同交通规则,是确保企业运营秩序和财务规范的基础,体现了财务人员对规则的尊重和职业责任的坚守。然而,在面对特殊情况(如客户协商延期)时,应主动与业务部门沟通,灵活调整账龄分段策略。这不仅避免了机械化操作对客户关系的伤害,更彰显了财务人员兼顾客户诉求、服务大局的职业素养和人文关怀,是践行“以客户为中心”理念和团队协作精神的体现。【任务实现】(2)数据分组与统计根据逾期天数对应付账单记录进行分组,并进行统计。【知识链接】pd.cut()分区pd.cut()将连续数值(如逾期天数)按指定的端点区间划分为离散分组,pd.cut()方法用bins参数定义区间端点,labels参数定义分组标签。常用参数如下:data:必需参数,要进行数据透视操作的Series或列。bins:必需参数,用来定义分割的区间。它可以是整数,代表将数据分成等宽的几个区间;也可以是一个序列,像列表或数组,用来指定区间的边界。right:可选参数,属于布尔类型,默认值为True。若为True,区间为左开右闭,即(a,b],包括b但不包括a;若为False,区间为左闭右开,即[a,b),包括a但不包括b。labels:可选参数,可以是数组或者布尔值False。若为数组,就会用数组中的元素作为每个区间的标签;若为False,则返回区间的整数编码。【知识链接】pd.cut()分区df[‘逾期分组’]是通过pd.cut()生成的列,其数据类型默认为category,如果要进行聚合计算时会出错,需要根据实际情况,使用df.astype()方法将category类型的数据转换为普通数据类型(比如:float、int或str)。代码运行后将在原有表格里增加逾期分组列,按分组标签对应填入。逾期天数为0的记录是正常交易,不属于逾期范畴,因此逾期分组为空值NaN。pd.pivot_table()是pandas库中一个强大的数据透视表功能函数,它可以帮助你对数据进行汇总、分析和重塑。data:必需参数,要进行数据透视操作的DataFrame。values:可选参数,要进行聚合计算的列名,可以是单个列名或列名列表。index:可选参数,作为行索引的列名或列名列表,用于确定透视表的行结构。columns:可选参数,作为列索引的列名或列名列表,用于确定透视表的列结构。aggfunc:可选参数,聚合函数,默认为'mean'(计算平均值),还可以是'sum'(求和)、'count'(计数)、'min'(最小值)、'max'(最大值)等,也可以传入自定义函数。margins:可选参数,布尔值,默认为False,如果设置为True,会在透视表的行和列上添加总计行和列。margins_name:可选参数,当margins为True时,总计行和列的名称,默认为'All'。【知识链接】pd.pivot_table()透视表
代码运行后将新建数据透视表yq_bb,按逾期分组汇总金额总数和笔数,并添加总和。【任务实现】(3)计算金额占比yq_bb数据透视表(‘sum’,‘金额’)列的每组汇总金额和(‘sum’,‘金额’)列最后一行的比值,就是逾期分组金额占比。可以直接运用pandas计算方法获取。代码运行后的数据分析报表显示,A企业小于30天逾期分组占比最低,为10%;91-180天逾期分组占比最高,达42%。【思政小贴士】账龄分析并非孤立的数字操作,而是需要结合企业实际情况的综合分析。例如,在季度销售旺季,企业的资金周转和回款情况可能受到多种因素的影响。作为财务人员,我们应具备全局视角,将账龄分析与企业的销售周期、市场环境、客户关系等多方面因素相结合,为企业的稳健运营提供有力支持。这不仅是专业技能的体现,更是我们服务企业、助力企业发展的责任所在。【任务实现】(4)导出分析报表任务一已经创建了2024年度应收账款逾期情况.xlsx,现在可以将账龄分析报表写入到新工作表中。【知识链接】pd.ExcelWriter()多表写入pandas的pd.ExcelWriter()方法支持在同一Excel文件中写入多个工作表。常用参数如下:path:目标文件路径。engine:指定引擎(一般设置为'openpyxl',其它参数详见附录五)。【思政小贴士】账龄分析表中的每一个数字都关乎企业的资金周转,是企业健康运营的重要指标。当发现客户长期逾期时,财务人员应立即提醒业务部门跟进。这不仅是履行职责、避免坏账风险的必要举措,更是保障企业资金安全、维护客户关系的关键。及时沟通与协作,是我们作为企业守护者的责任与担当,也是财务工作应有的专业素养。【任务小结】任务二对清洗后的应收账款数据进行了逾期分组统计和分析,实现了自动账龄分析。通过本任务,掌握了如何运用pandas库进行数据分组、透视表统计以及金额占比计算,为企业的逾期账款管理提供了清晰的数据支持。。业财融合分析坏账预测任务三【任务说明】任务二已完成账龄分析和分组占比计算,生成了yq_bb报表。本任务将基于任务二清洗并分组后的数据df,进行风险系数映射和预期损失计算,并生成分客户的风险报表。深入评估不同客户的逾期风险及其对企业财务的影响,为风险管理提供数据支持。【任务设计】【思政小贴士】建模时参考历史数据建立风险系数(如“坏账率>20%”),就是要把教训写进代码,用技术手段避免重蹈覆辙。这不仅是专业技能的体现,更是对企业的负责。财务人员要时刻保持风险意识,用数据守护企业资金安全,为企业发展筑牢防线。【任务实现】(1)风险系数映射使用字典定义不同逾期分组的风险系数,并通过map函数映射到每个客户。逾期分区风险评估坏账准备信用评级小于30天轻度逾期,风险较低1%良好级31-90天中度逾期,风险显著增加5%观察级91-180天推定违约,高风险预警20%预警级180天以上推定违约,预期损失50%损失级【知识链接】map映射是pandas中一种高效、灵活的数据转换方法,适合将数据中的离散值映射为其他值。它可以根据字典中的键进行精确匹配,未匹配的值会被替换为NaN,适合将离散值(如分类数据)映射为其他值(如数值、标签等)。例如可以将文本分类(如“男”、“女”)映射为数值(如0、1)。【思政小贴士】风险系数的设置和调整,必须谨慎行事。例如,原系数从0.1上浮到0.15,这看似微小的“5%调整”,可能直接影响公司财务报表。因此,每一次操作都需有理有据,杜绝凭“感觉”行事。这不仅是专业素养的体现,更是对企业的高度负责。【任务实现】(2)预期损失计算使用公式:预期损失=金额×风险系数直接计算每个户的预期损失【思政小贴士】计算损失不只是为了“挑刺”,更要发掘机会。比如,某客户虽然坏账率高,但常年大额采购,这时候要建议业务部门跟进谈判,而不是直接拉入“黑名单”。这体现了财务人员的辩证思维,既要防范风险,又要善于发现潜在价值,为企业创造更多机会。【任务实现】(3)分组聚合使用groupby()和sum()对数据以客户名称为基准进行金额和预期损失的分组汇总。【知识链接】groupby()分组聚合是pandas的分组聚合函数,它先对数据进行(指定字段)分组,然后在每个分组的[指定列]上应用聚合、转换函数。reset_index()后未reset_index()【任务实现】(4)导出客户风险报表继续使用任务二的方法新建客户风险分析工作表(df_fx),并保存为2024年度应收账款逾期情况.xlsx的新工作表。【任务小结】任务三根据逾期分组映射风险系数,计算每个客户的预期损失。通过分组聚合和报表生成,为企业提供了清晰的客户风险分析结果,为后续的应收账款管理和风险控制提供了数据支持。通过本任务掌握了map、groupby等方法和函数在实际数据处理中的应用。业财融合分析动态预警看板任务四【任务说明】本任务通过数据可视化技术将逾期分析、客户风险、账龄结构等核心指标转化为直观图表,生成动态预警看板。重点实现多维度数据图形展示,提升财务数据分析的可解释性,为企业管理层提供决策支持。【任务设计】【思政小贴士】看板的建立是为了更加直观地进行关联思考,同一客户在账龄分布和风险等级中的表现可能矛盾?这时就要追问原因——可能是数据错误,也可能是业务特殊需求。不能只看图表“表面”,要深挖背后真相。这体现财务人员的严谨态度和关联思考能力,是确保数据准确、决策科学的关键。【任务实现】本任务开始前,我们首先对现有程序已生成数据表进行梳理:序号变量名数据表关键字段1df逾期情况报表客户名称、金额、逾期分组2yq_bb账龄分析报表账龄分组总金额、总笔数、总金额占比3df_fx客户风险报表客户名称、金额、预期损失【知识链接】2.业财可视化与决策示例分析目标可视化选择逻辑应用场景举例结构占比分析饼图(如各账龄段金额占比)快速识别高风险账龄区间应收账款分析水平条形图(按金额降序排列)定位TOP5应收账款客户高风险客户预警柱形图(按风险登记降序排列)定位TOP5高风险客户逾期天数分布情况直方图(按逾期天数分布)应收账款逾期天数分布图【任务实现】(1)创建2x2动态预警看板布局通过matplotlib创建2x2子图画布,修改全局中文字体支持及图像分辨率等默认参数,有关matplotlib的使用可以复习项目三和查阅附录六相关内容。【知识链接】plt.subplots()画布布局plt.subplots()可以定义Python可视化输出的画布布局,其它相关配置如下:figsize:画布尺寸,以英寸为单位,例如:figsize=(15,10),定义画布尺寸为15英寸宽、10英寸高。ax:对象为包含子图的数组,[2,2]就是生成4个子图数组,每行2个,共两行。通过ax[0,0]访问左上角位置子图,通过ax[1,0]访问左下角位置子图,依此类推。【任务实现】(2)账龄结构分布饼图按逾期分组统计交易总金额占比,突出高风险账龄区间。知识链接:plot.pie()饼图常用参数:autopct='%1.1f%%':显示百分比格式。startangle=90:可设置饼图起始角度(默认0度)。【任务实现】(3)TOPn客户应收账款分析图筛选应收账款金额前5大客户生成水平条形图,从上到下,降序排列。【知识链接】nlargest()nlargest()函数可以快速返回DataFrame指定列(或Series)中n个最大的值。sort_values()排序sort_values(ascending=True)升序排列使条形图从上到下递增。因为plot.barh()绘制水平条形图时,默认的Y轴顺序是从下到上,所以如果要让条形图从上到下显示为降序,则对数据取值排序时必须是升序。【任务实现】(4)高风险客户预警柱形图按预期损失金额生成前5大客户预警图。柱状图高度直观反映潜在损失规模。和条形图不同,柱状图不需要重新排序,可以直接将df_fx.nlargest(5,'预期损失')传入plot.bar()绘图,为了更醒目显示预警风险,设置图形颜色为深红色:color='firebrick'。【思政小贴士】客户逾期损失用红色警示,不是为了“吓唬领导”,而是为了让管理层快速抓住重点。数据可视化的目的是“传递价值”,而不是炫技。简洁明了的图表,才能真正帮助决策,体现财务人员的责任与担当。【任务实现】(5)逾期天数分布直方图展示所有存在逾期记录的区间分布特征,通过直方图反映数据分布形态,识别异常集中区间。【知识链接】plot.hist()直方图常用参数plot.hist()直方图常用参数bins=20:将数据划分为20个采样区间。color='green':设置直方图颜色,和其它图形区分开。edgecolor='black':添加黑色边框增强区分度。【任务实现】最终布局调整与输出任务的最后进行布局的简单调整(tight_layout自适应)和图形输出配置,任务四完整代码如下。【思政小贴士】生成的预警看板要定期更新,不能一次完成就不管了。就像汽车仪表盘需要持续监控一样,财务数据的分析是动态过程,必须跟进反馈调整方案。这体现了对企业发展动态的深刻认识,只有不断优化,才能适应变化,助力企业稳健前行。【任务小结】本任务通过matplotlib库实现了多维度数据可视化,完成了以下成果:1.创建复合图表展示账龄结构、客户分布、风险预警等核心指标2.掌握subplots()画布布局与tight_layout()自适应调整3.熟练运用饼图、条形图、柱状图、直方图四种图形表达方式4.实现颜色映射、标签设置、排序方法等可视化增强技巧5.输出专业级分析图像嵌入可视化看板,显著提升数据洞察效率通过可视化呈现,将复杂的财务数据转化为直观的业务洞察,有效支持应收账款管理的化决策。【项目小结】项目现有代码为流程化代码,可以进行模块化重构:1.将配置项集中放置在导入库之后,便于维护和修改;2.按功能将程序分解为不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保护视力纳入考核制度
- 施工单位考勤考核制度
- 体育科目考核制度及流程
- 通信工程检查考核制度
- 影像中心绩效考核制度
- 宝健直销新人考核制度
- 企业内部审计考核制度
- 得物金牌客服考核制度
- 分包单位安全考核制度
- it运维人员考核制度
- 2025至2030中国铁路联轴节行业调研及市场前景预测评估报告
- 2026年湖南有色金属职业技术学院单招职业适应性测试题库及参考答案详解1套
- 酒精性多神经病个案护理
- ESD术中穿孔紧急处理策略与实践
- 2024-2025中国纺织服装行业社会责任年度报告
- 中医体质分类判定自测表
- 车辆智能共享出行技术课件 第2章 共享经济与汽车共享出行
- CNAS-CL01-G001-2024检测和校准实验室能力认可准则全套质量手册和程序文件
- 电力施工方案范本
- 2025年国家开放大学(电大)《中国法律史》期末考试复习题库及答案解析
- 2025及未来5年中国橡胶膏剂市场调查、数据监测研究报告
评论
0/150
提交评论