pandas阅读笔记<1>

时间:2021-05-02 19:40:10

这几天在阅读python的pandas库。现在还在阅读第二章的内容,在第二章中又一个实例,有一个关于电影数据的数据集,然后,我们对它做一些简单的分析,做个今天学习的总结。

Part 1 读取数据

首先使用的是pandas的read_table函数,函数主要又以下几个参数:
filepath_or_buffer:该参数主要是要读取数据集的路径
sep : 该参数主要是用来在读取文件时候,遇到分隔符时读取不同的数据。
headers:在pandas的文档中的定义如下:
pandas阅读笔记<1>
一般使用的时候都是将这个参数设为None,如果把它设为0的时候,它就会从第二个数据开始读入。所以传入一个整数n的时候,我一般是理解成它是都从n+2开始读取数据(这里没有考虑数据集刚开始有无关元素的情况)。传入一个list的时候没有试过,这里就不敢乱说。
names: 这个参数主要是一个list用来存储列对应的名字。
engine : 这个参数书中是没有设定的,但是编译的过程老是有个warning。用于设定使用那个解析器引擎。
读取文件的使用使用到的主要是这样几个参数。

Part 2 两个Data Frame进行merge操作

关于两项数据的合并操作感觉和数据库中的概念差不多,如果直接使用pandas.merge(DataFrame1,Dataframe2)就会自动把根据两项数据中含有相同的列名字来进行合并。还可以通过on参数来指明根据某一列或者某几列来进行合并。经过这一步,它就可以把来自不同的几个数据集进行合并操作。

Part 3 对数据进行分析
根据不同性别来统计各个电影的评分
这里主要使用的一个函数是pivot_table() 这里需要说明的是原书中这里有一个错误,参数使用错误。参阅文档我们可以知道pivot_table函数的原型如下
pandas阅读笔记<1>
这里主要说一下我对这个函数各个参数的理解。
data: 主要指的是使用的哪一个数据。
values: 指需要对哪一列的值进行聚合,在书中的问题,由于要统计各个电影的评分,所以需要聚合的数据是‘rating’列
index: 这个参数主要用于对它进行分组,在书中使用的”title”参数,什么意思呢?我们需要对电影的评分进行一个统计,这里针对的某一部电影的统计,所以这里需要按电影的名字分组。
columns: 指生成的新的数据表格的列的名字是什么。在书中需要对不同的性别对电影评分的统计,那么它就需要根据原数据中的‘’gender”来对它进行分类。
aggfunc: 指使用的何种函数对数据进行统计。
对于这个函数,就可以这样理解嘛!首先你要说明你对哪个DataFrame进行操作,也就是对第一个参数data的赋值。之后呢,你就需要选择对哪一个元素进行统计,最后的值是要成为新的DataFrame内的值的,这个值就是value参数指定使用哪一列计算的。下一步呢,你需要指定说明你这个新的DataFrame的行和列是什么,对于不同的情况,你就要考虑你最后需要产生的行和列是什么。这样就可以把该DataFrame的数据进行某些统计和分析。

Part 4 进一步分析

到上面为止,我们就对数据进行了一些简单的分析,统计不同性别对电影的评分。为了把我们做的更加科学一点,我们会在统计的时候,设定一些条件,例如,对于某个电影的评价的人太少了,那它最后的评分可能就没有什么意义了。这里就又使用到了Groupby()这个函数,以及index的东西,但是后面的自己没有进行多少实践,也没什么特别的感受,所以这里就不继续分享了。

总结: 今天呢主要是开始看Python的Pandas库,主要就学到了read_table()、merge()、pivot_table()这几个函数的用法,虽然是一些相对简单的函数,但是,就这几个函数还是可以对数据进行一些比较简单的分析的。(ง •_•)ง后面还有很多知识!要继续学习。