Python财务数据分析与应用(微课版)课件 第1-5章 Python与数据分析工具 -Pandas数据分析基础_第1页
Python财务数据分析与应用(微课版)课件 第1-5章 Python与数据分析工具 -Pandas数据分析基础_第2页
Python财务数据分析与应用(微课版)课件 第1-5章 Python与数据分析工具 -Pandas数据分析基础_第3页
Python财务数据分析与应用(微课版)课件 第1-5章 Python与数据分析工具 -Pandas数据分析基础_第4页
Python财务数据分析与应用(微课版)课件 第1-5章 Python与数据分析工具 -Pandas数据分析基础_第5页
已阅读5页,还剩205页未读 继续免费阅读

下载本文档

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

文档简介

整体内容框架Python与数据分析工具1PythonandDataAnalysisTools主讲:甄阜铭知识结构本章学习目标(1)了解数据分析与Python的关系,以及Python的编程规范;(3)掌握JupyterNotebook的使用方法,能熟练使用其编辑菜单和快捷键;(2)了解数据分析工具Anaconda的安装方法,了解其应用环境;财务数据分析财务数据分析与应用目录CONTENTS【财务应用与实践】01020304数据分析工具与Anaconda【财务应用与实践】实例数据分析工具与JupyterNotebookPython概述PartOne01财务数据分析财务数据分析财务数据分析财务数据分析解释型语言编译型语言汇编语言高级语言机器语言概念编程语言是用来控制计算机的一系列指令。汇编语言本质上也是直接对硬件操作,其采用了助记符取代机器指令,较机器语言方便书写和阅读。高级语言是将多条汇编程序语句合并成更简洁的编程语句,更加方便程序员使用。。使用解释器将自身转换成机器语言的高级语言,称为解释型语言。计算机理种非常低级的编程语言,也就是机器语言。机器语言由机器指令集构成,能够直接被机器执行。使用编译器将自身转换成机器语言的高级语言,称为编译型语言

编程语言财务数据分析财务数据分析Python语言Python是一种解释型编程语言。随着大数据和人工智能的兴起,其应用日益广泛。Python主要应用于网站开发、数据分析、人工智能、云计算等技术领域。财务数据分析财务数据分析Python语言Python语言的主要特点:(1)Python易于学习和使用,即便是非软件专业的初学者,也很容易上手;(2)Python跨平台兼容,平台可安装不同的解释器,用户不用担心任何兼容性问题;(3)Python拥有庞大的开发社区和丰富的生态系统,标准库和第三库众多,功能强大,既可以开发小型工具,也可以开发企业级应用;(4)Python应用广泛,适用多个应用领域,例如Web应用程序、科学计算、数据分析、自动化和游戏开发等。数据分析工具AnacondaPartTwo02财务数据分析财务数据分析财务数据分析财务数据分析Anaconda简介Anaconda是一个安装、管理Python相关包的软件。Conda作为其管理的工具,管理Python在内的非常多科学包及其依赖项。Anaconda还自带IPython、JupyterNotebook、Spyder等编辑器。Anaconda具有开源、安装过程简单、高性能使用Python和R语言、免费的社区支持等特点。财务数据分析财务数据分析Anaconda安装访问Anaconda开源网站,或访问清华大学开源镜像网站,下载安装财务数据分析财务数据分析conda命令的核心功能是创建和管理独立的虚拟环境,避免不同项目之间的冲突。常见操作命令主要可以分为以下几种:(1)查看当前环境下的包信息condalist

#使用list命令可以获取当前环境中已经安装的包信息(2)查找包condasearch--full-name

#使用search命令可以查找可供安装的包(3)安装包condainstall

package_name

#在当前环境下安装package_name pipinstallpackage_name#若包文件无法使用condainstall命令进行安装时,则可以使用pip命令进行安装(4)更新包condaupdate–all

#更新当前环境下所有的包condaupdatenumpy

#如果只想更新某个包或某些包,如更新numpy包Anaconda维护——conda命令数据分析工具

JupyterNotebookPartThere03财务数据分析财务数据分析财务数据分析财务数据分析

集成开发环境(IntegratedDevelopmentEnvironment,IDE)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等。较常用的PythonIDE有Sublime、Spyder、Atom、VisualStudioCode、PyCharm、JupyterNotebook等。JupyterNotebook是基于网页的用于交互计算的应用程序。其是以网页的形式打开,直接编写代码和运行代码,且代码的运行结果也会直接在代码块下显示。用户在编程过程中如果需要编写说明,可在同一个页面中直接编写,便于及时说明和解释。JupyterNotebook编辑的文档保存为后缀名为.ipynb的JSON格式文件,便于版本控制和共享。文档还可以导出HTML、LaTeX、PDF、PY等格式。JupyterNotebook介绍财务数据分析财务数据分析JupyterNotebook介绍财务数据分析财务数据分析JupyterNotebook介绍财务数据分析财务数据分析IPython与JupyterNotebook

IPython是一个增强的交互式Pythonshell。IPython本身是一个独立的库,与Jupyter项目一起使用,以提供交互式和基于Web的数据科学环境。

IPython的一些关键功能,这些功能在接下来的学习和实践中会用到。代码补全:输入部分代码,并按Tab键可以自动完成变量、函数和模块(Module)名补全。对象查验:使用?或??运算符(Operator)可以显示有关对象(Object)或模块的信息。“魔法”命令:IPython提供了一系列以%或%%开头的“魔法”命令,用于执行各种任务,如设置绘图后端、执行shell命令、控制循环和计时代码等。丰富的格式输出:IPython可以以更易于阅读的方式显示输出,如表格、HTML和LaTeX等。财务数据分析财务数据分析使用JupyterNotebook编程Python是一种解释型的脚本编程语言,可以交互式执行和源文件执行。(1)交互式执行

在JupyterNotebook中的CodeCell中直接输入代码,并运行代码,立即看到输出结果。所以这种编程方式被称为交互式编程。(2)源文件执行

源文件执行是指将所有代码放在源文件中,让解释器逐行读取并执行源文件中的代码,直到文件末尾,也就是批量执行代码。财务数据分析财务数据分析使用JupyterNotebook编程利用JupyterNotebook编写数据分析的代码,可以在交互式编程环境中输入任何复杂的代码(包括数学计算表达式、逻辑运算表达式、循环语句、函数调用等),通过交互得到运行结果。Python的交互式编程环境相当于一个功能无比强大的“计算器”,并能随时随地记笔记。财务数据分析财务数据分析使用JupyterNotebook编程Python的编程规范被称为PEP8(PythonEnhancementProposal8)。简单规则如下:(1)缩进规则:使用4个空格进行缩进,不建议使用制表符。(2)行长规则:每行代码的长度不应该太长。如果一行代码太长,可以使用括号或反斜线(\)拆分为多行。(3)命名规则:变量名应该使用小写字母,可以使用下画线进行分隔。(4)注释规则:对于复杂的代码,应该添加注释来解释代码的功能和实现。财务数据分析财务数据分析Python的编码规范被称为PEP8(PythonEnhancementProposal)。PEP8中的一些简单规则:(1)缩进:使用4个空格进行缩进,不建议使用制表符,制表符在不同的开发编辑器可能会有不同的解析。(2)行长:每行代码的长度不应该太长。如果一行代码太长,可以使用括号、反斜杠(\)或字符串连接来拆分为多行。(3)命名规则:变量名应该使用小写字母,可以使用下划线进行分隔。这条规则我们在第2章会更详细讲述。(4)注释:对于复杂的代码,应该添加注释来解释代码的功能和实现。注释应该在代码之上,也可在一行代码之后。Python编码规范【Python财务数据分析】

——普通年金现值计算PartPractice04财务数据分析财务数据分析财务数据分析财务数据分析【Python财务数据分析】——普通年金现值计算财务数据分析财务数据分析【Python财务数据分析】——普通年金现值计算(1)打开JupyterNotebook。(2)创建IPYNB格式的Notebook文件。(3)Cell编辑操作。(4)输入Markdown格式的笔记内容。(5)输入Python代码并运行。(6)下载Python模块为TheFirstModule.py。注:以上操作在实验室进行,请参阅教学资源包代码文件。财务数据分析财务数据分析【本章小结】第一,是数据分析的分类和过程,从根本上回答了我们为什么要学习数据分析。第二,数据分析除了要学习数学、统计学等基础理论,同时也要使用“好用”的工具,Anaconda是一个集成了包括Python在内的多种数据分析工具。我们介绍了这一工具包的安装和使用。第三,我们单独介绍了Python程序的编码,在以后的学习中会理解其重要性。最后,我们结合一个财务数据分析实例,初步掌握利用JupyterNotebook进行Python数据分析编程的过程,为进一步学习打下实践基础。THANKS感谢关注财务数据分析财务数据分析Python编程2PythonProgramming主讲:甄阜铭本章学习目标财务数据分析财务数据分析(1)理解Python编程的基础概念和原理;(5)能利用Python基础知识编写简单的财务与会计的应用(4)掌握Python程序流程控制;(2)熟练掌握Python基本数据类型的属性和方法;(3)掌握Python序列和组合数据类型的属性和方法;目录CONTENTSPython标识符和关键字0102030405Python对象与变量Python表达式与解析Python工作原理简述Python数据类型财务数据分析财务数据分析06Python程序流程控制可迭代对象、推导式、生成器0708【Python财务数据分析】Python标识符和关键词PartOne01财务数据分析财务数据分析财务数据分析财务数据分析标识符命名规则特殊的标识符标识符(identifier)是一个名字,用来标识某个实体的一个符号,可以作为变量、函数、类、模块等对象的名称。对象是Python虚拟环境中管理的所有实体,也就是在计算机内存中的所有可识别的“东西”。(1)标识符是由字符、下划线和数字组成,但第一个字符不能是数字;(2)标识符不能与Python中的保留字相同;(3)Python语句中的标识符,不能包含空格、@、%以及$等特殊字符;(4)Python标识符严格区分大小写字母;(5)汉字可以作为Python标识符,但是在程序开发中尽量避免。Python语言中以下划线开头的标识符有特殊含义。只有在特殊的场景下使用下划线开头的标识符,一般应避免使用。

标识符财务数据分析财务数据分析Python包含的关键词注意事项关键词是Python语言中一些已经被赋予特定意义的标识符False、None、True、and、as、assert、async、await、break、class、continue、def、del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、nonlocal、not、or、pass、raise、return、try、while、with、yield。开发中如果使用Python中的关键词作为标识符,解释器会报“SyntaxError:invalidsyntax”错误。

关键词(保留字)Python对象与变量PartTwo02财务数据分析财务数据分析对象财务数据分析财务数据分析Python中,所有的实体都是对象。Python中,一个对象具有3个要素:标识(identity)、类型(type)、值(value)演示示例代码对象财务数据分析财务数据分析演示示例代码典型的Python对象财务数据分析财务数据分析演示示例代码变量财务数据分析财务数据分析变量赋值的Python解析演示示例代码1.变量的命名2.变量的赋值变量财务数据分析财务数据分析演示示例代码变量财务数据分析财务数据分析变量赋值的Python解析演示示例代码Python表达式与解析PartThere03财务数据分析财务数据分析财务数据分析财务数据分析表达式其语法规则(4)如果操作符后边有操作数,前边没有,操作符为单目运算符,如负数、取反等;(2)变量是对象的引用,在表达式中代表对象的值属性;(5)运算符和操作数的组合必须符合语法,并且有意义,否则会返回错误。(3)操作符前后均有操作数,此类操作符是双目运算符,例如加法、减法、取模等;(1)操作数可以是值、变量、或其他标识符等;Python语句是由解释器负责执行,语句中的表达式被解析“计算”,而得到一个值。表达式(expression)是运算符和操作数进行有意义排列所得的组合。演示示例代码财务数据分析财务数据分析运算符常见的运算符位运算符符号&,|,^,~分别表示与,或,异或,取反成员运算符

in

notin逻辑运算符andornot身份运算符

is和isnot比较运算符==,!=,>,<,>=,<=算数运算符+,-,*,/,%,**,//运算符(operator)用于执行程序代码运算,会针对一个以上操作数来进行运算。演示示例代码财务数据分析财务数据分析用表达式赋值表达式解析一般表达式可以写在赋值语句=的右边,表示一个对象被某一个变量引用。eval()属于

Python

的内置函数,可以执行一个字符串形式的Python代码,相当于一个Python的解释器。

表达式解析三目表达式Python中三目运算符的表示方法,语法格式:exp1ifconditionelseexp2表达式运算符优先级表达式中存在优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值是按从右往左的顺序)的原则。函数调用、寻址、下标(这部分内容后续会讨论)优先级最高,其他运算与我们所学的数学运算大致相同。Python工作原理简述PartFour04财务数据分析财务数据分析财务数据分析财务数据分析Python解释器

Python解释器负责将Python代码转换为计算机可以执行的指令,是程序运行的环境。Python解释器有很多种,常用的有CPython、IPython等。其中,CPython是使用最广泛的Python解释器之一,它是用C语言开发的,具有速度快、功能丰富、兼容性好的特点。我们在第1章介绍过IPython,其是基于CPython的一个交互式解释器。财务数据分析财务数据分析Python工作原理1.解析Python解析的主要步骤如下。•词法分析(LexicalAnalysis)•语法分析(SyntaxAnalysis)•语义分析(SemanticAnalysis)2.

编译编译器将其编译成字节码文件(PYC文件)或直接编译成机器码文件一旦代码被编译成字节码或机器码文件,Python虚拟机可以将其加载到内存中并执行3.

执行Python的数据类型PartFIVE05财务数据分析财务数据分析财务数据分析财务数据分析整数空值空值(类型为NoneType)是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

简单数据类型浮点数布尔值简单数据类型财务数据分析财务数据分析字符串1)字符串表示Python中的字符串是引号括起来的任意文本,引号可以是单引号''、双引号""、三引号’’’

’’’或""""""。2)字符串拼接财务数据分析财务数据分析字符串3)str和repr函数可使用str()或repr()函数将数值转换成字符串4)转义字符转义字符含义转义字符含义\b退格符\t制表符\n换行符\"双引号\r回车符\'单引号财务数据分析财务数据分析字符串5)原始字符串原始字符串不会把反斜线当成特殊字符6)字节串字节(bytes)以二进制格式序列来记录数据(1)字符串内容全是ASCII字符时,可直接在字符串前加字母b来构建字节串值;(2)调用bytes()函数将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集;(3)调用字符串本身的encode()方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集,示例代码如下。财务数据分析财务数据分析字符串GB2312等与UTF-8的关系财务数据分析财务数据分析字符串7)字符串格式化(1)%占位符格式化字符串使用“%”作为转换说明符(ConversionSpecifier),其作用是一个占位符(2)format()方法格式化字符串的另一种方式是使用字符串的format()方法,可以用依次传入的参数替换字符串内的占位符{0},{1},……(3)f-string

使用以字母f开头的字符串对字符串格式化输出,我们称之为f-string。财务数据分析财务数据分析字符串8)split()和join()方法财务数据分析财务数据分析列表1)结构列表(list)是放在一对中括号[]内的对象序列,是Python中使用最频繁的数据类型。从形式上看,[]内相邻元素之间用逗号分隔,如下所示:[元素1,元素2,元素3,……,元素n]2)创建列表listname=[元素1,元素2,元素3,……,元素n]

#listname为变量名财务数据分析财务数据分析列表3)列表的方法①list.append(obj):在列表末尾添加新的对象obj②list.count(obj):统计某个元素obj在列表中出现的次数③list.extend(seq):在列表末尾一次性追加另一个序列seq中的多个值④list.index(obj):从列表中找出某个值obj的第一个匹配项的索引位置⑤list.insert(index,obj):将对象obj插入列表某一个位置⑥list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值⑦list.remove(obj):移除列表中某个值obj的第一个匹配项⑧list.reverse():反向反转列表中元素⑨list.sort([func]):对原列表按照函数func进行排序财务数据分析财务数据分析元组1)元组结构元组与列表的不同之处在于:列表是可变序列,列表的元素是可以更改的,包括修改元素值,删除和插入元素等;元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。元组的所有元素放在一对小括号()中,并用逗号分隔:(元素1,元素2,……

,元素n)创建元组的方式与列表类似,只不过把[]改成(),把list换成tuple2)元组的方法由于元组是不可变序列,其没有append、extend、pop、remove等方法,只有count和index方法。财务数据分析财务数据分析range()range()函数的作用很简单,就是根据参数的不同生成不同数字的整数列表range(start,

stop[,

step])财务数据分析财务数据分析序列的索引与切片(1)序列的索引财务数据分析财务数据分析序列的索引与切片(2)序列的切片序列切片操作的语法格式:sname[start:end:step]其中:l

sname:表示序列的名称;l

start:表示切片的开始索引位置(包括该位置),默认为0;l

end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;l

step:表示在切片过程中,隔几个存储位置取一次元素,默认为1。财务数据分析财务数据分析字典1)字典影射关系字典是Python映射数据类型。简单地理解,字典指的是单项一对一的数据关系,通过一个元素,可以唯一找到另一个元素。财务数据分析财务数据分析字典2)创建字典dictname=dict.fromkeys(list,value=None)dict()函数创建字典dictname={键1:值1,键2:值2,……,键n:值n}财务数据分析财务数据分析字典2)创建字典dictname=dict.fromkeys(list,value=None)dict()函数创建字典dictname={键1:值1,键2:值2,……,键n:值n}财务数据分析财务数据分析字典2)创建字典dictname=dict.fromkeys(list,value=None)dict()函数创建字典dictname={键1:值1,键2:值2,……,键n:值n}财务数据分析财务数据分析字典3)字典方法①get()方法。②keys()、values()和items()方法。③update()方法。④pop()和popitem()方法。⑤setdefault()方法。财务数据分析财务数据分析集合1)集合结构集合(set)与字典类似,也是一组key的集合,但不存储value。形式如下:{元素1,元素2,

……,元素n}

#元素n表示集合中的元素2)创建集合①使用{}创建②set()函数创建集合财务数据分析财务数据分析集合3)集合操作(1)访问集合元素(2)集合基本操作①

添加元素②

删除元素③集合交集、并集、差集运算addremove财务数据分析财务数据分析可变与不可变序列Python代码中的变量实际上都是存储在计算机内存中,通过内置函数id()可以用于获取内存标识。借此我们给出可变数据类型与不可变数据类型概念。l

可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的id不发生改变,那么这个数据类型就是可变数据类型。l

不可变数据类型:当该数据类型对应的变量的值发生了变化时,如果它对应的id必须发生改变,那么这个数据类型就是不可变数据类型。一个列表及通过变量赋值的列表操作同一个列表内容,赋值给不同的变量使用赋值语句改变其值,实际上是重新创建了一个变量,赋予新的内存地址字符串对象方法改变对象内容与创建新的对象代码解析Python程序流程控制PartSIX06财务数据分析财务数据分析财务数据分析财务数据分析概述2.选择结构(条件判断):根据条件的真假来决定执行哪个代码块。1.顺序结构:按从上到下的顺序执行代码块中的每一条语句。3.循环结构:重复执行某段代码,直到满足特定条件为止。010203Python程序的流程控制是指程序中指令执行的顺序和条件我们单独简述,异常处理结构(处理程序运行过程中可能出现的错误)财务数据分析财务数据分析Python选择结构#嵌套条件判断示例age=20ifage<18:print("Minor")else:ifage<65:print("Adult")else:print("Senior")财务数据分析财务数据分析Python选择结构财务数据分析财务数据分析Python选择结构#顺序结构示例print("Start")x=10y=20z=x+yprint("Sum:",z)print("End")#条件判断示例num=10ifnum>0:print("Positivenumber")elifnum==0:print("Zero")else:print("Negativenumber")#嵌套条件判断示例age=20ifage<18:print("Minor")else:ifage<65:print("Adult")else:print("Senior")财务数据分析财务数据分析Python循环结构财务数据分析财务数据分析Python循环结构#break示例fornuminrange(10):ifnum==5:breakprint(num)#continue示例fornuminrange(10):ifnum%2==0:continueprint(num)#pass示例fornuminrange(10):ifnum==5:passelse:print(num)#for循环示例numbers=[1,2,3,4,5]fornuminnumbers:print(num)#while循环示例count=0whilecount<5:print("Count:",count)count+=1可迭代对象、推导式、生成器PartSeven07财务数据分析财务数据分析财务数据分析财务数据分析可迭代对象

在Python中,可迭代对象(iterable)是指可以返回其成员一个一个地进行遍历的对象。这些对象实现了__iter__()方法或者__getitem__()方法,允许你使用for循环来遍历它们。常见的可迭代对象包括列表、元组、字符串、字典、集合、文件对象等。d={'a':1,'b':2,'c':3}#遍历键forkeyind:print(key)#遍历值forvalueind.values():print(value)#遍历键值对forkey,valueind.items():print(key,value)检查对象是否可迭代使用collections.abc模块中的Iterable来检查对象是否是可迭代对象。fromcollections.abcimportIterableprint(isinstance([1,2,3],Iterable))#Trueprint(isinstance(123,Iterable))#False[expressionforiteminiterableifcondition]推导式ven_squares=[x**2forxinrange(1,11)ifx%2==0]列表[expressionforiteminiterableifcondition]text="helloworld"vowels={charforcharintextifcharin'aeiou'}集合

{expressionforiteminiterableifcondition}original_dict={'a':1,'b':2,'c':3}swapped_dict={value:keyforkey,valueinoriginal_dict.items()}字典{key_expression:value_expressionforiteminiterableifcondition}(Comprehension)是一种简洁且强大的创建列表、字典和集合的方法。推导式能够将代码写得更简洁、更易读,同时还能够提高代码的执行效率。财务数据分析财务数据分析生成器

Python生成器(Generators)是一种特殊的迭代器,用于实现惰性求值,即在需要的时候才生成值,而不是一次性计算所有值。生成器在处理大数据集或无限序列时特别有用,因为它们只在需要时才计算下一项,从而节省内存和提高效率。财务数据分析财务数据分析实践1.政策规定:行业门类为“农、林、牧、渔业”的企业,营业收入20000万元以下的为中小微型企业。其中,营业收入500万元及以上的为中型企业,营业收入50万元及以上的为小型企业,营业收入50万元以下的为微型企业。某牧业企业PyFean,应收60万元,编写程序判断其企业规模类型2.上例中牧业企业PyFean,当前的营业收入为60万元。我们设计程序,考察该企业营业收入以年均20%增长,经过20年后能否成为大型企业。3.上例中企业PyFean,我们知道年增长率20%,经过10年并不能成长成为一个大型企业。那么经过10年,以多大的营业收入增长率才能成为大型企业?我们先给出一个增长率列表:年均增长率=[0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,1.00]编程按这个增长率序列,给出企业营业收入的变化。财务数据分析财务数据分析【本章小结】首先要理解Python是面向对象的编程语言,要深刻理解对象相关概念;基于对象类型从简单到复杂,我们详细讲解了基本数据类型和序列数据类型的一般属性和方法,其中的难点是可变与不可变、有序排列和无序排列,需要反复练习体会其中的差异;最后我们介绍了程序流程控制(顺序、分支和循环),3种流程的逻辑需要熟练掌握。最后,我们结合一个财务数据分析实例,深刻体会这些知识的应用,为进一步学习打下实践基础。THANKS感谢关注财务数据分析财务数据分析Python编程进阶3AdvancedPythonProgramming主讲:甄阜铭内容概览本章学习目标财务数据分析财务数据分析(1)熟练Python内置函数的调用;(5)掌握文本文件的读取和上下文管理;(4)掌握模块操作和简单的系统交互;(2)掌握Python函数定义和参数传递,以及函数式编程方法;(3)理解面向对象的编程方法,掌握简单类设计;(6)了解Python异常处理机制,掌握简单的异常处理编程。目录CONTENTS财务数据分析财务数据分析3.Python编程进阶

3.1Python函数

3.2函数式编程

3.3面向对象的编程

3.4Python模块与包

3.5Python名字空间与变量作用域

3.6Python文件系统管理

3.7Python异常处理机制

【财务应用与实践】年金现值系数表

Python函数PartOne01财务数据分析财务数据分析财务数据分析财务数据分析Python函数定义定义函数,也称为创建一个函数,可以理解为对具有某些特定功能代码一个封装。创建函数需要用def关键字实现,具体的语法格式:财务数据分析财务数据分析Python函数执行我们运行上例中的函数,表面上没有任何反应。其实质是Python把roe这个标识计入了当前程序的内存空间,roe成为内存空间的一个对象财务数据分析财务数据分析Python函数调用调用函数就是把创建好了的函数当作一个具有某种用途的工具使用。函数调用的基本语法格式:[变量=]函数名([参数值列表])Python函数参数传递财务数据分析财务数据分析Python函数参数传递1)位置参数(PositionalArguments):按照参数在函数定义中出现的顺序传递。2)关键字参数(KeywordArguments):通过参数名来传递参数,这样可以不考虑顺序。3)默认参数(DefaultArguments):在函数定义中给参数提供默认值,如果在调用时没有传递这个参数,则使用默认值。可变位置参数(Variable-lengthPositionalArguments):使用*args,可以传递任意数量的位置参数到函数。财务数据分析财务数据分析Python函数参数传递4)可变位置参数(Variable-lengthPositionalArguments):使用*args,可以传递任意数量的位置参数到函数。5)可变关键字参数(Variable-lengthKeywordArguments):使用**kwargs,可以传递任意数量的关键字参数到函数。财务数据分析财务数据分析Lambda表达式Lambda表达式是Python中的一种小巧的匿名函数,可以在不需要显式地定义函数的情况下使用。它们主要用于定义简单的、一次性使用的函数。Lambda表达式使用lambda关键字定义。语法如下:lambda参数1,参数2,...:表达式add=lambdax,y:x+yprint(add(2,3))#输出:5#按照第二个元素排序pairs=[(1,2),(3,1),(5,0),(4,3)]sorted_pairs=sorted(pairs,key=lambdax:x[1])print(sorted_pairs)#输出:[(5,0),(3,1),(1,2),(4,3)]财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途1)数据类型转换函数:·

int():将一个值转换为整数。·

float():将一个值转换为浮点数。·

str():将一个值转换为字符串。·

bool():将一个值转换为布尔值。·

list():将一个可迭代对象转换为列表。·

tuple():将一个可迭代对象转换为元组。·

dict():创建一个字典。·

set():将一个可迭代对象转换为集合。·

frozenset():将一个可迭代对象转换为冻结集合。·

chr():将整数转换为对应的字符。·

ord():将字符转换为对应的整数。·

hex():将整数转换为十六进制字符串。·

oct():将整数转换为八进制字符串。·

bin():将整数转换为二进制字符串。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途2)数学函数:abs():返回一个数的绝对值。round():将一个数四舍五入到指定的小数位数。pow():返回一个数的幂次方。divmod():返回两个数相除的商和余数。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途3)序列操作函数:len():返回一个对象的长度。max():返回一个可迭代对象中的最大值。min():返回一个可迭代对象中的最小值。sum():返回一个可迭代对象中所有元素的和。sorted():返回一个排序后的列表。reversed():返回一个反向迭代器。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途4)输入输出函数:print():输出字符串到控制台。input():从控制台读取输入。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途5)类型检查函数:type():返回一个对象的类型。isinstance():判断一个对象是否是指定类型的实例。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途6)迭代器函数:range():生成一个数字序列。enumerate():返回一个枚举对象。zip():将多个可迭代对象打包成一个迭代器。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途7)文件操作函数:open():打开一个文件并返回文件对象。财务数据分析财务数据分析Python内置函数Python内置的,可以直接在代码中使用,无需额外导入。每个函数都有其特定的功能和用途8)其他实用函数:id():返回一个对象的唯一标识符。hash():返回一个对象的哈希值。help():显示帮助信息。dir():返回一个对象的属性和方法列表。callable():检查对象是否可调用。eval():执行字符串表达式,并返回表达式的值。exec():执行字符串表达式。compile():将字符串编译为代码对象。函数式编程PartTwo02财务数据分析财务数据分析财务数据分析财务数据分析函数式编程的含义函数式编程是一种编程范式,它把计算视为函数的求值。强调应用数学函数的概念,而不是通过改变状态和可变数据来进行计算。函数式编程的核心思想是使用纯函数、不可变数据结构、和高阶函数来构建程序。财务数据分析财务数据分析函数式编程的思想纯函数(PureFunctions):纯函数是指函数的输出只依赖于输入参数,并且不会产生任何副作用(如改变全局变量、修改输入参数等)。相同的输入总是会得到相同的输出。不可变性(Immutability):在函数式编程中,数据是不可变的。一旦创建,就不能改变。所有的数据修改都通过返回新的数据结构来实现。高阶函数(Higher-OrderFunctions):高阶函数是指可以接受函数作为参数或者返回函数的函数。常见的高阶函数包括map()、filter()和reduce()。函数的组合(FunctionComposition):函数可以组合起来,以形成新的函数。这使得代码更具模块化和重用性。财务数据分析财务数据分析函数式编程的示例#map示例numbers=[1,2,3,4,5]squared_numbers=map(lambdax:x**2,numbers)print(list(squared_numbers))#输出:[1,4,9,16,25]#filter示例even_numbers=filter(lambdax:x%2==0,numbers)print(list(even_numbers))#输出:[2,4]#reduce示例fromfunctoolsimportreducesum_of_numbers=reduce(lambdax,y:x+y,numbers)print(sum_of_numbers)#输出:15财务数据分析财务数据分析Python装饰器的含义和作用装饰器(Decorator)是Python中的一种设计模式,它允许在不修改函数代码的情况下动态地添加功能。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。装饰器常用于以下场景:日志记录:记录函数调用信息。性能计数:计算函数执行时间。访问控制与权限验证:在调用函数前进行权限检查。缓存:缓存函数的返回结果以提高性能。财务数据分析财务数据分析Python装饰器的含义和作用装饰器(Decorator)是Python中的一种设计模式,它允许在不修改函数代码的情况下动态地添加功能。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。装饰器常用于以下场景:日志记录:记录函数调用信息。性能计数:计算函数执行时间。访问控制与权限验证:在调用函数前进行权限检查。缓存:缓存函数的返回结果以提高性能。面向对象的编程PartThere03财务数据分析财务数据分析财务数据分析财务数据分析Python类的定义Python使用

class关键字实现类定义,其基本语法格式:classclassname(baseclass):

suite#类体,代码段classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作

self.attribute1=param1self.attribute2=param2财务数据分析财务数据分析简单类和实例Python使用

class关键字实现类定义,其基本语法格式:classclassname(baseclass):

suite#类体,代码段classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作

self.attribute1=param1self.attribute2=param2财务数据分析财务数据分析构造函数和实例化在Python中,构造函数是类中的一个特殊方法,用于在创建类的实例时进行初始化操作。构造函数的名称固定为__init__。当使用类创建对象(即实例化)时,Python会自动调用这个构造函数来完成对象的初始化工作。实例化指的是依据类创建具体对象的过程。通过实例化,可以为对象分配内存空间,并调用构造函数来设置对象的初始属性和状态。classMyClass:def__init__(self,param1,param2):#初始化类的属性或进行其他操作self.attribute1=param1self.attribute2=param2在上面的示例中,MyClass

就是定义的类。__init__

是构造函数,用于在创建类的实例时进行初始化操作。类中的属性可以通过

self

关键字来访问,方法可以定义在类中,用于实现类的功能。财务数据分析财务数据分析访问实例属性和方法在Python中,类属性是属于类本身的属性,而实例属性是属于类的实例(对象)的属性。类属性的特点:类本身可以访问和修改。所有实例都共享类属性。实例属性的特点:每个实例都有自己的实例属性。不同实例的实例属性可能不同。classStudent:count=0#类属性def__init__(self,name):=name#实例属性#创建两个Student实例student1=Student("Alice")student2=Student("Bob")#修改类属性Student.count+=1#访问实例属性print()print()#访问类属性print(Student.count)财务数据分析财务数据分析实例方法、静态方法和类方法实例方法:与类的实例相关联,通过实例调用。classMyClass:definstance_method(self):print("这是实例方法")静态方法:不与类或实例相关联,通过类名调用。classMyClass:@staticmethoddefstatic_method():print("这是静态方法")类方法:与类相关联,通过类名调用,并且可以访问类属性。classMyClass:@classmethoddefclass_method(cls):print("这是类方法",cls)财务数据分析财务数据分析Python的继承机制Python的继承机制允许一个类从其他类继承属性和方法,从而实现代码的重用和扩展。classParentClass:defparent_method(self):print("这是父类的方法")classChildClass(ParentClass):defchild_method(self):print("这是子类的方法")#创建子类的实例child_instance=ChildClass()#调用父类和子类的方法child_instance.parent_method()child_instance.child_method()示例中:ParentClass是父类,定义了一个方法parent_method。ChildClass是子类,继承自父类ParentClass,并定义了自己的方法child_method。通过创建子类的实例child_instance,可以调用父类和子类的方法。财务数据分析财务数据分析Python多态性Python的多态性是指不同的对象对同一方法的不同实现。classAnimal:defmake_noise(self):passclassDog(Animal):defmake_noise(self):print("汪汪汪")classCat(Animal):defmake_noise(self):print("喵喵喵")#创建动物对象dog=Dog()cat=Cat()#调用不同动物的发声方法dog.make_noise()cat.make_noise()示例中,定义了一个抽象的动物类Animal,其中有一个方法make_noise。然后分别定义了狗类Dog和猫类Cat,它们都继承自Animal类,并实现了make_noise方法。通过创建不同类型的对象,并调用它们的make_noise方法,实现了不同的行为,这就是多态性的体现。Python模块与库PartFour04财务数据分析财务数据分析财务数据分析财务数据分析Python模块Python模块是一组相关的函数和变量的集合,可以被其他程序导入和使用。模块的好处包括:代码复用:避免重复编写功能。模块化设计:提高代码的可读性和可维护性。功能隔离:不同模块负责不同的功能。使用模块的步骤如下:创建模块文件(.py扩展名)。在模块中定义函数、类等。在其他程序中使用import语句导入模块。#创建一个模块file_module.pydefadd_numbers(a,b):returna+b#在其他程序中导入模块并使用其中的函数importfile_moduleresult=file_module.add_numbers(3,5)print(result)示例中,创建了一个名为file_module的模块,其中定义了一个函数add_numbers。然后在其他程序中通过import语句导入该模块,并使用其中的函数。财务数据分析财务数据分析import用法在Python中,import语句用于导入其他模块或包。常见的import用法:导入整个模块:importmodule_name导入模块中的特定函数或类:frommodule_nameimportfunction_name或frommodule_nameimportclass_name导入模块中的所有内容(不推荐常用):frommodule_nameimport*。#导入整个模块importmathresult=math.sqrt(9)print(result)#导入模块中的特定函数fromdatetimeimportdatetimenow=datetime.now()print(now)#导入模块中的所有内容fromrandomimport*print(randint(1,10))财务数据分析财务数据分析import用法if__name__=='__main__'语句在模块中有以下作用:作为模块的入口:当模块被直接运行时,该条件会成立,执行后续的代码。用于测试:可以在模块中编写测试代码,只有在直接运行模块时才会执行。defmy_function():print("这是一个函数")if__name__=='__main__':my_function()示例中,如果模块被其他程序导入,if__name__=='__main__'条件不成立,不会执行后续的代码。只有当直接运行该模块时,条件成立,会执行my_function()函数。财务数据分析财务数据分析Python包或库Python包是一组相关的模块和子包的集合,用于组织和管理代码。要创建Python包,可以按照以下步骤:创建一个目录,该目录将成为包的根目录。在目录中创建一个__init__.py文件(可以是空文件),表示这是一个包。在包中组织模块(.py文件)。package_dir/__init__.pymodule1.pymodule2.py在其他程序中可以通过importpackage_dir.module1或importpackage_dir.module2来导入包中的模块。财务数据分析财务数据分析Python包或库Python的库可以分为内置库、标准库和扩展库。它们的不同用法如下:内置库:Python自带的库,无需额外安装。可以直接使用,例如len()函数用于获取序列的长度。标准库:随Python安装的库,提供了各种常见的功能。例如math库用于数学计算。扩展库:需要额外安装,通常由第三方开发。例如pandas用于数据处理。[in]importjieba

jieba.lcut("Python数据分析与财务应用")[out]['Python','数据分析','与','财务','应用'](base)…>pipinstalljiebaPython名字空间

与变量作用域PartFive05财务数据分析财务数据分析财务数据分析财务数据分析名字空间在Python中,名字空间主要可以分为以下几类:全局名字空间:在程序的整个执行期间都可用。局部名字空间:在特定的函数或代码块中定义。内置名字空间:包含Python内置的函数和变量。x=10#全局变量defmy_function():y=20#局部变量print(y)my_function()print(x)示例中,x是全局变量,y是局部变量。print为内置变量。不同的名字空间在作用域和可见性上有所不同。财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域财务数据分析财务数据分析变量

的作用域Python文件管理PartSix06财务数据分析财务数据分析财务数据分析财务数据分析OS模块os模块是Python中一个非常常用的模块,用于与操作系统进行交互。它提供了许多函数来操作文件和目录、处理路径等。常见的os模块函数包括:os.getcwd():获取当前工作目录。os.chdir(new_dir):更改当前工作目录。os.listdir(directory):列出指定目录中的文件和子目录。os.path.exists(path):检查路径是否存在。os.path.join(path1,path2,...):拼接路径。importos#获取当前工作目录current_directory=os.getcwd()print("当前工作目录:",current_directory)#更改工作目录new_directory="new_directory"os.chdir(new_directory)print("更改后的工作目录:",os.getcwd())#列出目录中的文件和子目录files_and_dirs=os.listdir()forfile_or_dirinfiles_and_dirs:print(file_or_dir)财务数据分析财务数据分析相对路径和绝对路径在Python中,相对路径和绝对路径的表示方式如下:绝对路径:从根目录开始的完整路径,例如/home/user/file.txt。相对路径:相对于当前工作目录的路径。.表示当前目录,..表示上一级目录。importos#获取当前工作目录current_directory=os.getcwd()#相对路径示例relative_path="file.txt"absolute_path=os.path.join(current_directory,relative_path)print("相对路径:",relative_path)print("绝对路径:",absolute_path)#.的示例current_file="current_file.txt"absolute_current_file=os.path.join(current_directory,".",current_file)print("当前目录下的文件:",absolute_current_file)#..的示例parent_directory=os.path.join(current_directory,"..")print("上一级目录:",parent_directory)财务数据分析财务数据分析Python文件基本操作Python中对文件的基本操作包括打开文件、读取文件、写入文件、关闭文件等。#打开文件file=open("example.txt","r")#读取文件内容content=file.read()#写入文件file=open("example.txt","w")file.write("Hello,World!")#关闭文件file.close()代码中,使用open()函数打开文件,指定文件名和打开模式。"r"表示以读取模式打开文件,"w"表示以写入模式打开文件。通过read()方法读取文件内容,将内容存储在变量中。使用write()方法向文件中写入内容。最后,使用close()方法关闭文件,释放资源。财务数据分析财务数据分析文件打开方式Python中文件打开方式有多种模式。常用的模式如下:r:只读模式,用于读取文件。w:写入模式,打开文件时会清空原有内容。a:追加模式,在文件末尾添加内容。x:独占创建模式,如果文件已存在则会引发错误。b:二进制模式,用于处理二进制文件。#只读模式file_r=open("example.txt","r")content=file_r.read()file_r.close()#写入模式file_w=open("example.txt","w")file_w.write("Hello,World!")file_w.close()#追加模式file_a=open("example.txt","a")file_a.write("Additionalcontent")file_a.close()Python异常处理机制PartSeven07财务数据分析财务数据分析财务数据分析财务数据分析Pyrhon错误类型Python中的错误类型有很多种。一些常见的错误类型包括:语法错误:代码的语法不正确。-------------------无法解析运行时错误:在程序运行时发生的错误,例如除数为零。---------------------异常逻辑错误:代码的逻辑存在问题。------------漏洞财务数据分析财务数据分析Pyrhon异常处理Python异常的重要概念和操作:抛出异常:在代码中使用raise语句抛出自定义异常。捕获异常:使用try-except块来捕获和处理异常。获取异常信息:通过异常对象可以获取有关异常的详细信息。异常类型含义示例AssertionError当assert关键字后的条件为假时,程序运行会停止并抛出AssertionError异常assert0>1AttributeError当试图访问的对象属性不存在时抛出的异常a=1a.lenIndexError索引超出序列范围会引发此异常list1=['a','b']list1[2]KeyError字典中查找一个不存在的关键字时引发的异常d={}d['a']NameError尝试访问一个未声明的变量时,引发此异常NonceTypeError不同类型数据之间的无效操作10+'100'财务数据分析财务数据分析Pyrhon异常处理Python的异常处理机制允许程序在发生异常时进行适当的处理,而不是让程序意外终止。以下是异常处理机制的一些关键要点:try-except语句:用于捕获和处理异常。可以捕获特定类型的异常,也可以使用Exception捕获所有类型的异常。在except块中进行异常处理,可以记录错误信息、进行恢复操作等。可以在except块中重新抛出异常。异常信息包含错误的类型和详细描述。财务数据分析财务数据分析raise语句raise语句用于在程序中主动抛出异常。它可以用于模拟自定义的异常情况。财务数据分析财务数据分析Python上下文管理器Python的上下文处理是通过with语句来实现的,它用于自动管理资源的获取和释放,例如文件的打开和关闭。例中,打开zen.txt,并读取文件内容后,上下文管理器会自动关闭文件,无需手动关闭。【财务应用与实践】PartPractice08财务数据分析财务数据分析财务数据分析财务数据分析实践1.年金类年金(annuity)为定期支付的n笔相同的现金流。年金属性包括等额支付的金额A,利率为i,期数为n,g增长率等。2.普通年金类普通年金为年金的一种类型,是年金的子类。普通年金的属性包括等额支付的金额A,利率为i,期数为n。普通年金现值的计算公式:3.普通年金现值系数表普通年金现值系数为(P/A,i,n),为A等于1时的现值,计算公式:财务数据分析财务数据分析实践1.年金类年金(annuity)为定期支付的n笔相同的现金流。年金属性包括等额支付的金额A,利率为i,期数为n,g增长率等。2.普通年金类普通年金为年金的一种类型,是年金的子类。普通年金的属性包括等额支付的金额A,利率为i,期数为n。普通年金现值的计算公式:3.普通年金现值系数表普通年金现值系数为(P/A,i,n),为A等于1时的现值,计算公式:财务数据分析财务数据分析【本章小结】本章主要介绍了Python相对深入的知识。程序设计出于效率和安全等各种原因,需要把代码封装成函数和类,其中函数式编程是必须掌握的内容。需要掌握简单的面向对象的编程,理解面向对象的封装、继承和多态概念。了解变量的作用域、文件管理、异常处理和上下文管理器等内容,能够使我们编程更专业,但这些内容的熟练运用需要逐步深入的过程。THANKS感谢关注财务数据分析财务数据分析NumPy数据科学基础4BasicsofNumPyDataScience内容概览本章学习目标财务数据分析财务数据分析(1)掌握NumPy的ndarray对象,及其简单应用;;(4)掌握NumPy用于生成随机数或随机序列入;(2)了解NumPy提供的数学函数应用;(3)理解NumPy处理不同形状数组进行数学运算的广播机制;目录CONTENTS财务数据分析财务数据分析4.1NumPy基础.NumPyndarray对象NumPy区间数组NumPy广播机制

4.2 随机函数Python标准库randomnp.random模块4.3NumPy常用数学运算函数【Python财务数据分析】——A股上市公司历年每股收益指标统计分析

NumPy基础PartOne01财务数

温馨提示

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

最新文档

评论

0/150

提交评论