量化金融原理与实践第4章 数据表格的处理与数据清洗.pptx

量化金融原理与实践第4章 数据表格的处理与数据清洗.pptx

第4章数据表格的处理与数据清洗本章引言与主要内容金融领域数据处理:金融领域存在大量以表格形式存储的数据。Python处理表格数据常用库:Pandas库、xlwings库等。本章内容:xlwings库介绍:介绍xlwings及其相关算法原理。库对比:以900家上市公司三大报表数据为例,对比xlwings与Pandas的优缺点。xlwings:优势在于读取大规模数据时速度快。Pandas:优势在于处理数据功能强。结合:将两个库结合起来可提高大规模数据处理效率。数据清洗:介绍空缺值、重复值、异常值的处理,以及数据归一化。特征工程:简要介绍。建模框架:介绍利用机器学习模型对经济金融数据建模的一般框架。

本章实例与内容结构本章实例:处理真实的、结构复杂的金融场景数据(900家上市公司财务数据)。过程:从三个表格汇总(正常、ST、ST日期)-从文件夹读取指定公司资产负债表-提取指定年份数据-汇总到新表。图4.1本章主要内容结构

4.1xlwings及其相关算法4.1.1第三方库xlwings定义:xlwings是一个可以实现从Excel调用Python,也可以在Python中调用Excel的库。可结合VBA实现对Excel编程,具有强大的数据输入分析能力。结合pandas、numpy、matplotlib可以轻松应对Excel数据处理工作。主要功能:支持读.xls文件,支持读写.xlsx文件。支持Excel操作。支持VBA。强大的转换器可以处理大部分数据类型,包括NumPyArray和PandasDataFrame。1.安装xlwings库导入命令:importxlwingsasxw安装步骤(PyCharm):文件-设置-Python解释器-单击+-输入xlwings-安装软件包。

4.1.1xlwings原理及相关函数基本结构:App:表示Excel程序(Apps:程序集合)Book:表示单个工作簿(Books:工作簿集合)Sheet:表示单个工作表(Sheets:工作表集合)Range:表示区域(一个单元格或一片区域)图4.2xlwings库的基本结构注意:xlwings直接对接的是Apps(Excel应用程序),因此xlwings需要安装有Excel应用程序的环境。

1)打开、保存、关闭(1)利用app.books.open()打开表格以App作为初级操作对象importxlwingsasxw#打开Excel应用(后台运行,不新建空白工作簿)app=xw.App(Visible=False,add_book=False)#打开一个Excel应用wb=app.books.open(rC:\...test.xlsx)sht=wb.sheets[Sheet1]#工作簿的第1个表单a=sht.range(A2:C2).value#读取数据wb.save()#保存文件wb.close()#关闭文件app.quit()#关闭程序(2)用xw.Book()打开表格直接操作工作簿importxlwingsasxwwb=xw.Book(rC:\...test.xlsx)#打开Excel表格sht=wb.sheets[Sheet1]#实例化工作表对象a=sht.range(G1:G8).valuewb.save()#保存文件wb.close()#关闭文件

4.1.1xlwings相关命令(2):新建、读取2)新建(1)利用xw.App()新建表格importxlwingsasxwapp=xw.App()wb=app.books.add()#创建一个工作簿wb.save(C:\...test_1.xlsx)#保存wb.close()app.quit()(2)利用xw.Book()新建表格importxlwingsasxwwb=xw.Book()#创建一个工作簿wb.save(rC:\...test_2.xls)wb.close()注:无论是新建还是打开,都要记得保存、关闭工作簿、关闭程序。

3)读取数据wb=xw.Book(rC:\...上市公司样本--1.xlsx)sht=wb.sheets[Sheet1]#读取单元格A1到A2的值a=sht.range(A1:A2).value#将第1行和第2行的数据按二维数组的方式读取b=sht.range(A1:B2).value#读取表中批量数据,使用expand()方法。从A2的位置开始读d=

文档评论(0)

1亿VIP精品文档

相关文档