Pandas Series简述
Series是Pandas的核心数据结构之一,也是理解高阶数据结构DataFrame的基础。
Series是一种类似于一维数组的数据结构,是由一组数据及与之对应的标签(即索引)构成的。列表内的元素可以是相同类型的,也可以是不同类型的,而Series则不同,其内部的数据要整齐划一,数据类型必须相同。我们可以通过Series的index和values属性,分别获取索引和数组元素值。
# -*- coding: utf-8 -*-
import pandas as pd
a=pd.Series([2,0,2,12])
b=pd.Series([2,0,2,12],index=['a','b','v','d'])
print(a)
print(b)
print(a.values)
print(a.index)
b.index=['a1','b1','v1','d1']
print(b)
Dict={'a':1,'b':2,'v':3,'d':4}
c=pd.Series(Dict)
print(c)
可以自行运行代码,了解一下Series的创建与显示。
Series还提供了简单的统计方法(如describe())供我们使用。describe()方法为以列为单位进行统计分析,包括数量、平均值、最大值、最小值、均方差等。
Series的访问可如同列表、字典一样进行访问,或者进行切片访问,请自行执行以下代码查看。
Dict={'a':1,'b':2,'v':3,'d':4}
c=pd.Series(Dict)
print(c[1])
print(c['a'])
print(c[['a','b']])
print(c[[1,3]])
print(c[0:2])
print(c['a':'b'])
两个Series对象还可以通过append()方法实施叠加操作,以达到Series对象合并的目的。
在Pandas中,缺失值用NaN(Not a Number,非数字)来表示。我们可以使用Pandas中的isnull()和notnull()两个方法来检测数据中是否含有缺失值。使用isnull()方法True表示该位置处的数据为缺失值。notnull()方法的功能与isnull()方法正好相反,它将逐个判断Series中的元素是否不为空值。
Series对象可进行广播操作,如下:
Dict={'a':1,'b':2,'v':3,'d':4}
c=pd.Series(Dict)
print(c*3)
当我们想要删除Series中的一条或者多条数据时,可以使用Pandas提供的drop()方法。对Series进行删除操作并不会“惊扰”原有Series中的数值。如果我们的确想删除原始Series对象中的数据,该怎么办呢?办法还是有的。我们可以在drop()方法中多启用一个参数inplace,它是一个布尔类型变量,默认值为False,如果设置为True,drop()操作就会在“本地”完成,最终的删除效果便会体现在原始Series对象上。
关于Series的属性,除了我们在前面讨论过的index与values,还有两个很有用的需要说明,那就是name与index.name。name可以理解为数值列的名称,index.name就是这个索引列的名称