《大数据技术在财务中的应用》高职全套教学课件_第1页
《大数据技术在财务中的应用》高职全套教学课件_第2页
《大数据技术在财务中的应用》高职全套教学课件_第3页
《大数据技术在财务中的应用》高职全套教学课件_第4页
《大数据技术在财务中的应用》高职全套教学课件_第5页
已阅读5页,还剩470页未读 继续免费阅读

下载本文档

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

文档简介

大数据技术在财务中的应用1.1Python概述全套可编辑PPT课件什么是Python编程语言·

解释性·

编译性·交互性·面向对象的

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。全套可编辑PPT课件什么是Python初学者的语言这意味着,您可以在一个Python提示符

>>>

后直接执行代码。交互式语言这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。解释型语言这意味着Python支持面向对象的风格或代码封装在对象的编程技术。面向对象语言Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到web浏览器再到游戏。Python的发展史Python翻译成汉语:蟒蛇,因此它的LOGO也是两条缠绕在一起的蟒蛇的样子。创始人:荷兰的吉多·范罗苏姆创作灵感:1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(MontyPython'sFlyingCircus)。上线时间:1990年软件版本:Python2.x、Python3.x,最新版本是Python3.12.3Python的语言特点·易于学习·易于维护·一个广泛的标准库·交互模式·易于阅读·可移植·可扩展·数据库·GUI编程·可嵌入Python在财务中的应用网络爬虫数据处理可视化分析人工智能国内外使用Python的知名网站·YouTube·Gmail邮箱·Dropbox······国内·豆瓣·果壳·知乎·Soho邮箱······国外感谢您的观看!

1.2配置Python环境大数据技术在财务中的应用导学古人云:“工欲善其事,必先利其器。”比喻做好一件事,准备工作非常重要。使用Python语言编写代码之前,我们也需要做好准备,就是选择一款好用的编辑器。就像我们编辑文档需要使用Office工具一样,编写代码也需要编辑器,好的编辑器能提高我们学习和工作的效率,让我们事半功倍。Anaconda介绍在正式学习Python前,需要先搭建Python开发环境。本节要求下载Python的一个开源版本Anaconda,是因为它对Python的初学者很友好。通过本节的学习,掌握Anaconda的下载、安装以及简单应用。Anaconda的下载与安装官方下载网址为:/download/网速慢的话可在清华大学开源软件镜像站下载,网址为:/anaconda/archive/选择与自己电脑对应的系统和位数进行下载下载后的安装包:双击安装包,然后点击next点击IAgree选择JustMe然后点击next选择安装路径然后点击next注意:文件路径不能包含空格。两个对勾都选上,软件将在安装时自动添加环境变量,请务必注意该点。不要遗忘选上第一个勾。然后点击install点击next点击finish至此,anaconda安装完成检验Anaconda安装是否成功在命令提示符中输入python并回车,如果出现以下字符提示,说明安装成功。同时按住键盘上的Win+R,桌面左下角弹出运行run,在里面输入cmd并回车,打开命令提示符Jupyternotebook介绍我们安装了Anaconda发行版时已经自动为你安装了JupyterNotebook的,所以不需要我们再对其进行单独安装。JupyterNotebook是一个开源的交互式笔记本环境。它以网页形式呈现,允许用户在浏览器中编写和运行代码,并将代码、图像、注释和可视化结果整合在一个灵活的文档中。非常适合用于数据科学、机器学习、教学和快速原型开发。它的优势在于结合了代码、文本和可视化的灵活性,并支持多种编程语言和扩展,从而提高了代码编写和数据分析的效率Jupyter可以直接在anaconda的菜单里面打开,也可以通过命令行,输入jupyternotebook或者是jupyter-notebook,然后回车打开jupyther服务。当我们打开jupyternotebook(不管用什么样的方式打开,使用菜单打开或者是命令行打开是一样的)会在默认的浏览器中看到这样的界面如果没有自动打开浏览器,可以自己在浏览器地址栏中输入:localhost:8888/tree,其中localhost表示本机地址,8888是端口号。其实际文件实际储存的默认路径为“C:\Users\用户名”。点击new--

选择Python3即可创建新的python笔记文件,可在文件中编写python代码。JupyterNotebook的界面主要由4部分组成:标题栏、菜单栏、工具栏和编辑区域第一个”Helloword!”新创建的笔记自动打开,如图所示。此时,笔记并没有被命名,所以被系统自动命名为“Untiled”(未命名)。在图中,注意到左边有个标识为“In[]:”代码单元格(cell),它提示我们这是个输入代码的区域,我们可以在其中输入任意合法的Python语句。点击“Untiled”,会弹出重命名对话框,如图所示,在文本框中输入合适的文件名(如myFirstBook),然后点击“Rename(重命名)”按钮,即可完成笔记的重命名工作。JupyterNotebook笔记文档的扩展名为.ipynb。在代码单元格(cell)中输入“print(”Helloword,今天我要开始学习Python开发与财务的应用这门课了!!“)”这行代码,点击“运行”按钮,就会发现括号里面的内容被打印了出来。感谢您的观看!

1.3Python的常用库大数据技术在财务中的应用Python的库·库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方

库以及自定义模块。Python的标准库名称作用datetime为日期和时间的处理提供了简单和复杂的方法zlib直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfilie,以及tarfilerandom提供了生成随机数的工具math为浮点运算提供了对底层C函数库的访问sys工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于sys模块的argv变量glob提供了一个函数用于从目录通配符搜索中生成文件列表os提供了不少于操作系统相关联的函数urllib获取网页源码Python的常用第三方库IPython➢

Ipython是Python的原生交互式shell的增强版,可以完成许多不同寻常的任务,比如帮助实现并

行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功

能以及改进了的交互式帮助。Python的常用第三方库NumPy(Numerical

Python)➢NumPy是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需

的接口.NumPy还包括其他内容:快速、高效地多维数组对象ndarray;基于元素地数组计算或数组间

数学操作函数;用于读写硬盘中基于数组地数据集地工具;线性代数操作、傅里叶变换以及随机数生成,赋予了Python快速数组处理能力。➢NumPy的另外一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数

组能够比Python内建数据结构更为高效地存储和操作数据。➢将

C、C++、Fortran代码集成到

Python的工具。Python的常用第三方库SciPy➢

是科学计算领域针对不同标准问题域的包的集合。主要包含:

·egrate数值积分例程和微分方程求解器

·scipy.linalg线性代数例程和基于numpy.linalg的矩阵分解

·scipy.optimize函数优化器(最小化器)和求根算法·scipy.signal信号处理工具

·scipy.sparse稀疏矩阵与稀疏线性系统求解器·scipy.specialSPECFUN的包装器。SPECFUN是Fortran语言下实现通用数据函数的包,例如

gamma函数。·scipy.stats标准的连续和离散概率分布(密度函数、采样器、连续分布函数)、各类统计测试、各

类描述性统计。

Python的常用第三方库Pandas➢提供了高级数据结构和函数。➢将表格和关系型数据库(例如SQL)的灵活数据操作能力于NumPy的高性能数组计算的理念相结合。➢提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。推荐度:Python的常用第三方库

Matplotlib➢通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,

散点图等。Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。➢推荐度:Python的常用第三方库

scikit-learn➢是一个用于

Python编程语言的免费软件机器学习库。其包含了以下子模块:·

分类:SVM、最近邻、随机森林、逻辑回归等·回归:Lasso、岭回归等·

聚类:k-means、谱聚类等·降维:PCA、特征选择、矩阵分解等·模型选择:网格搜索、交叉验证、指标矩阵·

预处理:特征提取、正态化推荐度:Python的常用第三方库scrapy➢Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构

化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。➢Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。推荐度:感谢您的观看!

2.1变量与运算符大数据技术在财务中的应用变量的由来1号2号3号4号1号狗狗年龄为1岁2号狗狗年龄为2岁3号狗狗年龄为3岁4号狗狗年龄为4岁1号狗=1岁2号狗=2岁3号狗=3岁4号狗=4岁t1=1t2=2t3=3t4=4·变量可存储信息,供计算机使用·变量可以重复使用记录狗狗的年龄变量的创建及赋值1号2号3号4号记录狗狗的年龄·变量的创建和赋值是同时进行的t1赋值(贴标签)数字对象变量=1(标签)(狗)变量的特点1号2号3号4号记录狗狗的年龄t1=1t2=2t3=3t4=4第1年t1=2t2=3t3=4t4=5第2年第3年t1=3t2=4t3=5t4=6·在程序中,可以随时修改变量的值·Python始终记录变量的最新值变量的特点1号2号3号4号记录狗狗的年龄第3年t1=4t2=5t3=6t4=7·每个变量存储了一个与变量相关联的值·变量可以指定不同的数据类型第4年t1=5t2=1t3=6t4=7t5=8变量命名的规范·变量名只能包含:数字、字母、下划线(_)·变量名不能以数字开头·

变量名大小写敏感·避免变量名与关键字重复Python关键字表andasassertbreakClasscontinuedefdelelifelseexceptfinallyforformFalseglobalifimportinislambdanonlocalnotNoneorpassraisereturnTryTruewhilewithyield表达式与运算符运算符描述实例+两个数相加,或是字符串连接2+3返回5-两个数相减5-3返回2*两个数相乘或是返回一个被重复若干次的字符串2*3返回6/x除以y,结果为浮点数9/3返回3.0%返回除法的余数5%2返回1**返回x的y次幂2**3返回8//两个数相除,结果为向下取整的整数5//2返回2算术运算符表达式与运算符运算符描述实例==比较对象是否相等(1==2)返回False。!=比较两个对象是否不相等(1!=2)返回True。>大小比较,例如x比y大,返回True,否则返回False(1>2)返回False。<大小比较,例如x比y小,返回True,否则返回False(1<2)返回True。>=大小比较,包含等于的情况(1>=2)返回False。<=大小比较,包含等于的情况(2<=2)返回True。比较运算符表达式与运算符运算符描述实例=常规赋值运算符a=1,b=2+=加法赋值运算符a+=b-=减法赋值运算符a-=b*=乘法赋值运算符a*=b/=除法赋值运算符a/=b%=取模赋值运算符a%=b**=幂赋值运算符a**=b//=取整除赋值运算符a//=b赋值运算符表达式与运算符运算符描述and逻辑“与”运算符,具体运算规则如下:TrueandTrue=True;TrueandFalse=False;FalseandTrue=False;FalseandFalse=False。or逻辑“或”运算符,具体运算规则如下:TrueorTrue=True;TrueorFalse=True;FalseorTrue=True;FalseorFalse=False。not逻辑“非”运算符,具体运算规则如下:notTrue=False;notFalse=True。逻辑运算符表达式与运算符运算符说明Python运算符优先级结合性优先级顺序小括号()19无高︿||||||||||||||||||||||低索引运算符x[i]或x[i1:i2[:i3]]18左属性访问x.attribute17左乘方**16右按位取反~15右符号运算符+(正号)、-(负号)14右乘除*、/、//、%13左加减+、-12左位移>>、<<11左按位与&10右按位异或^9左按位或|8左比较运算符==、!=、>、>=、<、<=7左is运算符is、isnot6左in运算符in、notin5左逻辑非not4右逻辑与and3左逻辑或or2左逗号运算符exp1,exp21左运算符优先级规则感谢您的观看!

2.2输入输出与注释大数据技术在财务中的应用什么是输出·输出函数:print,翻译成中文是“打印”·在Python中使用的形式是:print(),它的功能是“打印到屏幕”,即把括号里的内容显示到电脑屏幕上。>>>print(1)1>>>print("a,b")a,b>>>print("这是我的第一个编程")这是我的第一个编程注意的是,输入的内容如果是数字,可以直接输入;如果是字母及其组成的字母组合,则要加上单引号或者双引号!否则会报错。什么是输入·输入函数:input·在Python中使用的形式是:input(),使用方法可以直接调用input(),把用户输入的内容赋值给一个变量,input()函数括号里可以显示提示用户输入的内容,比如,用户的用户名是什么,然后将用户名赋值给变量name.>>>name=input("请输入您的姓名:")请输入您的姓名:注意的是,提示内容应使用字符串形式(后面会讲),使用半角英文状态下的双引号将提示内容引起来。Python中的输入输出

打开jupyternotebook;单击右上角的“New”选中“Python3”,接着就会出现一个编辑界面,是我们新建的python笔记编辑器,在这里我们可以进行python代码脚本的编写。

在编辑界面点击jupyter图标旁边的“Untitled”可对文件进行重命名。

在编辑界面输入代码后按菜单栏中的Run(运行)即可运行代码,或者选中有代码的单元格后使用快捷键shift+enter运行代码。Ctrl+s可将源代码文件保存。我们可以在程序中加入一些自己的说明,描述这个程序的功能和运行方式。这些说明不会在计算机中执行,只是为了帮助我们自己或者他人阅读代码,明白代码的用途。注释单行注释在任意代码行之前加上井号(#)标识,就可以把该行变成注释行,井号后面的内容都会被计算机忽略掉。#这是Python中的单行注释多行注释有时候可能需要用多行文本进行注释。要使用多行注释,就要在每个代码行之前都加上#字符。#这是Python中的多行注释#这是Python中的多行注释#这是Python中的多行注释多行注释Python中还有种做法相当于创建多行注释,即将注释用三个引号一前一后包起来,相当于创建一个未命名的三重引号字符串。”””这是Python中的多行注释,它使用了三重引号字符串不过,它并不是真正意义上的注释,只是起到了注释的作用。”””将刚才编写的input函数和print函数添加单行注释进行解释说明试着编写注释练一练感谢您的观看!

2.3.1基本数据类型大数据技术在财务中的应用Python常见的数据类型数据类型符号标识举例整数int1,-3浮点数float3.0,1e12,1E12字符string“HelloWorld!”布尔booleanTrue,False日期datetime2022-10-05

数值类型【例2-5】1.整数类型:整数类型包含正整数、0和负整数,取值范围是无限的。2.浮点数类型:浮点数类型通常用于表示实数,包含整数和小数两个部分,有十进制和科学计数法两种表现形式,与其他计算机语言中的双精度和单精度类型对应。数值类型举例。基本数据类型行号程序代码1In[1]:x=-7777777777777777772

print(type(x))3Out[1]:<class'int'>4In[2]:y=9999999999999999995

print(type(y))6Out[2]:<class'int'>2.1数值类型【例2-5】数值类型举例。2基本数据类型行号程序代码7In[3]:x=2e48

print(x)9Out[3]:20000.010In[4]:print(type(x))11Out[4]:<class'float'>12In[5]:y=3.0913

print(type(y))14Out[5]:<class'float'>字符串通俗地讲,就是我们熟悉的文本类型,可以理解为单词、短语或者句子。在Python中,str表示字符串类型,字符串是以英文单引号(‘)或英文双引号(“)括起来的任意文本。字符串如何定义?使用英文引号(或’‘或”“或”””“””)来创建字符串。引号内为字符串内容。不含任何字符内容的字符串,如”(一对英文单引号),"”(一对英文双引号),称为空字符串。单引号、双引号、三引号有什么区别?1、单引号、双引号作用相同,可避免字符串内出现相同的引号。2、三引号可以定义多行字符串,还可定义包含单引号、双引号的字符串行号程序代码1In[1]:x=u'Thispythonscriptisdesignedforaccounting.'2

print(type(x))3Out[1]:<class'str'>4In[2]:x="Thisisapythonstring."5

print(type(x))6Out[2]:<class'str'>7In[3]:x='''8

Thispythonscriptisdesignedforaccounting.9

I'mapythonlearner!10

'''11

print(type(x))12Out[3]:<class'str'>13In[4]:x="I'mapythonlearner!"14

print(x)15Out[4]:I'mapythonlearner!16In[5]:x=r"I'm\tapython\nlearner!"17

print(x)18Out[5]:I'm\tapython\nlearner!2.2字符串类型转义字符举例转义字符功能\\反斜杠(\)\'单引号(')\"双引号(")\aASCII响铃符(BEL)\bASCII退格符(BS)\fASCII进纸符(FF)\nACCII换行符(FL)\rASCII回车符(CR)\tASCII水平制表符(CR)\vASCII垂直制表符(VT)\ooo值为八进制值ooo的字符\xhh值为十六进制值hh字符2.2字符串类型2..字符串访问2基本数据类型操作符描述实例[]通过索引访问字符串中的字符a=“accounting”a[1]=‘c’[:]截取字符串中的一部分进行切片访问a=“accounting”a[1:4]=‘cco’+字符串连接操作a=“accounting”,b=“is”a+b=“accountingis”*字符串重复操作a=“accounting”a*2=“accountingaccounting”len(str)返回字符串长度a=“accounting”len(str)的返回值为10max(str)返回字符串中最大的字母a=“accounting”max(str)的返回值为’u’min(str)返回字符串中最小的字母a=“accounting”min(a)的返回值为’a’字符串常用操作举例下表以字符串“Python”为例设置索引。基于索引可以直接访问字符串中的任意单个元素,如L="PYTHON",L[1]="Y",L[-4]="T"。2.2字符串类型2..字符串访问2基本数据类型自左至右索引012345字符串PYTHON自右至左索引-6-5-4-3-2-1行号程序代码1In[1]:x='Thispythonscriptisdesignedforaccounting.'2

length=len(x)3

print(length)4Out[1]:465In[2]:print(x[10])6Out[2]:n7In[3]:print(x[:11])8Out[3]:Thispython9In[4]:print(x[:11:3])10Out[4]:Tsyo11In[5]:print(x[2::2])12Out[5]:iyhnsrpsdsgeoconig13In[6]:print(x[5:-1])14Out[6]:pythonscriptisdesignedforaccounting15In[7]:print(x[-1:6:-1])16Out[7]:.gnitnuoccarofdengisedsitpircsnoht2.2字符串类型2基本数据类型3.字符串格式化【例2-9】行号程序代码1In[1]:x="{}科目余额是{}元!".format('应收账款','800.2')2

print(x)3Out[1]:应收账款科目余额是800.2元!4In[2]:x="{1}科目余额是:{0}元!".format('800.2','应收账款')5

print(x)6Out[2]:应收账款科目余额是:800.2元!7In[3]:x="{account}科目余额是{amount:.1f}元!".format(account='应收账8

款',amount=800.255)9

print(x)10Out[3]:应收账款科目余额是800.3元!字符串的格式化访问。参考代码如下布尔类型是整数类型的子类,它只有两个值:True和False,True用来表示真,False表示假。我们一般用bool表示布尔类型。请注意True和False大小写行号程序代码1In[1]:x=False+12

print(x)3Out[1]:14In[2]:x=True5

print(x)6Out[2]:True7In[3]:x=True+18

print(x)9Out[3]:2在银行承兑汇票贴现时,通常要计算银行发放贴现款日到票据到期日之间的自然日天数,如果两个日期相差大,以人工方式一天一天计数很麻烦也容易输错,每月天数还得考虑31天、30天或者闰年、平年的区别。Python语言中内置了一个datetime的时间模块,可以更加方便的进行计算。2.3其他类型2基本数据类型【例2-13】4.时间与日期类型银行承兑汇票贴现时,计算票据到期日和承兑日之间的天数,假设到期日为:“2023-11-30”,发放贴现款日为:“2022-10-5”。参考代码如下。行号程序代码1In[1]:importdatetime2

到期日=datetime.date(2023,11,30)3

发放贴现款日=datetime.date(2022,10,5)4

print("银行发放贴现款日到票据到期日之间的自然日天数:%s天"%(到期日5

-发放贴现款日).days)6Out[1]:银行发放贴现款日到票据到期日之间的自然日天数:421天

【例2-14】时间与日期类型格式化转换。参考代码如下。行号程序代码1In[1]:fromdatetimeimportdatetime2

now=datetime.now()3

print(now.timetuple())4Out[1]:time.struct_time(tm_year=2022,tm_mon=3,tm_mday=1,tm_hour=17,5

tm_min=2,tm_sec=33,tm_wday=1,tm_yday=60,tm_isdst=-1)6In[2]:now_str=now.strftime('%Y-%m-%d%H:%M:%S.%f')7

print(now_str)8Out[2]:2022-03-0117:04:41.0940099In[3]:print(datetime.strptime(now_str,'%Y-%m-%d%H:%M:%S.%f'))10Out[3]:2022-03-0117:04:41.0940092.3其他类型2基本数据类型数据类型转换函数名作用注意事项举例str()将其他数据类型转换成字符串也可用引号“”转换str(12)“12”int()将其他数据类型转换成整数1.文字类和小数类字符串无法转换成整数2.浮点数转化成整数时,抹零取整int(‘12’)int(1.8)float()将其他数据类型转换成浮点数1.文字类字符串无法转换成浮点数2.整数转换成浮点数时,末尾为.0float(‘1.9’)float(10)2基本数据类型2.4数据类型转换【例2-15】数据类型转换。参考代码如下。行号 程序代码1 In[1]: print(int(1.33))2 Out[1]: 13 In[2]: print(float("abc"))4 Out[2]: ValueError:couldnotconvertstringtofloat:'abc'5 In[3]: print(1+1.4)6 Out[3]: 2.47 In[4]: print(6+True)8 Out[4]: 7感谢您的观看!

2.3.2高级数据类型-列表元组大数据技术在财务中的应用列表的创建在Python中,列表(list)是一种有序的存储结构,它可以存放任意类型的元素,包括数字、字符串、对象,甚至是其他列表。列表使用中括号[

]来表示从哪里开始,到哪里结束,元素之间用逗号分隔。创建列表list1

=

['重庆','成都','西安',2021,True]列表名以逗号相隔元素中括号练一练流动资产创建列表包含所列内容速动资产

长期资产列表元素的添加添加单个元素append()添加多个元素extend()插入元素insert()添加单个元素运行结果:list1=[]list1.append('财务分析')print(list1)['财务分析']添加单个元素list1.append(‘财务分析’)列表名称函数固定符号元素添加多个元素运行结果:list2=['流动比率']list2.extend(['速动比率','现金比率'])print(list2)['流动比率','速动比率','现金比率']添加多个元素list2

.

extend(['速动比率','现金比率'])列表名称函数固定符号元素中括号插入元素运行结果:list3=['毛利率','营业净利率','成本费用利润率']list3.insert(1,'营业利润率')print(list3)['毛利率','营业利润率','营业净利率','成本费用利润率']插入元素list3.insert(1,'营业利润率')列表名称函数固定符号元素要插入元素的索引位置练一练a=[1,2,5,7,9]试着在列表a中添加元素列表元素的获取每股收益每股净资产市盈率市净率0123反向索引正向索引-4-3-1-2列表list4获取单个元素运行结果:list4=['每股收益','每股净资产','市盈率','市净率']print(list4[0])print(list4[3])每股收益市净率获取多个元素运行结果:list4=['每股收益','每股净资产','市盈率','市净率']print(list4[1:3])['每股净资产','市盈率']获取多个元素每股收益每股净资产市盈率市净率0123-4-3-1-2列表切片list4[1:3]列表元素的修改应收账款周转率存货周转率流动资产周转率总资产周转率0123固定资产周转率我们使用索引可以获取列表元素,我们也可以使用索引修改列表中的某个元素。list5修改单个元素运行结果:list5=['应收账款周转率','存货周转率','流动资产周转率','总资产周转率']list5[3]='固定资产周转率'print(list5)['应收账款周转率','存货周转率','流动资产周转率','固定资产周转率']修改单个元素list5[3]

=

'固定资产周转率'列表名称待修改元素的索引位置修改后元素修改多个元素运行结果:list5=['应收账款周转率','存货周转率','流动资产周转率','总资产周转率']list5[1:3]=['销售增长率','净利润增长率']print(list5)['应收账款周转率','销售增长率','净利润增长率','总资产周转率']练一练a=[1,2,5,7,9]试着修改列表a中元素列表元素的删除用del删除元素已知要删除元素的索引用remove()删除元素已知要删除的元素用pop()删除元素删除列表最后一个元素用remove()删除元素运行结果:list6=['销售增长率','净利润增长率','总资产增长率','资本积累率']list6.remove('资本积累率')print(list6)['销售增长率','净利润增长率','总资产增长率']用remove()删除元素list6.remove('资本积累率')列表名称函数要删除的元素用del删除元素运行结果:list6=['销售增长率','净利润增长率','总资产增长率','资本积累率']dellist6[2]print(list6)['销售增长率','净利润增长率','资本积累率']用del删除元素del

list6[2]列表名称函数待删除元素的索引空格用pop()删除元素运行结果:list6=['销售增长率','净利润增长率','总资产增长率','资本积累率']lst=list6.pop()print(list6)print(lst)['销售增长率','净利润增长率','总资产增长率']资本积累率练一练a=[1,2,5,7,9]试着删除列表a中元素列表常用内置函数方法描述len(list)列表元素个数max(list)获取列表中最大值min(list)获取列表中最小值list.sort()列表排序,默认升序排列,令参数reverse=True时降序排列list.count(obj)统计某个元素在列表中出现的次数list.index(obj)从列表中找出某个值第一个匹配项的索引位置list.reverse()反转列表list.clear()列表清空list.copy()列表复制列表常用内置函数运行结果:list7=['7800','3400','5688','8900']list7.sort()print(list7)['3400','5688','7800','8900']列表常用内置函数运行结果:list7=[7800,3400,5688,8900]print('列表最大值是:',max(list7))print('列表最小值是:',min(list7))列表最大值是:8900列表最小值是:34003组合数据类型3.2元组(Tuple)1.创建TupleTuple的访问方式与List类似,也是通过索引和切片的形式进行。例如tup1[0]=CPA,tup1[1:4]=('CFA','ACCA','CMA'),tup1[2:4]=('ACCA','CMA'),tup1[-2]=ACCA。注意到元组的切片操作也遵循左闭右开的原则。

元组可以由小括号()括起来,内部元素由逗号隔开,且不能被修改、添加或删除,但是可以被访问,例如:tup1=('CPA','CFA','ACCA','CMA')。元组创建时也可以将小括号去掉,即tup1='CPA','CFA','ACCA','CMA'。元组只包含一个元素时,需要在元素后面加逗号',',即tup1=('CPA',),否则括号会被当做运算符使用。

2.访问Tuple的元素Tuple是一种一维的、定长的、不可变、有序的Python对象序列,元组与列表类似,不同之处在于元组的元素不能修改。所谓元组的不可变指的是元组所指向的内存中的内容不可变。但是可以通过+或者*等运算符参数形成新的元组。例如输入('CPA','CMA')+('CFA','ACCA')),可得到新元组('CPA','CMA','CFA','ACCA')。3.元组的不可变性感谢您的观看!

2.3.3高级数据类型-字典大数据技术在财务中的应用字典的定义Python中的字典(dict)和列表一样,也是用来存储一系列数据的,不同的是字典用于存放具有对应关系的数据。字典的定义字典的每一项数据都由键(key)和值(value)一一对应的两部分组成。字典的每对数据项的键与对应的值之间用冒号“:”分隔,而每对数据项之间用逗号“,”分隔,整个字典包含在大括号“{}”中。d

={'key1':'value1','key2':'value2'}键值对字典名键值冒号间隔逗号间隔大括号创建字典运行结果:price={'格力电器':46.16,'中天科技':10.12,'民生银行':6.42}print(price){'格力电器':46.16,'中天科技':10.12,'民生银行':6.42}创建字典通过字典的定义我们了解到可以用大括号直接创建字典,我们也可以用dict()函数创建字典。dict(key1=value1,key2=value2,...)函数名关键字值创建字典运行结果:dict1=dict(year=2021,income=13775035,rate=0.71)print(dict1){'year':2021,'income':13775035,'rate':0.71}练一练库存现金240银行存款1300应收账款3450试着创建字典Python中字典的访问方法同列表一样,访问字典中的值也要用中括号[]。不同的是列表中的元素具有顺序性,访问是通过每项元素的索引,而字典的每一项都是无序的,访问则是通过键(key)。字典中元素的获取运行结果:dict2={'资产总额':18236,'负债总额':12744,'股东总额':5492}print(dict2['负债总额'])12744字典中元素的获取除了可以使用中括号访问字典的值,还可以使用get()函数,get()函数的作用是通过键访问对应的值。其语法结构为:字典中元素的获取运行结果:dict2={'资产总额':18236,'负债总额':12744,'股东总额':5492}print(dict2.get('资产总额'))print(dict2.get('货币资金'))18236None字典中元素的修改运行结果:dict3={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}dict3['速动比率']=0.78print(dict3){'流动比率':0.95,'速动比率':0.78,'现金比率':0.46}练一练a={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}试着获取字典a中的元素字典元素的添加与列表不同的是,字典并没有像列表一样可以添加单一元素的方法,但是我们可以通过这种方式进行添加:d[‘key1’]=value要添加键值对的字典要添加的键要添加的值添加单个元素运行结果:dict3={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}dict3['经营活动净现金比率']=0.21print(dict3){'流动比率':0.95,'速动比率':0.8,'现金比率':0.46,'经营活动净现金比率':0.21}添加多个元素运行结果:dict4={'资产负债率':0.6913,'产权比率':2.24}dict5={'利息偿付倍数':8.57,'有形净值债务率':2.63}dict4.update(dict5)print(dict4){'资产负债率':0.6913,'产权比率':2.24,'利息偿付倍数':8.57,'有形净值债务率':2.63}练一练a={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}试着在字典a中添加元素字典元素的删除用pop()删除元素删除字典给定键key所对应的值用del删除元素删除单一的元素也能删除整个字典用clear()删除元素删除字典中所有的元素用pop()删除元素运行结果:dict5={'资产负债率':0.6913,'产权比率':2.24,'利息偿付倍数':8.57,'有形净值债务率':2.63}dict5.pop('资产负债率')print(dict5){'产权比率':2.24,'利息偿付倍数':8.57,'有形净值债务率':2.63}用del删除元素运行结果:dict5={'资产负债率':0.6913,'产权比率':2.24,'利息偿付倍数':8.57,'有形净值债务率':2.63}deldict5['产权比率']print(dict5){'资产负债率':0.6913,'利息偿付倍数':8.57,'有形净值债务率':2.63}用clear()删除元素运行结果:dict5={'资产负债率':0.6913,'产权比率':2.24,'利息偿付倍数':8.57,'有形净值债务率':2.63}dict5.clear()print(dict5){}练一练a={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}试着删除字典a中的元素提示:Dict使用时注意的事项。(1)Dict是不允许一个键创建两次的,但是在创建Dict的时候如果出现了一个键值赋予了两次,会以最后一次赋予的值为准。(2)Dict的键必须不可变,即应当采用不可变类型创建如Bool、Int、Float、Complex、Str、Tuple等类型数值充当,但是就是不能使用List等可变类型。(3)Dict内部存放的顺序和各键放入的顺序没有任何关系。(4)和List比较,Dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。(5)与List类似,常用的Dict函数如下表所示。字典内置函数方法描述len(dict)计算字典元素个数str(dict)输出字典,以可打印的字符串表示type(variable)返回输入的变量类型,如果变量是字典就返回字典类型dict.copy()复制字典dict.keys()以列表返回字典中所有的键dict.values()以列表返回字典中所有的值字典内置函数运行结果:dict6={'营业毛利率':0.72,'营业利润率':0.44,'营业净利率':0.33,'成本费用利润率':0.79}print(len(dict6))print(dict6.copy())print(min(dict6.values()))4{'营业毛利率':0.72,'营业利润率':0.44,'营业净利率':0.33,'成本费用利润率':0.79}0.33练一练a={'流动比率':0.95,'速动比率':0.8,'现金比率':0.46}试着对字典a运用内置函数感谢您的观看!

3.1条件分支语句大数据技术在财务中的应用分支语句Python中分支语句主要有3种形式,分别为单分支语句、双分支语句和多分支语句。(a)单分支结构流程图(b)双分支结构流程图(c)多分支结构流程图单分支语句if

condition:dosomething缩进关键字条件表达式冒号条件执行体单分支语句执行流程单分支语句根据现金管理制度,企业每日留存的库存现金是有限额的。如果库存现金超过限额,需要把超出限额部分于当日终了前交存开户银行。假设某企业的库存现金限额是3000元,出纳当日盘点的现金总额为2780元。单分支语句#某企业现金管理制度规定每天得库存现金限额不超过3000元,出纳当日盘点的现金总额为2780元#请判断当日库存现金是否超出限额limit=3000#库存现金限额amount=2780#出纳盘点金额ifamount<=limit:#比较库存现金限额与出纳盘点金额print('库存现金未超出限额,无需交存银行')运行结果:库存现金未超出限额,无需交存银行练一练当amount=3780,运行结果是什么?做出你的判断双分支语句if

condition:dosomething缩进关键字条件表达式冒号条件执行体else

dosomething缩进双分支语句执行流程双分支语句根据现金管理制度,企业每日留存的库存现金是有限额的。如果库存现金超过限额,需要把超出限额部分于当日终了前交存开户银行。假设某企业的库存现金限额是3000元,出纳当日盘点的现金总额为6000元。双分支语句#某企业现金管理制度规定每天的库存现金限额不超过3000元,出纳当日盘点的现金总额为6000元#请判断当日库存现金是否超出限额limit=3000#库存现金限额amount=6000#出纳盘点金额ifamount<=limit:#比较库存现金限额与出纳盘点金额print('库存现金未超出限额,无需交存银行')else:excess=amount-limit#计算超出限额的金额print('库存现金超出限额,超出部分金额%d元交存银行'%excess)运行结果:库存现金超出限额,超出部分金额3000元交存银行练一练当amount=2780,运行结果是什么?做出你的判断多分支语句if

condition:dosomething缩进关键字条件表达式冒号条件执行体elif

condition:dosomething缩进else

dosomething缩进多分支语句执行流程多分支语句甲公司为促进A产品销售采用商业折扣的方式进行销售,具体折扣条件如下:①如果购买数量小于100件,没有折扣;②如果购买数量大于等于100件且小于300件时,享受5%的折扣;③如果购买数量大于等于300件且小于500件时,享受8%的折扣;④如果购买数量大于等于500件时,享受10%的折扣。如果产品的单价为10元/件。2021年5月21日,客户乙购买A产品380件,则甲公司应确认多少销售收入?多分支语句amount=380#购买数量price=10#商品单价discount1=0.05#100件<=购买数量<300件享受的折扣discount2=0.08#300件<=购买数量<500件享受的折扣discount3=0.1#购买数量>=500件享受的折扣ifamount<100:#判断产品数量是否小于100revenue=amount*price#计算产品收入elif100<=amount<300:#判断产品数量是否大于等于100,小于300revenue=amount*price*(1-discount1)#计算满足折扣5%的收入elif300<=amount<500:revenue=amount*price*(1-discount2)else:revenue=amount*price*(1-discount3)print('公司应确认销售收入%.2f元'%revenue)#输出公司应确认销售收入金额公司应确认销售收入3496.00元运行结果:练一练上述示例省略掉else语句又该怎么执行呢?试着操作一下if嵌套语句是指在已有if语句块中插入另一个if语句块,实现条件的嵌套判断,if语句块可以多层嵌套。if语句嵌套的语法格式,除了缩进之外和之前的没有区别。if嵌套语句if嵌套语句if

condition:if

condition:缩进dosomething缩进else

dosomething缩进else

dosomething缩进内层选择结构外层选择结构if嵌套语句if嵌套语句执行流程if嵌套语句甲公司在选择A材料的供应商时主要从质量(quality)、价格(price)、到货周期(date)三个方面进行考察。三个方面都满足要求的供应商才是合格供应商,合格标准如下表所示。指标A材料质量检测得分(分)单价(元/kg)到货周期(天)标准>95≤15.00≤5已知M供应商提供的A材料报价12.00元/kg,采购到货周期为5.5天,其所提供的A材料样本经检测质量得分为99.55分。请判断M供应商是否是合格供应商。if嵌套语句quality=99.55#A材料质量评分price=12.00#A材料价格date=5.5#A材料到货周期ifquality>95.00:#判断A材料质量评分是否大于95.00print('A材料质量符合要求')ifprice<=15.00:#判断符合质量评分的A材料价格是否小于等于15print('A材料价格符合要求')ifdate<=5:#判断质量和价格都符合的A材料到货周期是否小于等于5print('该供应商是合格供应商')else:print('A材料到货周期不符合要求')else:print('A材料价格不符合要求')else:print('A材料质量不符合要求')if嵌套语句运行结果:A材料质量符合要求A材料价格符合要求A材料到货周期不符合要求练一练当price=16.00,运行结果是什么?做出你的判断感谢您的观看!

3.2循环语句大数据技术在财务中的应用for循环语句for循环是一个计数循环,一般应用在循环次数已知的情况下。通常适用于枚举或遍历序列,以及迭代对象中的元素。for循环语句for

iinobject:dosomething缩进关键字迭代变量冒号循环体关键字序列对象for循环语句foriin[1,2,3,4,5]:print('hello')运行示例:hellohellohellohellohellorange()函数前面的例子只循环了5次,如果想循环运行100次,该怎么做呢?是否需要键入很多很多数字呢?这个时候,我们就可以用到一个内置函数—range()函数。我们只需要在range()函数后面的括号中填入数字,就可以得到一个具有连续整数的序列。range()函数range(3:

6:1)函数计数结束(不含该数)计数开始步长range()函数foriinrange(1,5):print(i,'*5=',i*5)运行结果:1*5=52*5=103*5=154*5=20遍历字符串在前面所有的示例中,循环变量都是一个数字。用编程术语来讲就是:循环在一个数字列表上进行迭代。但是这个列表不一定必须是数字列表,它也可以是字符列表(字符串),还可以是字符串列表,或者是其他列表。遍历字符串foriin'finance':print(i)运行结果:finance练一练foriinrange(1,5,2):print(i)试着操作一下while循环语句while循环不会计算需要执行多少次循环,而会通过判断来确定什么时候停止循环。因此,while循环也称为条件循环。在某个条件满足时,while循环会一直执行下去。while循环语句while

conditiondosomething缩进关键字条件表达式冒号条件执行体(代码块):初始化变量进行条件判断执行条件执行体改变变量while循环语句执行流程while循环语句示例:i=0whilei<5:print('i的值是:',i)i+=1运行示例:i的值是:0i的值是:1i的值是:2i的值是:3i的值是:4练一练上述示例,令i+=2,执行结果为?动手操作一下嵌套循环语句循环嵌套就是在一个循环中又包含另外一个完整的循环,即循环体中又包含循环语句。怎么理解呢?拿我们生活中的例子举例来说,比如我们平时看到的钟表,秒针旋转一周,分针动一格,分针旋转一周,时针动一格,一直这样循环往复。嵌套循环语句for

i

in

range(0,60):for

j

in

range(1,61):Print(‘现在的分针数是:’,i,’秒针数是:’,j)Print(‘现在的分针数是:’,i+1)内循环体外循环体嵌套循环语句嵌套循环语句执行流程嵌套循环语句#分针和秒针foriinrange(0,60):#分针数取数范围forjinrange(1,61):#秒针数取数范围print('现在的分针数是:',i,'秒数是:',j)print('现在的分针数是:',i+1)运行结果:现在的分针数是:1秒数是:1现在的分针数是:1秒数是:2现在的分针数是:1秒数是:3现在的分针数是:1秒数是:4...现在的分针数是:59秒数是:58现在的分针数是:59秒数是:59现在的分针数是:59秒数是:60现在的分针数是:60练一练上述示例,试着将外层循环的范围改为0-10,,执行结果为?动手操作一下跳转语句有时候,我们可能想要提前结束循环,比如使for循环中断计数,或者使while循环停止判断条件。要提前结束循环,可以采用两种方法:用contiune语句直接跳到循环的下一次迭代,或者用break语句彻底终止循环。continue语句continue语句执行流程如果想停止当前的迭代循环,提前跳到下一次迭代循环,那么可以使用continue语句。continue语句foriinrange(0,60):forjinrange(1,61):ifj==30:continueprint('现在的分针数是:',i,'秒数是:',j)print('现在的分针数是:',i+1)运行结果:...现在的分针数是:1秒数是:26现在的分针数是:1秒数是:27现在的分针数是:1秒数是:28现在的分针数是:1秒数是:29现在的分针数是:1秒数是:31现在的分针数是:1秒数是:32现在的分针数是:1秒数是:33...break语句break语句执行流程如果想彻底跳出循环,不再完成循环计数,或者不再判断循环条件。break语句foriinrange(0,60):forjinrange(1,61):ifj==30:breakprint('现在的分针数是:',i,'秒数是:',j)print('现在的分针数是:',i+1)...现在的分针数是:1秒数是:25现在的分针数是:1秒数是:26现在的分针数是:1秒数是:27现在的分针数是:1秒数是:28现在的分针数是:1秒数是:29现在的分针数是:2现在的分针数是:2秒数是:1现在的分针数是:2秒数是:2现在的分针数是:2秒数是:3...运行结果:练一练上述示例中,将if语句改为:ifj==40,执行结果为?试着操作一下感谢您的观看!

3.3函数大数据技术在财务中的应用函数在Python中,提供了函数。我们可以把实现某一功能的代码定义为一个函数,然后在需要使用时,随时调用即可,十分方便。对于函数,简单地理解就是可以完成某项工作的代码块,有点类似积木块,可以反复地使用。

功能

模块输入数据输出结果Python语言中的函数可以分为内置函数、标准库函数、第三方库函数和用户自定义函数四类。内置函数是编程语言预先定义的函数,大多数编程语言都有自己的内置函数,Python也不例外,内置函数的存在大大提升了编程的效率。与此同时,Python作为一个开源的编程语言,其强大的功能主要依赖于公开的标准库和第三方库。与内置函数的直接使用不同,标准库和第三方库函数使用前均需要通过import语句将相应模块(Module)导入,然后才能使用其中的函数。具体使用方式将在后续“Python模块和包”章节中详细讲述。此外,用户可以根据自身功能需求,定义和调用函数。1Python函数1.2函数的分类内置函数行号程序代码1In[1]:listmon=[4000,8000,10300,7000,21000,5800,3000]2

print("企业2021年向A供应商采购记录中,最大的一笔金额是:3

",max(listmon),"元")4Out[1]:企业2021年向A供应商采购记录中,最大的一笔金额是:21000元5In[2]:print("企业2021年向A供应商采购记录中,最小的一笔金额是:6

",min(listmon),"元")7Out[2]:企业2021年向A供应商采购记录中,最小的一笔金额是:3000元8In[3]:print("企业2021年向A供应商共采购了",len(listmon),"次")9Out[3]:企业2021年向A供应商共采购了7次10In[4]:print("企业2021年向A供应商共采购了",sum(listmon),"元")11Out[4]:企业2021年向A供应商共采购了59100元Python拥有强大的标准库,能够提供的功能范围非常广。这些库可以用于实现系统级功能,如文件I/O,可以实现常用问题的标准化解决方案,如网页信息爬取。常用的标准库函数举例如表所示。1.4标准库函数常用标准库函数举例名称作用应用举例datetime能有效完成日期和时间的处理,以及格式化输出,当前包含的类有date、time、datet

温馨提示

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

评论

0/150

提交评论