import pandas as pd //起个别名

Series索引

在pandas当中我们最常用的数据结构有两个,一个是Series,另外一个是DataFrame。其中series是一维数据结构,可以简单理解成一维数组或者是一维向量。而DataFrame自然就是二维数据结构了,可以理解成表或者是二维数组。

Series当中存储的数据主要有两个,一个是一组数据构成的数组,另外一个是这组数据的索引或者是标签。

Series 取出value 获取series的值_Series 取出value

可以看到打印的数据有两列,第二列是输入的数据,第一列是他的索引。

我们可以通过Series类型当中的values和index属性查看到Series当中存储的数据和索引:

Series 取出value 获取series的值_数据结构_02

我们也可以指定数据的索引,进入index这个参数

Series 取出value 获取series的值_Series 取出value_03


我们可以直接将索引当做数组的下标使用,也可以直接查询若干个索引的值

Series 取出value 获取series的值_数组_04


另外在创建Series的时候,重复的索引也是允许的

Series 取出value 获取series的值_数据_05


不仅如此,像是Numpy那样的bool型索引也依然是支持的:

Series 取出value 获取series的值_Series 取出value_06

Series计算

我们可以直接使用加减乘除操作对整个Series进行运算:

Series 取出value 获取series的值_数组_07


也可以使用Numpy当中的运算函数来进行一些复杂的数学运算,但是这样计算得到的结果会是一个Numpy的array。

Series 取出value 获取series的值_数据结构_08


因为Series当中有索引,所以我们也可以使用dict的方式判断索引是否在Series当中:

Series 取出value 获取series的值_数组_09


Series有索引也有值,其实和dict的存储结构是一样的,所以Seires也支持通过一个dict来初始化:

Series 取出value 获取series的值_Series 取出value_10


通过这种方式创建出来的顺序就是dict当中key存储的顺序,我们可以在创建的时候指定index,这样就可以控制它的顺序了。

Series 取出value 获取series的值_Series 取出value_11


我们在指定index的时候额外传入了一个没有在dict当中出现过的key,由于在dict当中找不到对应的值,Series会将它记成NAN(Not a number)。可以理解成是非法值或者是空值,在我们处理特征或者是训练数据的时候,经常会遇到存在一些条目的数据的某个特征空缺的情况,我们可以通过pandas当中isnull和notnull函数检查空缺的情况。

Series 取出value 获取series的值_数组_12


当然Series当中也有isnull的函数,我们也可以调用。

Series 取出value 获取series的值_数组_13


最后,Series当中的index也是可以修改的, 我们可以直接给它赋上新值:

Series 取出value 获取series的值_数据结构_14