Python学习100天-Day14(资料分析篇-pandas02)
Day14-读取档案

接着上一天的内容,我在学习的过程中发现,DF资料还可以利用几个Series资料组成,具体看一个例子:

两种形式,第一种是直接对Series建立DF物件,得出的结果。第二种是通过字典的形式建立DF物件,把Series的name对映到Series,简单来说,通过字典形式建立,可以看做将Series的name作为了列名,各个元素通过相同的index对应合并在一起。创建出来的DF有点类似一张excel的sheet,行是1,2,3,4....,列是A,B,C,D....。
读取csv档案
除了通过字典和Series的方式建立DF,还可以通过读取CSV档案的形式建立DF物件。
例如读取本地的一份NBA球员2013赛季的资料表,格式是CSV,通过read_csv 函式读取档案,返回DF资料给NBA_data,NBA_data就是DF资料型别,可以检视资料的列名,还可以显示资料的前五行资料。
大家可以留意到,读取资料的时候,我们没有指定索引号,所以系统自动添加了索引号,预设从0开始,我们可以在读取的时候加入引数,指定资料框的索引:

资料框的索引成了player,所以列名就没有了player字段。扩充套件一下学习,DF资料结果可以直接用列名选择资料,下面我们看一个例子:

选取资料集的时候都会带去索引号,所以如果设定球员名称为索引号,这样选取出来的资讯就会更加清晰。更多关于read_csv函式的引数可以检视pandas官方文件。
读取xlsx档案
除了CSV档案,pandas还可以直接读取xlsx档案。加入引数sheet_name可以选择要读取的sheet。
如果要选择多个列的子集,需要以列表的形式传入资料框。下面我们来做一个小练习,巩固一下今天学习的内容,就是用pandas合并同一个资料夹内的所有csv档案(xlsx档案同理),并储存。现在我的D盘下有资料夹NBA,下有三个csv档案,nba_2013.csv、nba_2014.csv、nba_2015.csv。

简单说一下,这个合并的小程式主要用到了列表的迭代,pandas的CSV的读取方法,储存方法,还和资料框的合并函式,同理合并xlsx。留一个大家思考的问题,如果有多个xlsx档案,而且档案里面有多个sheet,那么要怎么合并?明天开始我给大家演示一下,这个我也是前不久自己学会,提示一下:要用到xlrd这个包去获取xlsx档案中的sheent个数。