一、什么是pandas?
pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持。pandas是PyData项目的一部分。
官网:http://pandas.pydata.org/
官方文档:http://pandas.pydata.org/pandas-docs/stable/
二、pandas基本数据结构
pandas中主要有两种数据结构,分别是:Series和DataFrame。
Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。
例如:
结果:通过pd.Series()创建了一个Series对象,进行输出。发现输出结果是一个竖立的数组,且有index(索引值)
DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
结果:通过pd.DataFrame创建了一个DataFrame对象,进行输出。发现输出结果是一个表格,既有行索引,又有列索引。
三、Series的增删查改
1、series的创建
通过一维数组的方式创建
通过字典的方式创建
通过字典创建Series对象并且查询index、values、dtype属性值
2、series的查询
Series值的获取
Series值的获取主要有两种方式:
通过方括号+索引的方式读取对应索引的数据,有可能返回多条数据
通过方括号+下标值的方式读取对应下标值的数据,下标值的取值范围为:[0,len(Series.values));另外下标值也可以是负数,表示从右往左获取数据
Series获取多个值的方式类似NumPy中的ndarray的切片操作,通过方括号+下标值/索引值+冒号(:)的形式来截取series对象中的一部分数据
3、series的改
修改index索引:通过数组创建Series的时候,如果没有为数据指定索引的话,会自动创建一个从0到N-1的整数索引;当Series对象创建好后,可以通过index修改索引值。
注意:在创建Series对象的时候可以直接修改index属性值,和dtype属性值。例如:
4、Series的运算
NumPy中的数组运算,在Series中都保留了,均可以使用,并且Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。
注意:其实在操作Series的时候,基本上可以把Series看成NumPy中的ndarray数组来进行操作。ndarray数组的绝大多数操作都可以应用到Series上。
示例:
示例2
5、 Series及其索引的name属性
Series对象本身以及索引都具有一个name属性,默认为空,根据需要可以进行赋值操作
示例
6、Series缺失值检测
pandas中的isnull和notnull两个函数可以用于在Series中检测缺失值,这两个函数的返回一个布尔类型的Series