python数据分析及可视化(五)Pandas的介绍、Series和DataFrame的创建和增加、删除、更改、查找、重新索引、重新命名等基本操作

Pandas的介绍

在Numpy学习中,已经可以进行数值运算,运算的对象是数组对象,适合处理同质型的数据,也就是数据类型相同的数据,Pandas适合处理表格型或异质型数据的,表格中有字符串或者其他类型的数据,提供高效的清洗、处理数据的能力。
Pandas是基于Numpy的工具,提供了高性能矩阵的运算,该工具是为了解决数据分析任务而创建的,要重点学习,贯穿整个Python数据分析非常核心的工具。涉及的内容是Pandas的基本数据结构、高级数据结构、数据清洗、数据聚合结构、时间序列等相关内容。

安装:pip install pandas

Pandas除了处理数值型的数据,还可以对字符串、时间序列等类型的数据,如处理爬虫从数据库中采集到的表等,Pandas是面板数据,表格型数据,是非常强大的分析结构化数据的工具集,基于Numpy构建的,提供了高级的数据结构和数据操作工具、高性能的矩阵运算、大量便捷处理数据的方法和函数、数据清洗等功能。

Series

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

表格型数据结构

创建方式

1.字典类

键对应的是列表、元组或者数组对象,由字典构成的数DataFrame对象。
有行索引和列索引,先列后行,字典的键名称作为列名称。字典中已经指定了Key为列索引,不可以随意更改,否则会找不到内容,但是可以不写或者互换位置;行索引可以更改。
在这里插入图片描述
在这里插入图片描述
2.由Series对象组成字典构造DataFrame
DataFrame可以由多个Series对象组成。
在这里插入图片描述
3.由字典组成字典构造DataFrame
在这里插入图片描述

2.列表类

1.二维数组构造DataFrame
在这里插入图片描述
2.由字典构造列表 ,构建DataFrame
在这里插入图片描述
3.由series组成的列表构造DataFrame
在这里插入图片描述

基本操作

1.索引

DataFrame的每一行,每一列都是一个Series,取值顺序是先取列再取行。
在这里插入图片描述
取列可以直接用列索引,取行需要加上loc
在这里插入图片描述
可以根据广播的特性更改某一个值、某一行或者某一列的值。
在这里插入图片描述
默认的删除不再原表上操作,生成新的表格进行删除,加上inplace参数,则在原表上直接进行删除操作。
在这里插入图片描述
在这里插入图片描述

2.index对象

为了保证数据安全,Series的索引对象生成后就不允许改变。
增加索引的方法,第一是用没有出现过的索引名赋值,第二种是用append方法追加到末尾。
在这里插入图片描述
在这里插入图片描述

3.索引对象的基本操作

从增加、删除、查找、更改、重新索引、重命名几个方面分别对Series和DataFrame对象进行操作。

1.增加

可以用直接赋值和append两种方法进行增加,直接赋值方式增加的时候,索引名称如果是已存在的,则对索引内容进行修改,不存在时才进行增加。
在这里插入图片描述
对DataFrame对象进行增加的时候,方括号内为列索引名称,可以根据值的行数进行赋值,也可以统一赋值为相同的值,也可以用insert方法进行增加。
在这里插入图片描述
当增加的值小于列数的时候,可以用忽略索引进行增加,没有出现的列值都为NaN。
在这里插入图片描述
把Series对象追加到DataFrame对象种时,方括号内的名字为行索引的名称。
在这里插入图片描述

2.删除

分别从Series对象和DataFrame对象进行操作,可以用"方法.?"的方式查看方法的源代码,如果里面有inplace参数,改为True就是在原数据上操作,就不需要有返回值;如果没有或者为False 就不在原数据上操作,有返回值,在新的对象里进行操作再返回。
在这里插入图片描述
del和drop都可以进行删除多列的操作,del在原数据上进行操作,drop不在原数据上操作,axis不写或者为0的时候默认是对行索引的操作。
在这里插入图片描述

3.查找

在这里插入图片描述

高级索引
  • loc标签索引
  • iloc位置索引
  • ix 混合索引(不推荐使用)
    在这里插入图片描述

4.更改

更改可以用赋值的方法直接进行。
在这里插入图片描述

5.重新索引

对Series的操作,重新排列索引顺序,对没有出现的索引,数据默认为NaN。
在这里插入图片描述
对DataFrmae的操作,重新排列索引对象的顺序,默认是对行索引的操作,没有的索引名称会自动添加,数据为NaN,可以用指定参数和指定列的方式对列索引及其内容进行操作。
在这里插入图片描述

6.重命名

把新旧名字以键值对的形式传入
在这里插入图片描述
对DataFrame进行重命名的时候,默认是对行的操作,可以用指定参数和指定列的方式对列进行操作
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hwwaizs/article/details/125985336