教学课件3. 财务数据分析利器--Pandas库.pptx
《教学课件3. 财务数据分析利器--Pandas库.pptx》由会员分享,可在线阅读,更多相关《教学课件3. 财务数据分析利器--Pandas库.pptx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教材配套资源页完整PPT课件教学课件3. 财务数据分析利器-Pandas库1财务数据分析利器-Pandas库by 张敏 & 王宇韬第三章2在上一章,我们由浅入深地学习了如何获取各种财务数据,接下来我们就可以进行数据分析了。那么Python是如何实现数据分析的呢?本章将简单介绍Python数据分析的一大利器,也是一个基础模块pandas库的使用。pandas库是基于NumPy的一个开源Python库,被广泛用于快速分析数据,以及数据清洗和准备等工作。某种程度上可以把Pandas看作是Python版的Excel。如果是利用Anaconda安装的Python,那么Anaconda自带pandas库,
2、无须单独安装。Numpy是另一个重要的库,是Numerical Python的简称(Numpy库的相关知识点可以参考本书源代码文件夹中的“补充知识点:Numpy库基础.pdf”)。相较于Numpy来说,Pandas更擅长处理二维数据。Pandas主要有两种数据结构:Series和DataFrame。Series类似于通过Numpy产生的一维数组,不同的是Series对象不仅包含数值,还包含一组索引,其创建方式如下:3生成结果如下所示,它也是一个一维数据结构,并且对于每个元素都有一个行索引可以用来定位,比如可以通过s11来定位到第二个元素“王二”。Series单独使用相对较少,pandas主要采
3、用DataFrame数据结构。DataFrame是一种二维表格数据结构,直观一点的话可以将其看作一个Excel表格。4目 录023.1 DataFrame的创建0304第一讲 DataFrame的创建3.2 文件的读取和写入3.3 数据读取与筛选0105063.6 Pandas案例实战:财务数据获取进阶3.5 财务数据处理 - 案例实战3.4 数据表拼接3.1 DataFrame的创建有两种DataFrame常见的创建方法:通过列表创建、通过字典创建。3.1.1 通过列表创建DataFrame首先是通过列表创建,这个和通过Numpy创建二维数组比较类似。引入pandas库方式通常为import
4、 pandas as pd,然后调用DataFrame功能创建二维数组。将a打印输出,运行结果如下:6和之前通过Numpy生成的二维数组进行比较:可以看到通过pandas的DataFrame功能生成的二维数组更像我们在Excel中看到二维表格数据,它也有行索引和列索引,其中这里的索引序号都是从0开始的。73.1.2 通过字典创建DataFrame除了通过列表创建DataFrame,还可以通过字典来创建DataFrame并可以自定义列索引,这里默认字典键为列索引,代码如下:输出结果如下。可以看到列索引已经变成了这里字典里的键名了。8如果想让字典键变成行索引,可以通过from_dict的方式来将字
5、典转换成DataFrame,并同时设置orient参数为index,代码如下:其中orient参数指定字典键对应的方向,默认值为columns,如果不设置成index的话,则还是默认字典键为列索引,输出结果如下,此时的字典键已经是行索引了。9除了通过from_dict()函数设置orient参数外,我们还可以通过DataFrame的.T属性来对列表进行转置,演示代码如下:结果如下。可以看到通过.T同样可以对表格进行转置。此外注意,如果想改变原来的表格结构,需要进行重新赋值,写成b = b.T,这样就会改变原来b的表格结构了。10目 录023.1 DataFrame的创建0304第二讲 文件的读
6、取和写入3.2 文件的读取和写入3.3 数据读取与筛选0105063.6 Pandas案例实战:财务数据获取进阶3.5 财务数据处理 - 案例实战3.4 数据表拼接3.2 文件的读取和写入3.2.1 文件读取以下代码用于读取Excel数据:这里的Excel工作簿文件后缀名为xlsx,如果是2003版或更早版本的Excel工作簿,其后缀则为xls。这里使用的文件路径是相对路径,即代码所在的文件路径,也可以设置成绝对路径(相对路径和绝对路径的相关知识点参考3.2.2节补充知识点)。通过打印data我们便可以查看此时的表格,或者我们可以打印data.head()查看表格的前五行内容(如果写成head
7、(10)则可以查看前10行数据),代码如下:12打印结果如下:datescoreprice02018-09-037023.5512018-09-047524.4322018-09-056523.4132018-09-066022.8142018-09-077023.21第2行代码中的read_excel还可以设定参数,使用方式如下:133.2.2 文件写入以下代码可以将数据写入Excel工作簿。这里的文件存储路径使用的是相对路径,也可以根据需要写成绝对路径。运行之后将在代码所在文件夹生成一个名为“演示.xlsx”的文件,文件内容如下图3-1所示。14上图中,行索引信息保留在工作表的第1列中,如
8、果想在写入数据时不保留行索引信息,可以设置to_excel的参数。to_excel的常见参数有:sheet_name用于指定工作表名称;index指定是否写入行索引信息,默认为True,即保存行索引信息至输出文件的第1列,若设置为False,则忽略行索引信息;columns用于指定要写入的的列;encoding用于指定编码方式。例如,要将data中的第1列数据导入Excel工作簿并忽略索引信息,则代码如下:通过类似的方式,可以将data中的数据写入到CSV文件当中,代码如下:和to_excel类似,to_csv也可以设置index、columns、encoding等参数。注意,如果在导出CSV
9、文件事出现了中文乱码现象,且encoding参数设置成“utf-8”失效,则需要将encoding参数设置成“utf_8_sig”,代码如下:15目 录023.1 DataFrame的创建0304第三讲 数据读取与筛选3.2 文件的读取和写入3.3 数据读取与筛选0105063.6 Pandas案例实战:财务数据获取进阶3.5 财务数据处理 - 案例实战3.4 数据表拼接3.3 数据读取与筛选创建了DataFrame之后,就可以对其中的数据进行读取与编辑操作,本节就来讲解相应的方法。首先创建一个3行3列的DataFrame用于演示,行索引设定为r1、r2、r3,列索引设定为c1、c2、c3,代
10、码如下:打印输出结果如下:173.3.1 按照行列进行数据筛选(1) 按照列来选取数据先从简单的读取单列数据入手,代码如下:a 的打印输出结果如下:18(2) 按照行来选取数据可以根据行的序号来读取数据,代码如下:打印输出结果如下:而pandas推荐使用iloc方法来根据行序号读取数据,这样更直观,而且不会像data1:3可能会引起混淆。代码如下:19(3) 按照区块来选取如果想选取某几行的某几列数据,例如,获得c1和c3列的前2行数据,代码如下:其实就是把前面通过行和列读取数据的方法进行了整合,打印输出结果如下:在实战中,通常采用iloc和列读取混合的方式来读取特定的区块数据,代码如下:20
11、3.3.2 按照特定条件筛选通过在中括号里设定筛选条件可以过滤行。例如,读取c1列中数字大于1的行,代码如下:a的打印输出结果如下:21如果有多个筛选条件,可以通过“&”符号(表示“且”)或“|”(表示“或”)连接。例如,筛选c1列数字大于1且c2列中数字小于8的行,代码如下,注意在筛选条件两侧要加上小括号。打印输出结果如下:223.3.3 数据整体情况查看通过表格的shape属性,可以查看表格整体的行数和列数,在表格数据量较大的时候能快速了解表格的行数和列数运行结果如下,其中第一个数字为表格行数,第二个数字为表格列数。通过表格的describe()函数可以快速的查看表格每一列的数量、平均值、
12、标准差、最小值、25分位数、50分位数、75分位数、最大值等信息,代码如下:23c1c2c3count3.03.03.0mean4.05.06.0std3.03.03.0min1.02.03.025%2.53.54.550%4.05.06.075%5.56.57.5max7.08.09.0运行效果如下:通过value_counts()函数则可以快速的查看某一列都有什么数据,以及该数据出现的频次,代码如下:运行效果如下,可以看到c1列共有3种不同的数据,且每个出现的频次为1次。243.3.4 数据运算、排序与删除(1) 数据运算从已有的列中,通过数据运算创造新的一列,代码如下:输出结果如下:25
13、(2) 数据排序使用sort_values()函数可以根据列对数据进行排序。例如,要对c2列进行降序排序,代码如下:其中,参数by用于指定哪一列来排序;参数ascending为上升的意思,默认值为True,设置为False则表示降序排序。a的打印输出结果如下:使用sort_index()函数则可以根据行索引进行排序。按行索引进行升序排列的代码如下:26(3) 数据删除如果要删除数据表中的指定数据,就需要用到drop()函数。具体用法如下:drop()函数常用的几个参数解释如下:index用于指定要删除的行;columns用于指定要删除的列;inplace的默认值为False,表示该删除操作不改
14、变原表格,而是返回一个执行删除操作后的新DataFrame,如果设置为True,则会直接在原表格中进行删除操作。例如,删除c1列的数据,代码如下:删除多列的数据,例如,c1和c3列,可以通过列表的方式声明,代码如下:如果要删除行数据,例如,删去第1行和第3行的数据,代码如下27目 录023.1 DataFrame的创建0304第四讲 数据表拼接3.2 文件的读取和写入3.3 数据读取与筛选0105063.6 Pandas案例实战:财务数据获取进阶3.5 财务数据处理 - 案例实战3.4 数据表拼接3.4 数据表拼接Pandas库还提供了一些高级功能,其中的数据合并与重塑为两个数据表的拼接提供了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件3. 财务数据分析利器-Pandas库 教学 课件 财务数据 分析 利器 Pandas
限制150内