Python程序设计教程(工作手册式) 课件 情景6、7 Python与会计、Python与电子商务_第1页
Python程序设计教程(工作手册式) 课件 情景6、7 Python与会计、Python与电子商务_第2页
Python程序设计教程(工作手册式) 课件 情景6、7 Python与会计、Python与电子商务_第3页
Python程序设计教程(工作手册式) 课件 情景6、7 Python与会计、Python与电子商务_第4页
Python程序设计教程(工作手册式) 课件 情景6、7 Python与会计、Python与电子商务_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python程序设计教程

(工作手册式)情景六Python与会计任务mission12Python之财务报表Python之财务分析任务一Python之财务报表前言:表间数据关系根据企业会计准则要求,有些项目需根据科目余额表中多个项目计算填列、分析填列等,就需通过科目映射表的桥接作用,即把科目余额表与科目映射表进行拼接,再转换到资产负债表及利润表中一.获取任务数据1.获取余额表、科目映射表数据引入pandas模块,读取科目余额表、映射表、资产负债表及利润表等相关表格,效果如下图所示:科目余额表(部分截图)科目映射表(部分截图)一.获取任务数据1.获取余额表、科目映射表数据引入pandas模块,读取科目余额表、映射表、资产负债表及利润表等相关表格,效果如下图所示:资产负债表(部分截图)利润表(部分截图)一.获取任务数据2.将科目余额表与映射表拼接准备好数据后,通过merge函数,将科目余额表与映射表进行拼接,执行代码:merge_kmys_kmye=pd.merge(left=kmys,right=kmye,on=[‘科目编码’,‘科目名称’],how=‘left‘),效果如下图所示:二.编制利润表本年形成的利润即利润表中的净利润与资产负债表中“本年利润”项目有关,故先编制出利润表,再编制资产负债表。期末转入二.编制利润表1.科目余额按报表项目汇总,计算出利润表项目筛选出合并报表中的利润表科目,通过merge函数找到项目编号中“I”开头的项目,即利润表项目,计算出利润表项目金额。再对筛选出项目进行空值填充、数据合并、索引重置及修改为报表项目名称等,计算出利润表项目金额。如右图所示:二.编制利润表2.生成利润表结构通过merge()函数,把刚生成的数据表与原准备的利润表标准格式表相拼接,并通过del()函数等,删除两表中重复内容的列,根据标准格式重新定义列名称。如右图所示:3.计算利润项目

利润表项目数据取得后,各利润项目数据需计算获得,计算公式如下:营业利润=主营业务收入+其他业务收入-主营业务成本-其他业务成本-税金及附加-销售费用-管理费用-财务费用-资产减值损失+投资收益+公允价值变动损益利润总额=营业利润+营业外收入-营业外支出净利润=利润总额-所得税费用。二.编制利润表

根据各利润项目的计算原理,定位应计算的行项目,分别计算营业利润、利润总额及净利润金额,结果如右图所示。本期营业利润计算:ps_2.loc[10,'本期金额']=ps_2.loc[:9,'本期金额'].sum()本期利润总额计算:ps_2.loc[13,'本期金额']=ps_2.loc[10:12,'本期金额'].sum()本期净利润计算:ps_2.loc[15,'本期金额']=ps_2.loc[13:14,'本期金额'].sum()3.计算利润项目二.编制利润表

利润表各项目数据计算出来后,可利用前面所学知识,对其项目顺序、小数位数等格式进行美化调整,并输出利润表,结果如右图所示。4.编辑利润表格式及输出利润表二.编制利润表三.编制资产负债表1.计算出资产负债表项目把科目余额表与科目映射表拼接表中的资产负债表项目及相关数据通过pivot()函数进行透视读取出来,为后续编制资产负债表做准备。因篇幅关系,前10行截图如右图所示:三.编制资产负债表2.生成资产负债表结构按照资产负债表格式项目,设置报表列名称,并把资产负债表项目表与标准资产负债表格式表进行拼接,并删除多余列及各项目顺序,生成资产负债表标准结构表,但此时的本年利润项目期末余额没有金额,如右图所示:三.编制资产负债表3.结转净利润到资产负债表中本例中,前面所计算出净利润,并未结转到资产负债表中,因此,现在需采用表结法将利润表算出的净利润数据结转到资产负债表中“本年利润”项目中,如右图所示:三.编制资产负债表4.计算资产负债表项目根据资产负债表项目的性质及逻辑结构,计算相关项目的合计金额,计算公式如下:流动资产合计=所有流动资产余额之和非流动资产合计=所有非流动资产余额之和非流负债产合计=所有非流动负债余额之和所有者权益合计=所有所有者权益之和资产合计=流动资产+非流动资产负债合计=流动负债+非流动负债负债及所有者权益合计=负债合计+所有者权益合计,计算结果如右图所示:三.编制资产负债表5.校验资产负债表平衡根据资产负债表编制基础(资产=负债+所有者权益)的平衡原理,检验所生成报表是否平衡,试算不平衡,则报表计算或编制有误,需进一步检查。用if…else…条件判断语句完成相关检验工作,用abs()函数将负债和权益类的报表项转为正数显示,自行计算报表汇总项,结果如下图所示:三.编制资产负债表6.资产负债表格式优化及输出资产表各项目数据计算出来并对其平衡校验后,就是对其项目顺序、小数位数等格式进行美化调整,并输出报表,结果如右图所示:四.任务一小结在财务报表的编制过程,让我们熟悉了excel表的读取和输出,能够熟练地掌握merge函数、pivot函数、列表数据的读取、引用、索引等方法的综合实践操作,也让我们对财务报表结构和数据逻辑关系有了进一步的认识。同学们,我们每个人的生活都是一张资产负债表,资产负债表英文叫BalanceSheet。Balance即平衡,人生也是一样,一项资产的获得总是通过另一项资产的减少或者权益(负债和所有者权益)的增加来实现。你现在过着轻松、简单的生活,是因有父母等其他人在为你负重前行,你需要努力学习、专研技能,掌握好自己生活、工作的本领,努力使自己的利润表变得更漂亮,增强自己承担负债的能力,积累更多的人生净资产,才能让幸福延续。任务二Python之财务数据分析一.财务报表分析数据准备1.读取分析数据本任务利用上一节生成的资产负债表和利润表进行财务报表分析,分别读取利润表和资产负债表数据。一.财务报表分析数据准备2.分析数据预处理因后续指标计算中,对资产负债表项目多处需用到平均值,因此,先将资产负债表增加一列平均值,以备后用。二.财务分析指标计算1.偿债能力分析偿债能力是指企业偿还到期债务(包含本金及利息)的能力。能否及时偿还到期债务,是反映企业财务状况好坏的重要标志。通过对偿债能力的分析,可以考察企业持续经营的能力和风险,有助于对企业未来收益进行预测。主要分析指标计算公式如下:指标计算公式指标说明流动比率=流动资产÷流动负债

速动比率=速动资产÷流动负债速动资产=货币资金+交易性金融资产+应收账款+应收票据+其他应收款现金比率=(货币资金+交易性金融资产)÷流动负债×100%

资产负债率=负债总额/资产总额×100%

产权比率=负债总额/所有者权益总额×100%

二.财务分析指标计算1.偿债能力分析根据偿债能力指标计算数据要求,从资产负债表中对应列读取相关数据,进行计算,并对计算结果进行输出。过程及结果如右图所示。二.财务分析指标计算2.营运能力分析营运能力分析是衡量公司资产管理效率的财务比率,营运能力指标也可以用周转天数来衡量。存货周转天数加应收账款的周转天数等于营运周期。营运周期越短,意味着企业的资金周转速度越快,运营能力越强。主要分析指标计算公式如下:指标计算公式指标说明应收账款周转率(周转次数)(RTR)=营业收入/平均应收账款余额平均应收账款余额=应收账款平均余额+应收票据平均余额总资产周转率(周转次数)(TA)=营业收入/平均总资产平均总资产=(年初总资产+年末总资产)/2流动资产周转率(周转次数)(CAT)=营业收入/平均流动资产平均流动资产=(年初流动资产+年末流动资产)/2营运资本周转率(周转次数)(WCT)=营业收入/平均营运资本营运资本=流动资产-流动负债二.财务分析指标计算2.营运能力分析根据营运能力指标计算数据要求,分别从资产负债表和利润表中对应列读取相关数据,进行计算,并对计算结果进行输出。过程及结果如右图所示。二.财务分析指标计算3.盈利能力分析盈利能力是指企业获取利润、实现资金增值的能力,是企业持续经营和发展的保证。企业经营业绩的好坏最终可通过企业的盈利能力来反映。对于信用相同或相近的几个企业,人们总是将资金投向盈利能力强的企业。主要分析指标计算公式如下:指标计算公式指标说明销售毛利率(GPM)=销售毛利÷营业收入×100%销售毛利(GM)=营业收入-营业成本销售利润率(ROS)=营业利润÷营业收入×100%

销售净利润率(TTM)=净利润÷营业收入×100%

总资产净利率(ROA)=净利润÷平均总资产×100%平均总资产=(总资产期初数+总资产期本数)÷2二.财务分析指标计算3.盈利能力分析根据盈利能力指标计算数据要求,分别从资产负债表和利润表中对应列读取相关数据,进行计算,并对计算结果进行输出。过程及结果如右图所示。二.财务分析指标计算4.发展能力分析发展能力是指企业未来生产经营活动的发展趋势和发展潜力,也即增长能力,它是企业通过自身的生产经营活动,不断扩大积累而形成的发展潜能。主要分析指标计算公式如下:指标计算公式营业收入增长率(OIGR)=((本年营业收入-上年营业收入)/上年营业收入)×100%净利润增长率(NGR)=((本年净利润-上年净利润)/上年净利润)×100%资产增长率(TAGR)=((年末资产总额-年初资产总额)/年初资产总额)×100%资本积累率(CAR)=((年末股东权益总额-年初股东权益总额)/年初股东权益总额)二.财务分析指标计算4.发展能力分析根据发展能力指标计算数据要求,分别从资产负债表和利润表中对应列读取相关数据,进行计算,并对计算结果进行输出。过程及结果如下图所示。三.任务二小结通过本次任务的学习和实践,使我们熟悉了Python在财务数据分析中的程序,了解了常用的偿债能力、营运能力、盈利能力及发展能力分析指标的计算及呈现形式,并且能够熟练地对分析结果输出的常用操作方法的实践操作。财务数据分析,犹如医生把脉问诊,分析人员主要是以会计核算和财务报表资料及其他相关资料为依据,是对企业过去和现在状况进行行分析与评价的经济管理活动。随着技术的发展,更加需要大数据技术与财务会计融合的能力,才能为企业的管理策略调整提供更科学及时的依据。Python程序设计教程

(工作手册式)情景七Python与电子商务任务mission12电子商务爬虫电子商务数据分析任务一Python之电子商务爬虫一.爬虫基础什么是爬虫?爬虫可以帮助我们把网站上的信息快速提取并保存下来。能爬取哪些数据?在网页中我们能看到各种各样的信息,最常见的便是常规网页,它们对应着HTML代码,而最常抓取的便是HTML源代码。一.爬虫基础1.爬虫流程1)获取网页爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码2)提取信息获取网页的源代码后,接下来就是分析网页的源代码,从中提取我们想要的数据。3)保存数据提取信息后,我们一般会将提取到的数据保存到某处以便后续使用。4)自动化程序爬虫可以代替人来完成这些操作。一.爬虫基础2.urllib模块

打开和读取URL

解析URL

解析robots.txt文件

包含urllib.request抛出异常一.爬虫基础读取重庆城市职业学院主页html源码fromurllib.requestimporturlopenmyURL=urlopen("/")print(myURL.read().decode('utf-8'))一.爬虫基础使用request读取重庆城市职业学院主页html代码importurllib.requestrequest=urllib.request.Request('/')response=urllib.request.urlopen(request)print(response.read().decode('utf-8'))一.爬虫基础3.异常处理urllib的error模块定义了由request模块产生的异常。如果出现了问题,request模块便会抛出error模块中定义的异常。【实例】用测试网站捕获异常importsocketimporturllib.requestimporturllib.error

try:response=urllib.request.urlopen('/get',timeout=0.1)excepturllib.error.URLErrorase:ifisinstance(e.reason,socket.timeout):print('TIMEOUT')一.爬虫基础4.分析robots协议利用urllib的robotparser模块,可以实现网站Robots协议的分析。Robots协议也称作爬虫协议、机器人协议,它的全名叫作网络爬虫排除标准(RobotsExclusionProtocol),用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取。一个robots.txt的样例:User-agent:*Disallow:/Allow:/public/二.爬取电子商务数据项目要求:爬取京东商城中“笔记本电脑”的数据,并把内容存储到excel表格之中。1.安装第三方库1)安装爬虫库PipinstallrequestsPipinstallselectorsPipinstalllxml2)安装excel文件库Pipinstallopenpyxl二.爬取电子商务数据二.爬取电子商务数据2.分析网页结构1)查看网页在googlechrome浏览器中输入:。注意:1.建议使用google浏览器。2.复制网页时建议分2次取再拼接。如下2个连接都是相同的:/search?keyword=%E7%AC%94%E8%AE%B0%E6%9C%AC&suggest=1.his.0.0&wq=%E7%AC%94%E8%AE%B0%E6%9C%AC&ev=exbrand_%E8%81%94%E6%83%B3%EF%BC%88lenovo%EF%BC%89%5E/search?keyword=笔记本&suggest=1.his.0.0&wq=笔记本&ev=exbrand_联想(lenovo)%5E二.爬取电子商务数据2.分析网页标签在浏览器中,按F12功能键点击商品标签,看右边代码的变化。可以看到在class标签id=J_goodsList里ul标签下的li标签,对应着所有商品列表二.爬取电子商务数据3.爬取数据url=/search?keyword=笔记本&wq=笔记本&ev=exbrand_联想%5E&page=9&s=241&click=1headers={'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/86.0.4240.198Safari/537.36'}res=requests.get(url,headers=headers)res.encoding='utf-8'text=res.textselector=etree.HTML(text)list=selector.xpath('//*[@id="J_goodsList"]/ul/li')foriinlist:title=i.xpath('.//div[@class="p-namep-name-type-2"]/a/em/text()')[0]……print("product_id="+str(product_id))print("")二.爬取电子商务数据4.获取评论数据在F12对应的界面中,转到network页,找到以“productCommentSummaries.action”开头的项目,把对应的URL地址取出并放到浏览器中执行,得到的页面就是所有商品ID以及对应的评论数据。二.爬取电子商务数据4.获取评论数据在F12对应的界面中,转到network页,找到以“productCommentSummaries.action”开头的项目,把对应的URL地址取出并放到浏览器中执行,得到的页面就是所有商品ID以及对应的评论数据。二.爬取电子商务数据4.获取评论数据创建函数读取数据defcommentcount(product_id):url1=“/comment/productCommentSummaries.action?referenceIds=”+str(rpoduct_id)+”&callback=jQuery5358031&_=1667631915528”res1=requests.get(url1,headers=headers)……returncomment_countforiinlist:title=i.xpath('.//div[@class="p-namep-name-type-2"]/a/em/text()')[0]……print("price="+str(price))print("comment_count="+str(comment_count))二.爬取电子商务数据5.保存数据到excl文件中importopenpyxloutwb=openpyxl.Workbook()outws=outwb.create_sheet(index=0)outws.cell(row=1,column=1,value="index")outws.cell(row=count,column=1,value=str(count-1))outws.cell(row=count,column=2,value=str(title))outws.cell(row=count,column=3,value=str(price))outws.cell(row=count,column=4,value=str(comment_count))count+=1outwb.save("jdgood.xls")三.任务一小结通过本次任务的学习和实践,使我们熟悉了Python网络爬虫的基本模块,能够使用urllib与request配合抓取网页内容。在任务实施中,增加了xpath与openpyxl的内容,以便于更好的分析与爬取数据,并把数据保存到本地文件之中。要爬取网页的数据,就要对网页的基本结构有所了解,同时要会使用googlechrome的F12功能,把我们需要的内容映射到不同的div之中。同学们要强化个人信息自我保护意识,在生活、学习中养成保护个人信息的习惯。要遵守网站的robots协议,不爬取敏感信息,在网站中获取的数据,只用于学习不做他途。当要做数据交换时,要及时的对数据进行脱敏操作,严禁不脱敏就向网络发送传播原始信息任务二电子商务数据分析一.电子商务数据分析基础

商务数据分析的目的是要洞察数据后面的规律。通过这些规律,企业可以制定相应的措施与决策,从而过到预想的结果,这也是商务数据分析的最大价值。

在商务数据分析过程中,要先对数据进行相应的处理加工,才可以使用描述性统计分析方法、探索性数据分析方法等技术手段对数据进行深加工,得到我们的预期一.电子商务数据分析基础1.数据预处理1)数据清洗缺失值处理异常值处理重复值处理一.电子商务数据分析基础实例:缺失值处理--用固定值填充一.电子商务数据分析基础实例异常值处理箱线图一.电子商务数据分析基础实例重复值处理一般使用drop_duplicates()方法一.电子商务数据分析基础2)数据标准化离差标准化离差标准化也叫Min-Max规范化标准差标准化标准差标准化也叫Z-score规范化一.电子商务数据分析基础2.统计术语数据类型截面数据:对多个个体在相同或近似相同的同一时间节点上搜集的数据时间序列数据:某个个体在一段时间内搜集到的数据集面板数据:既有截面维度又有时间维度的混合数据集,可分为平衡面板数据、非平衡面板数据数据的位置度量平均数,中位数,众数。一.电子商务数据分析基础3.探索性数据分析统计检验卡方检验一.电子商务数据分析基础3.探索性数据分析独立分布t检验方差检验一.电子商务数据分析基础3.探索性数据分析Q-Q图一.电子商务数据分析基础3.探索性数据分析相关系数二.数据分析案例:根据已有数据对店铺整体运营情况进行分析,了解运营状况,对未来进行预测,已经成为电商运营必不可少的技能。任务对一家全球超市4年(2011~2014年)的零售数据进行数据分析,实现①分析每年销售额增长率;②各个地区分店的销售额;③销售淡旺季;④新老客户数;⑤RFM模型标记用户价值。二.数据分析1.数据准备数据来源于数据科学竞赛平台Kaggle,网址为/jr2ngb/superstore-data,总共51290条数据,24个字段。二.数据分析2.数据清洗与整理1)查看是否含有缺失值通过info函数了解到在数据集中的只有PostalCode字段含有缺失值(只有9994个)。判断每个字段(any()方法)中的数据是否含有缺失值(isna()方法),如图7-37所示。data.isna().any()2)查看是否有异常值在查看数据的缺失值之后还需要检查一下数据中是否含有异常值,Pandas的describe()可以用来统计数据集的集中趋势,如图7-38所示,分析各行列的分布情况,因此在查看异常值时会经常用到。data.describe()3)数据整理由于很多分析的维度都是建立在时间基础上的,通过数据类型的结果发现数据中的时间是字符串类型的,所以需要处理时间的类型,将其修改成datetime类型。二.数据分析3.商务数据分析目标1)每年销售额的增长率销售增长率是企业本年销售收入增长额同上年销售收入总额之比。2)分店销售额及对比对比不同分店的销售额,用于对不同地区分配下一年度的销售额指标,或者采取不同的营销策略。3)用户价值度RFM模型RFM模型,R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。F(Frequency):值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。RFM模型是衡量客户价值和用户创利能力的经典工具,依托于客户最近一次购买时间、消费频次及消费金额。应用RFM模型时,要有客户基础的交易数据,至少包含客户号、交易金额和交易时间3个字段。二.数据分析4.RFM模型分析过程步骤1:统计全年的数据。data_2014=data[data[‘Order-year’]==2014]data_2014=data[[‘CustomerID’,’OrderDate’,’Sales’]]二.数据分析4.RFM模型分析过程步骤2:对数据分组deforder_sort(group):returngroup.sort_values(by=’OrderDate’)[-1:]data_2014_group=data_2014.groupby(by=’CustomerID’,as_index=False)data_max_time=data_2014_group.apply(order_sort)二.数据分析4.RFM模型分析过程步骤3:计算F,M值data_max_time[‘F’]=data_2014_group.size().valuesdata_max_time[‘M’]=data_2014_group.sum()[‘Sales’].values二.数据分析4.RFM模型分析过程计算R值

根据需要假定时间计算2014年12月31日,最近一次交易时间的间隔。注意,由于是历史数据,计算的时候时间跨度不要太大。stat_date=pd.to_datetime(‘2014-12-31)r_data=stat_date–data_max_time[‘OrderDate’]data_max_time[‘R’]=r_data.values二.数据分析4.RFM模型分析过程步骤5:设定评分区间给定F的区间为[0,5,10,15,20,50]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论