开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:Pandas 基础3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15382
Pandas 基础3
内容介绍
一、整数索引
二、算术和数据对齐
本节课讲解 Pandas 中的整数索引,在 python 的基本数据结构中, list 和 tuple 使用整数索引进行记录的查找非常方便;但是在 Pandas 中可能会发生错误。
一、整数索引
讲解一个事例,创建一个 Pandas 的系列 Series ( np . arrange ),观察系列的结果,里面的索引是0、1、2,值是浮点型的,在观察使用整数索引的取值,取-1时报出,如是列表,-1是最后一个元素,但是在 Pandas Series 里就会不一样,问题是索引里存在 0、1、2,当使用-1时就不在索引范围里。如使用非整数索引来做 index ,就没有歧义了,
如上图再做一个索引,索引是 a 、 b 、c ,此时使用-1,发现在索引里不存在 a 、 b 、c 的内容,-1代表了找最后一条记录,原来的索引是0、1、2时,因为是整数,所以里面可能是 -1、-2,可以包括负数。
为了保持连贯性,如果 axis index 里包含 integer ,那么选择数据的时候,就会是 label - orented ,为了更精确地选择,使用 loc ( for label )或 ilco ( for integers )查找, ilco ( for integers )进行整数型。下图事例,
注意:Iloc 是寻找0这条记录,注意后面与 iloc 的对比, python 中的 Pandas 就是如此定义。
二、算术和数据对齐
Pandas 一个有用的 feature ,就是不同 index 的 object 之间的算术计算,如果两个 object 相加,但他们各自的 index 并不相同,最后结果得到的 index 是这两个 index 的合集。如下图事例,
将其进行计算,得到的结果如下图所示,
两个系列相加时,如下图所示,
如 index 不相同,d 两个只存在其中一个,这种数据对齐的方式( internal data alignment ),索引相同才可以进行相加,引入了很多缺失值在没有对应 index 的位置上,这些缺失值会被用在之后的算术计算中;在数据框中,数据对齐同时发生在行和列上,如下图所示事例,
第一个构造了如上图的数据框,三行三列,列的名字是 b 、 c 、 d ,列的名字是 Ohio ,Taxas , Colorado 。
第二个数据框如上图所示,显示如上结果。
上图是显示的结果,如两个数据库相加的结果就是两个数据框,行和列的合集,下图是相加的结果,
行和列完全相同的才能够相加,一个不相同,所相加的值就为空值。因为 c 和 e 都不在两个数据框里,所有全是缺失值,即使有相同的,但列不一样的话也会是缺失值,如果两个数据框相加,而且没有 column 和 row ,结果会全是 null 。
如下图事例,
所得结果为下图,
两个数据库相减,里面的值都为空,因为两个数据框的列不相同,所以就会产生两个新列。