数据结构论坛

首页 » 分类 » 问答 » 第三章Pandas数据结构
TUhjnbcbe - 2020/12/21 14:23:00

前面讲了Python的基础知识,从这一章开始进入正式的数据分析过程中,主要讲述每个数据分析过程都会用到什么操作,这些操作用Excel是怎么实现的,如果用Python,那么代码应该怎么写。

接下来的几章会用到Pandas、NumPy、matplotlib这几个模块,在使用它们之前我们要先将其导入,导入方法在Python基础知识部分讲过,一个程序中只需要导入一次即可。

为了在引用模块时书写方便,上面的代码中用as分别给这几个模块起了别名。所以在本书中见到pd就是代表Pandas,见到np就是代表NumPy,见到plt就是代表matplotlib.pyplot。

一、Series数据结构

1、Series是什么

Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。

上面这样的数据结构就是Series,第一列数字是数据标签,第二列是具体的数据,数据标签与数据是一一对应的。上面的数据用Excel表展示如下表所示。

2、创建一个Series

创建一个Series利用的方法是pd.Series(),通过给Series()方法传入不同的对象即可实现。

传入一个列表

传入一个列表的实现如下所示。

如果只是传入一个列表不指定数据标签,那么Series会默认使用从0开始的数做数据标签,上面的0、1、2、3就是默认的数据标签。

指定索引

直接传入一个列表会使用默认索引,也可以通过设置index参数来自定义索引。

传入一个字典也可以将数据与数据标签以key:value(字典)的形式传入,这样字典的key值就是数据标签,value就是数据值。

3、利用index方法获取Series的索引

获取一组数据的索引是比较常见的需求,直接利用index方法就可以获取Series的索引值,代码如下所示

4、利用values方法获取Series的值

与索引值对应的就是获取Series的值,使用的方法是values方法。

二、DataFrame表格型数据结构

1、DataFrame是什么

Series是由一组数据与一组索引(行索引)组成的数据结构,而DataFrame是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。之所以叫表格型数据结构,是因为DataFrame的数据形式和Excel的数据存储形式很相近,接下来的章节主要围绕DataFrame这种表格型数据结构展开。下面就是一个简单的DataFrame数据结构。

上面这种数据结构和Excel的数据结构很像,既有行索引又有列索引,由行索引和列索引确定唯一值。如果把上面这种结构用Excel表展示如下表所示。

2、创建一个DataFrame

创建DataFrame使用的方法是pd.DataFrame(),通过给DataFrame()方法传入不同的对象即可实现。传入一个列表传入一个列表的实现如下所示。

注:该大写的一定要大写,要不系统识别不了

只传入一个单一列表时,该列表的值会显示成一列,且行和列都是从0开始的默认索引。传入一个嵌套列表

当传入一个嵌套列表时,会根据嵌套列表数显示成多列数据,行、列索引同样是从0开始的默认索引。列表里面嵌套的列表也可以换成元组。

指定行、列索引

如果只给DataFrame()方法传入列表,DataFrame()方法的行、列索引都是默认值,则可以通过设置columns参数自定义列索引,设置index参数自定义行索引。

设置列索引

设置行索引

行、列同时设置索引

传入一个字典,传入一个字典的实现如下所示:

直接以字典的形式传入DataFrame时,字典的key值就相当于列索引,这个时候如果没有设置行索引,行索引还是使用从0开始的默认索引,同样可以使用index参数自定义行索引,代码如下:

3、获获取DataFrame的行、列索引

利用columns方法获取DataFrame的列索引。

利用index方法获取DataFrame的行索引。

4、获取DataFrame的值

获取DataFrame的值就是获取DataFrame中的某些行或列,有关行、列的选择在第6章会有详细讲解。

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: 第三章Pandas数据结构