Python3 pandas(5) 设置和修改索引,计数,多表交叉合并

现有一个现成的表格,是从EXCEL中读取出来的。已经带有序号这一列。我们需要将序号这一列改为索引。这就需要用到set_index()函数。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

索引已经修改。当然,在读取EXCEL的时候就可以直接用index_col参数设定索引。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

当然也可以用新的序列作为新索引,修改了索引后,原来索引的就默认删除了。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

里面的np是指导入的numpy库。上面这个语句也可以写成 df.set_index([[2,4,6,8,10,12,14,16,18]]), 我没有写错,是两重方括号,如果只是一个方括号,系统会报错。

有时,我们需要知道这个表有多少行,比如:需要在表最后再添加一行的时候。.count()能将每列多少行一起返回。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

如果我们只需要一个数字,那我们就从中挑一列来计数就可以了。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

在表后面添加一行,只需要用到前面文章中用到的选取行数据,再赋值就行了。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

这样赋值后,就在表格最后添加了一行。赋值的时候可以是一个列表:

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

根据索引是否从0开始,决定.count()后面是否要加1。

如果在循环中进行此操作,就可以完成:将多个表格穿插合并成一个表格,也可以通过计算得出新的行,再合并到旧的表格中。比如有两个简单的表:

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

先新建一个DataFrame, 将其中一个表的列名复制。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

将两个表的索引修改一下。

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

然后迭代:

《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》
《Python3 pandas(5) 设置和修改索引,计数,多表交叉合并》

就这样就交叉起来了。

    原文作者:曹骥
    原文地址: https://zhuanlan.zhihu.com/p/29749643
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞