在Numpy学习中,已经可以进行数值运算,运算的对象是数组对象,适合处理同质型的数据,也就是数据类型相同的数据,Pandas适合处理表格型或异质型数据的,表格中有字符串或者其他类型的数据,提供高效的清洗、处理数据的能力。
Pandas是基于Numpy的工具,提供了高性能矩阵的运算,该工具是为了解决数据分析任务而创建的,要重点学习,贯穿整个Python数据分析非常核心的工具。涉及的内容是Pandas的基本数据结构、高级数据结构、数据清洗、数据聚合结构、时间序列等相关内容。
安装:pip install pandas
Pandas除了处理数值型的数据,还可以对字符串、时间序列等类型的数据,如处理爬虫从数据库中采集到的表等,Pandas是面板数据,表格型数据,是非常强大的分析结构化数据的工具集,基于Numpy构建的,提供了高级的数据结构和数据操作工具、高性能的矩阵运算、大量便捷处理数据的方法和函数、数据清洗等功能。
Series是一维的数组型对象,它包含了一个值序列(values);并且包含了数据标签,称为索引(index)。
pd.Series(data=None,index=None,dtype=None,name=None,copy=False)
● data:创建数组的数据,可为array-like, dict, or scalar value
● index:指定索引
● dtype:数组数据类型
● name:数组名称
● copy:是否拷贝
可以用列表、元组、数组、字典的方式创建,字典默认显示为键值和内容,其他的默认显示为索引值和内容。
Series对象可以用位置索引、标签名索引、选取多个数据、下标切片、标签切片、步长、布尔索引、数组广播等方式处理数据。
head、tail、isnull、notnull函数的使用,Pandas可以使用Numpy的数组函数。
表格型数据结构
键对应的是列表、元组或者数组对象,由字典构成的数DataFrame对象。
有行索引和列索引,先列后行,字典的键名称作为列名称。字典中已经指定了Key为列索引,不可以随意更改,否则会找不到内容,但是可以不写或者互换位置;行索引可以更改。
2.由Series对象组成字典构造DataFrame
DataFrame可以由多个Series对象组成。
3.由字典组成字典构造DataFrame
1.二维数组构造DataFrame
2.由字典构造列表 ,构建DataFrame
3.由series组成的列表构造DataFrame
DataFrame的每一行,每一列都是一个Series,取值顺序是先取列再取行。
取列可以直接用列索引,取行需要加上loc
可以根据广播的特性更改某一个值、某一行或者某一列的值。
默认的删除不再原表上操作,生成新的表格进行删除,加上inplace参数,则在原表上直接进行删除操作。
为了保证数据安全,Series的索引对象生成后就不允许改变。
增加索引的方法,第一是用没有出现过的索引名赋值,第二种是用append方法追加到末尾。
从增加、删除、查找、更改、重新索引、重命名几个方面分别对Series和DataFrame对象进行操作。
可以用直接赋值和append两种方法进行增加,直接赋值方式增加的时候,索引名称如果是已存在的,则对索引内容进行修改,不存在时才进行增加。
对DataFrame对象进行增加的时候,方括号内为列索引名称,可以根据值的行数进行赋值,也可以统一赋值为相同的值,也可以用insert方法进行增加。
当增加的值小于列数的时候,可以用忽略索引进行增加,没有出现的列值都为NaN。
把Series对象追加到DataFrame对象种时,方括号内的名字为行索引的名称。
分别从Series对象和DataFrame对象进行操作,可以用"方法.?"的方式查看方法的源代码,如果里面有inplace参数,改为True就是在原数据上操作,就不需要有返回值;如果没有或者为False 就不在原数据上操作,有返回值,在新的对象里进行操作再返回。
del和drop都可以进行删除多列的操作,del在原数据上进行操作,drop不在原数据上操作,axis不写或者为0的时候默认是对行索引的操作。
更改可以用赋值的方法直接进行。
对Series的操作,重新排列索引顺序,对没有出现的索引,数据默认为NaN。
对DataFrmae的操作,重新排列索引对象的顺序,默认是对行索引的操作,没有的索引名称会自动添加,数据为NaN,可以用指定参数和指定列的方式对列索引及其内容进行操作。
把新旧名字以键值对的形式传入
对DataFrame进行重命名的时候,默认是对行的操作,可以用指定参数和指定列的方式对列进行操作