pandas复习总结(一)

本篇文章主要是复习pandas,内容如下:

1.pandas简介
2.Series对象
3.DataFrame对象
4.索引对象
5.基本功能之重新索引

pandas简介

pandas是基于Numpy构建的,它让以Numpy为中心的应用变得更加简单,引入pandas库方式如下:
在这里插入图片描述
pandas的两个主要数据结构:Series和DataFrame

因为Series和DataFrame非常常用,所以将其引入本地命名空间会方便些。

Series对象

Series类似与一维数组,由一个numpy数组和索引组成(索引和数组元素一一对应),以下是一个Series对象
在这里插入图片描述我们可以看到索引在左边,值在右边,由于我们没有指定数组的索引,因此会自动创建0到N-1的整数型索引(其中N为元素的个数),如果我们要指定索引的话我们可以传入index参数。

在这里插入图片描述
并且我们可以通过.index访问实例对象的index对象
在这里插入图片描述
Series对象可以使用切片、布尔型数组、花式索引等索引方法,用法与Numpy数组相同。并且可以使用索引来选取Series的值。
在这里插入图片描述
Series对象运算(如备选数组索引,标量乘法,应用数学函数等)时会保留索引和值的链接。如上图所示,使用布尔型索引和花式索引时,仍可以看到左边是索引,右边是值。

Series对象可以从Numpy数组、Python列表、元组以及字典创建。根据数组列表元组创建Series上面已经给出例子。但是如果从字典中创建Series对象的话,字典的键会变成索引,字典的值会变成索引对应的值,(Series元素的顺序为字典里键的顺序)如下:
在这里插入图片描述
因此也可以吧Series看作定长的字典,因为它表示了从索引到值的映射。

Series对象还有数据对齐功能,如下所示:
在这里插入图片描述

DataFrame对象

DataFrame是一个表格型的数据结构,既有行索引,也有列索引(表头),每一行每一列都可以看成一个Series。

DataFrame有以下创建方法
在这里插入图片描述
DataFrame的创建(传入二维数组):
在这里插入图片描述
传入列表组成的字典,键会变成列索引,列表会变成DataFrame中的一列,如下:
在这里插入图片描述
传入字典组成的字典,外层的键’a’,'b’为列索引,内层的键为行索引,如下:
在这里插入图片描述
传入Series组成的列表
在这里插入图片描述
可以看到第一行的数据是s1的数据,第二行是s2的数据。

在DataFrame中我们仍可以通过索引来进行数据的选取,但是要注意第一个中括号是索引对应列,第二个中括号才是索引行。如果我们想直接索引某一行的话我们可以使用.loc或者.iloc,其中loc是针对索引的选取方法,而iloc则是针对于行号的选取方法。
在这里插入图片描述
如果我们要同时修改某一列(行),如果你先用一个数组、列表之类的去替换某列,则列表的长度必须和DataFrame的行数相等,否则不能赋值,如下:
在这里插入图片描述
若将Series对象赋值给某列的话,则会发生数据对齐,DataFrame的行索引与Series行索引一样的元素直接赋值,其余值一并变成NAN。
在这里插入图片描述
如上例所示,Series和d1都含有索引 1 ,所以该位置的元素被成功覆盖。由于DataFrame没有为 3 的索引而且索引 0和2 的值没有指定,因此索引为 0和 2 的值为NAN。

索引对象

Series和DataFrame都会有索引对象,并且索引对象是不可以修改的,但是却可以重复。pandas中主要的index对象如下
在这里插入图片描述
1、重新索引
pandas对象的一个重要方法是:reindex ,其作用是创建一个适应新索引的新对象,reindex()可以对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝。
在这里插入图片描述
DataFrame的reindex方法也是类似的,默认是对行索引重置,若想对列索引重置使用column参数即可。

除了reindex方法外,还有如下这几个方法,简单介绍以下:
2.dropna()
去掉包含缺失值的行

3.fillna()
对缺失值进行填充,用指定值或插值方法(如ffill或bfill)填充缺失数据,如:df.fillna(value=5)
4.isnull()
对数据进行布尔值填充,表达式:pd.isnull(df)
5.notnull isnull方法的否定式

Pandas库的基本操作就学习到这里的,下一章我会把Numpy库学习笔记也分享出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值