Python金融数据分析与应用课件 第1章 Python基础知识_第1页
Python金融数据分析与应用课件 第1章 Python基础知识_第2页
Python金融数据分析与应用课件 第1章 Python基础知识_第3页
Python金融数据分析与应用课件 第1章 Python基础知识_第4页
Python金融数据分析与应用课件 第1章 Python基础知识_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第一章Python基础知识Python金融数据分析与应用(微课版)目录CONTENTSPython概述与环境搭建1.1Python的数据类型1.2Python的数据结构1.3Python的运算符1.4Python的函数1.5Python的基本结构1.6Python在金融数据中的应用1.71.1Python概述与环境搭建1.1

Python概述与环境搭建(1)发展历程1.1.1Python概述Python自1991年由吉多·范罗苏姆(GuidovanRossum)创造以来,已经经历了30多年的发展。Python2.0在2000年发布,引入了许多新特性,包括垃圾回收机制,大大提高了Python代码的运行效率和稳定性。2008年,Python3.0发布,该版本进行了重大更新,以解决2.x版本中存在的一些设计缺陷。Python版本发展情况如表1-1所示。发布版本发布年份0.9.1~1.5.21991—1999年1.6.12000年2.0.02000年2.0.1~2.2.32001—2003年2.3.0~2.7.182003—2020年3.0.02008年3.0.1~3.13.12009—2024年表1-1Python版本发展情况1.1

Python概述与环境搭建1简洁易读:Python的设计哲学强调代码的可读性,其语法简洁、直观,类似英语的表达方式,这使得开发者能够专注于解决问题而非语言本身,极大地提高了代码的可维护性。2易学易用:Python拥有丰富的文档和教程,使初学者能够快速上手。Python清晰的语法规则和一致的编程风格,降低了初学者的学习门槛,成为初学者和专业开发者的理想选择。3功能强大、用途广泛:Python拥有庞大的标准库和第三方库,涵盖从网络编程、数据分析到人工智能等多个领域,成为解决各种问题的有力工具。4开源免费、跨平台:Python是开源社区的“宠儿”,用户可以自由使用、修改和分发代码。其跨平台的特点使得Python程序可以在多种操作系统上运行,无须修改即可移植到Linux、Windows等不同的系统平台。(2)特点1.1.1Python概述1.1

Python概述与环境搭建(1)Anaconda简介1.1.2Anaconda概述Python可用于Windows、macOS和Linux三大操作系统。用户可在Python的官方网站根据操作系统下载对应Python安装包。Anaconda(意为蟒蛇)属于开源且专注于数据分析的Python发行版本,包含conda、Python等190多个科学包及其依赖项,方便用户便捷获取包并对包进行管理。Anaconda还附带非常好用的交互式代码编辑器JupyterNotebook,便于用户编写Python程序。Anaconda具有开源、安装过程简单、高性能使用Python和R语言、免费的社区支持等特点。(2)安装安装之前请准备安装了64位操作系统(部分库不支持32位操作系统)的计算机,按照如下步骤完成安装。1.1.2

Anaconda概述1.1

Python概述与环境搭建010204步骤1下载Anaconda。如果Anaconda官方网站访问速度较慢,可以通过“清华大学开源软件镜像站”下载对应操作系统的安装包。在计算机中找到下载的Anaconda安装包,双击它,打开Anaconda安装界面。打开安装界面,保持默认设置,单击“Install”进行安装040305步骤2步骤3步骤4步骤5单击“Next”→选择“IAgree”→选择默认选项“JustMe(recommened)”,单击“Next”→单击“Browse”设置安装路径等待安装完成→单击“Next”→保持默认设置→单击“Finish”,关闭界面。安装成功。(2)安装1.1.2

Anaconda概述1.1

Python概述与环境搭建图1-1

Anaconda安装包下载界面图1-3安装路径设置界面图1-2Anaconda安装界面图1-4安装界面图1-5安装成功界面【注意】Anaconda已经集成了Python环境,即安装Anaconda后无须再安装Python。下载及安装Anaconda时,请确保安装包和系统位数是对应的。1.1

Python概述与环境搭建(1)JupyterNotebook简介1.1.3JupyterNotebook概述JupyterNotebook是一个网络交互式工具,用户可以创建包含代码和多媒体内容的文档,并实时运行Python代码,直观展示分析结果。JupyterNotebook(此前被称为IPythonNotebook)是基于网页的用于交互计算的应用程序,其具体组成如下。基于网页形式,结合了编写说明文档、数学公式、交互计算和其他多媒体形式的工具,可实现多种功能。JupyterNotebook中所有交互计算、编写说明文档、数学公式、图片以及其他多媒体形式的输入和输出,都以文档的形式体现。文档可以保存为扩展名为.ipynb的文件,这不仅便于版本控制,也方便与他人共享。此外,文档还可以导出为HTML、LaTeX、PDF等格式。网页应用文档Anaconda安装后自带代码编辑器JupyterNotebook,因此无须重复安装。1.1

Python概述与环境搭建(2)使用方法1.1.3JupyterNotebook概述JupyterNotebook的使用及操作较为简单,具体如下。

01

02

03

04

05

06运行JupyterNotebook加载与显示JupyterNotebook网页应用新建Python程序文档输入Python代码并运行Python代码编辑界面常用按钮保存代码文档及运行结果(2)使用方法1.1.3JupyterNotebook概述1.1

Python概述与环境搭建

图1-6运行JupyterNotebook

图1-7JupyterNotebook网页操作界面

图1-8新建Python程序文档图1-9Python代码编辑界面

图1-10常用按钮及代码运行序号展示图1-11代码文档保存方法1.1

Python概述与环境搭建(1)Python库介绍1.1.4Python库的安装Python有两个主要特征,一个是与其他语言相融合的能力,另一个是拥有成熟的软件库系统。Python库可分为标准库(内置库)和第三方库(扩展库)两类。标准库是随Python发行的一系列模块的集合,提供了许多基础的功能和服务,可以直接被开发者在代码中引用,无须额外安装。第三方库则是由Python社区的其他成员或组织开发的库,通常用于满足特定需求或提供额外功能。1.1

Python概述与环境搭建(1)Python库介绍1.1.4Python库的安装类型库名说明标准库(内置库)datetime为日期和时间的处理提供简单和复杂的方法random生成随机数的工具math为浮点运算提供对底层C函数库的访问re为高级字符串处理提供正则表达式工具第三方库(扩展库)NumPy为Python提供高级数学方法SciPyPython的算法和数学工具库SymPy可用于代数评测、代码差异化呈现、代码扩展、复数运算等pandasNumPy基础上的科学计算库Matplotlib用于绘制数据图Pillow是PIL(PythonImagingLibrary,Python图形库)的一个分支,适用于图形领域Scrapy爬虫工具常用库表1-2常见的Python库(2)使用pip命令安装Python扩展库1.1.4Python库的安装1.1

Python概述与环境搭建在JupyterNotebook中安装Python扩展库,可使用以下命令:如果想安装名为seaborn的Python扩展库,命令如下:若通过pip默认下载、安装速度较慢,则有可能导致安装报错,这时可使用国内镜像源提升下载速度并提高安装成功率,命令如下:示例命令如下:!pipinstall库名!pipinstallseaborn#首次安装后需重启内核,方可生效!pipinstall库名-i镜像地址!pipinstallSpeechRecognition-i/simple#通过清华镜像地址安装SpeechRecognition库(3)使用pip命令管理Python扩展库1.1.4Python库的安装1.1

Python概述与环境搭建pip常用命令如表1-3所示。pip命令说明pipinstall-U库名升级库pipuninstall库名卸载库pipshow库名显示库的详细信息pipdownload库名仅下载库,但不安装piplist列出当前已安装的所有库pipinstall库名.whl通过.whl文件离线安装扩展库表1-3pip常用命令1.2Python的数据类型1.2Python的数据类型整型(IntegerType,简称int)通常用于表示整数,是最基本的数据类型之一,用于表示没有小数部分的数,可以为0、正数或者负数,没有大小限制。可使用“变量名=数据”这种形式的Python语句进行变量赋值,可通过type()函数查看数据类型,示例代码如下:另外,可使用int()函数将数值类型强制转换为整型,示例代码如下:1.2.1整型trans=2#将整型数值2赋值给trans变量,代表交易次数type(trans)#查看trans变量的数据类型int(2.36)#将数值2.36强制转换为整型数值代码运行结果为“int”。代码运行结果为“2”。1.2Python的数据类型浮点型(Floating-pointType,简称float)用于表示有小数部分的数,由整数部分与小数部分组成以下示例代码展示了如何进行浮点型变量赋值以及如何使用float()函数强制转换数据类型:1.2.2浮点型price=332.6 #将浮点型数值332.6赋值给price变量,代表价格print(price) #使用print()函数输出price变量值float(200) #将整型数值200强制转换为浮点型数值代码运行结果如下,其中展示了浮点型数值332.6,并完成整型数值200的数据类型强制转换:332.6200.01.2Python的数据类型复数(ComplexNumber,简称complex)是Python中的另一种数据类型,由实数部分和虚数部分构成,用a+bj表示。以下示例代码展示了如何进行复数变量赋值以及如何使用complex()函数强制转换数据类型:1.2.3复数com=1+2j #将复数1+2j赋值给com变量print(com) #使用print()函数输出com变量值print(complex(200)) #将整型数值200强制转换为复数,并用print()函数输出print(complex(200,3)) #将200和3强制转换为复数,实数部分为200,虚数部分为3,并用print()函数输出代码运行结果如下:(1+2j)(200+0j)(200+3j)1.2Python的数据类型字符串(String)是由字符组成的序列,用于表示文本数据。在金融数据分析中,字符串广泛用于处理交易代码、公司名称、日期时间等非数值型信息。在Python中,可以使用单引号、双引号和三引号(3个单引号或3个双引号)定义字符串。通常,单引号和双引号对于字符串的定义在代码运行结果上相同,不做区分;三引号通常用于输入多行字符串,不仅可以保留字符串内容,还可以保留多行字符串的格式。1.2.4字符串str1='金融数据分析' #用单引号将文本“金融数据分析”赋值给str1变量str2="Python" #用双引号将文本“Python”赋值给str2变量str3='''学习什么是字符串''' #用3个单引号将多行文本赋值给str3变量print(str1)#使用print()函数输出字符串变量str1print(str2)print(str3)代码运行结果如下:金融数据分析Python学习什么是字符串1.3Python的数据结构1.3Python的数据结构元组(Tuple)是Python中一种不可变的数据结构,是用于存储多个元素的有序集合。元组中的元素可以是不同数据类型的,且一旦创建,其内容无法更改。元组使用圆括号“()”来定义,元素之间用逗号分隔。1.3.1元组#创建元组stock_info=('AAPL',150.75,'2023-05-21')#访问元组元素symbol=stock_info[0] #访问元组的第一个元素price=stock_info[1] #访问元组的第二个元素date=stock_info[2] #访问元组的第三个元素print(f'Stock:{symbol},Price:{price},Date:{date}')代码运行结果为:“Stock:AAPL,Price:150.75,Date:2023-05-21”,成功依次访问了元组元素并赋值给symbol、price、date变量。(1)元组的创建和访问元组可以包含任意类型的数据,包括字符串、整数、浮点数等。1.3Python的数据结构1.3.1元组#元组的连接stock_info_extended=stock_info+('NASDAQ',)#元组的重复repeated_info=stock_info*2#元组的切片price_date=stock_info[1:3]print(stock_info_extended)print(repeated_info)print(price_date)代码运行结果如下:('AAPL',150.75,'2023-05-21','NASDAQ')('AAPL',150.75,'2023-05-21','AAPL',150.75,'2023-05-21')(150.75,'2023-05-21')(2)元组的常见操作元组的基本操作,如连接、重复和切片。可以发现,元组通过基本操作发生了相应变化。1.3Python的数据结构1.3.2列表#创建列表stock_prices=[150.75,153.00,155.25,148.50]#访问列表元素first_price=stock_prices[0] #访问列表的第一个元素last_price=stock_prices[-1] #访问列表的最后一个元素print(f'FirstPrice:{first_price},LastPrice:{last_price}')代码运行结果为:“FirstPrice:150.75,LastPrice:148.5”,成功访问了列表元素。(1)列表的创建和访问列表(List)是Python中一种灵活的可变数据结构,是用于存储多个元素的有序集合。与元组不同,列表的内容可以随时更改,这使得列表在需要频繁修改数据的场景中非常有用。列表使用方括号“[]”来定义,元素之间用逗号分隔。列表可以包含不同类型的数据,并且可以通过索引访问其中的元素,以下是示例代码:1.3Python的数据结构1.3.2列表#添加元素stock_prices.append(149.75)#删除元素delstock_prices[1]#修改元素stock_prices[0]=151.00print(stock_prices)代码运行结果为:“[151.0,155.25,148.5,149.75]”,完成了列表的常见操作。(2)列表的常见操作列表支持多种操作,如添加(append())、删除(del)和修改)。(1)字典的创建和访问字典适用于需要快速查找和存储关联数据的场景,可以通过键来访问对应的值,以下为示例代码:1.3.3

字典字典(Dictionary)用于存储键值对(Key-Value

Pair)。字典中的键必须是唯一的,通常为字符串,而值可以是任意的数据类型。字典使用花括号“{}”来定义,键值对之间用逗号分隔,键和值之间用冒号分隔。1.3

Python的数据结构#创建字典stock_data={'symbol':'AAPL','price':150.75,'date':'2023-05-21’}#访问字典元素symbol=stock_data['symbol']price=stock_data['price']print(f'Stock:{symbol},Price:{price}')代码运行结果为“Stock:AAPL,Price:150.75”,成功完成字典的创建和访问。(2)字典的常见操作字典支持添加、删除和修改操作,非常适合用于动态存储和处理数据。针对上述创建好的字典stock_data进行常见操作,示例代码如下:#添加元素stock_data['exchange']='NASDAQ'#删除元素delstock_data['date']#修改元素stock_data['price']=151.00print(stock_data)代码运行结果为“{‘symbol’:‘AAPL’,‘price’:151.0,‘exchange’:‘NASDAQ’}”,完成了字典的常见操作。1.3

Python的数据结构1.4Python的运算符1.4Python的运算符(1)算术运算符算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。Python算术运算符如表1-4所示。运算符描述+加法-减法*乘法/除法%取模**幂运算//取整除表1-4Python算术运算符1.4Python的运算符(2)比较运算符比较运算符用于比较两个值的大小,返回布尔值。Python比较运算符如表1-5所示。表1-5Python比较运算符运算符描述==等于!=不等于>

大于<

小于>=大于等于<=小于等于1.4Python的运算符(3)逻辑运算符逻辑运算符用于布尔值的逻辑运算,包括逻辑与、逻辑或、逻辑非操作。Python逻辑运算符如表1-6所示。表1-6Python逻辑运算符运算符描述and逻辑与or逻辑或not逻辑非1.4Python的运算符(4)位运算符位运算符用于对整数的二进制位进行操作。Python位运算符如表1-7所示。表1-7Python位运算符运算符描述&按位与|按位或^按位异或~按位取反<<

左移>>

右移1.5Python的函数1.5Python的函数Python提供了大量内置函数,可以直接使用。常见的内置函数包括print()、len()、type()、sum()等。1.5.1内置函数#使用内置函数print('Hello,Python!')#输出字符串length=len([1,2,3,4])#计算列表长度data_type=type(123.45)#获取数据类型total=sum([1,2,3,4])#计算总和print(length,data_type,total)代码运行结果为:Hello,Python!4<class'float'>101.5Python的函数Python允许用户使用自定义函数以实现特定的功能和逻辑。自定义函数使用def关键字,函数名后跟圆括号,圆括号内可以包含参数列表。1.5.2自定义函数#定义自定义函数defcalculate_profit(cost,revenue): #包含2个形参cost、revenueprofit=revenue-costreturnprofit #自定义函数返回参数profit#调用自定义函数cost=100revenue=150profit=calculate_profit(cost,revenue)#按顺序传入赋值后的实参cost、revenueprint(f'Profit:{profit}')#输出传入实参后的返回参数profit代码运行结果为:“Profit:50”,完成revenue-cost的运算。1.6Python的基本结构1.6Python的基本结构顺序结构是指代码按照先后顺序依次执行,适用于需要按顺序执行多个操作的场景。以下示例代码展示了顺序结构的使用方法:1.6.1顺序结构print('Step1')print('Step2')print('Step3’)代码运行结果为:Step1Step2Step31.6Python的基本结构1.6.2选择分支结构price=150ifprice>100:print('Priceisgreaterthan100')代码运行结果为:“Priceisgreaterthan100”。(1)if语句if语句根据条件表达式的结果(真或假,即True或False)来决定是否执行代码块。如果结果为真,则执行代码块,否则跳过,示例代码如下:1.6Python的基本结构1.6.2选择分支结构price=90ifprice>100:print('Priceisgreaterthan100')else:print('Priceis100orless')代码运行结果为:“Priceis100orless”。(2)if-else语句if-else语句提供了一条备用路径,当条件表达式为假时,执行else后的代码块,示例代码如下:1.6Python的基本结构1.6.2选择分支结构price=100ifprice>100:print('Priceisgreaterthan100')elifprice==100:print('Priceis100')else:print('Priceislessthan100')代码运行结果为:“Priceis100”,按照顺序依次判断是否符合条件表达式,最终只输出符合条件表达式的结果。(3)if-elif-else语句if-elif-else语句用于多个条件判断,依次检查每个条件表达式,直到找到一个结果为真的条件表达式,并执行对应的代码块。如果所有条件表达式的结果都为假,则执行else后的代码块,示例代码如下:1.6Python的基本结构1.6.3循环结构#for循环遍历列表stock_prices=[150.75,153.00,155.25,148.50]forpriceinstock_prices:print(f'Price:{price}')#依次输出stock_prices列表中的price代码运行结果如下:Price:150.75Price:153.0Price:155.25Price:148.5(1)for循环for循环用于遍历一个序列(例如列表、元组、字符串等)或可迭代对象中的所有元素,并对每个元素执行指定的代码块,示例代码如下:可以看出,使用for循环可遍历序列中的元素并依次输出展示。1.6Python的基本结构1.6.3循环结构#while循环示例count=0whilecount<5:print(f'Count{count}')count+=1代码运行结果如下:Count0Count1Count2Count3Count4(2)while循环while循环在给定条件为真时,重复执行代码块,当条件为假时,退出循环,适用于需要在满足某个条件时重复执行的场景,示例代码如下:可以看出,当count<5(即条件为真时)才执行代码块。1.6Python的基本结构1.6.3循环结构#for嵌套循环示例foriinrange(3): #i的取值为0、1、2forjinrange(2): #j的取值为0、1print(f'i={i},j={j}’)代码运行结果如下:i=0,j=0i=0,j=1i=1,j=0i=1,j=1i=2,j=0i=2,j=1(3)嵌套循环Python支持嵌套循环,即在一个循环体内嵌套另一个循环。嵌套循环在处理多维数据时特别有用,以下示例代码展示了for循环嵌套:可以看出,对于嵌套循环,在外层循环的给定条件下,优先执行完内层循环,才会再次执行外层循环。1.6Python的基本结构1.6.3循环结构stock_prices=[150.75,155.25,148.50,153.00]#使用break语句forpriceinstock_prices:ifprice<150:print('Priceistoolow,stoppingtheloop.')break#按序遍历列表元素,如果数值小于150,退出循环

print(f'Price:{price}')#使用continue语句forpriceinstock_prices:ifprice<150:print('Skippi

温馨提示

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

评论

0/150

提交评论