Excel & Python | Pandas数据结构 | 01

Series数据数据结构

Series是什么

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

上面这样的数据结构就是Series。

第一列数值是数据标签(索引),第二列是具体的数据。数据标签和数据是一一对应的。

上面的数据用Excel表展示如下表所示。

创建一个Series

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

传入一个列表

传入一个列表的实现方式如下。

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

指定索引

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

传入一个字典。

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

利用index方法获取Series的索引

获取一组数据的索引是比较常见的序列,利用index属性就可以直接获得Series的索引值。

利用values方法获取Series的值

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

DataFrame表格型数据结构

DataFrame是什么

Series是由一组数据与一组索引(行索引)组成的数据结构,而DataFrame是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。

之所以叫表格型数据结构,是因为DataFrame的数据形式和Excel的数据存储形式很相近。接下来的章节主要围绕DataFrame这种表格型数据结构展开。

下面就是一个简单的DataFrame数据结构。

上面这种数据结构和Excel的数据结构很像,既有行索引又有列索引,由行索引和列索引确定唯一值。

如果把上面的这种结果用Excel表展示如下。

创建一个DataFrame

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

传入一个列表

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

传入一个嵌套列表(二维列表)

当传入一个二维列表,会根据二维列表里显示成多列数据,行。

行、列索引依然从0开始。

列表可以更换为元组。

指定行、列索引

通过columns参数自定义列索引,index参数自定义行索引。

传入一个字典

直接以字典的形式传入DataFrame时,字典的Key值就相当于时列索引,这个时候如果没有设置行索引,行索引还是默认从0开始。

同样可以使用index参数引入行索引。

获取DataFrame的行、列索引

利用columns属性获取DataFrame的列索引

利用index属性获取DataFrame的行索引

获取DataFrame的值

获取DataFrame的值就是获取DataFrame中某些列或行,有关于行、列的选择会在后面由详细讲解。

小结

Series是什么? 
	可以理解为两列的一个数据结构:索引 & 数值

创建一个Series
	pd.Series()
	传入列表 pd.Series(['A','B','C']) # 索引默认为0,1,2
	传入列表 index  pd.Series(['A','B','C'],index=[0,1,2])
	传入字典 pd.Series({0:'A',1:'B',2:'C'}) # key:Value <=> 索引:值

获取Series的索引和数值
	通过ser对象的index和values属性
	ser.index
	ser.values

DataFrame是什么?
	多个Series + 列索引 = DadaFrame

创建DataFrame
	pd.DataFrame()
	传入一个列表   Series + 列索引 # 行、列索引默认都从0开始
	传入一个二列列表 
	设置行、列索引 columns、index
	传入字典 key为columns,通过index指定行索引

获取DataFrame的索引
	通过df对象的index和columns属性
	(关于获取df的数值,这个会在后面讲解)
posted @ 2021-07-06 18:05  RowryCho  阅读(164)  评论(0编辑  收藏  举报