7、pandas设置和修改索引,计数,多表交叉合并
2017-12-10 本文已影响0人
让数据告诉你
现有一个现成的表格,是从EXCEL中读取出来的,已经带有序号这一列,我们需要将序号这一列改为索引,这就需要用到set_index()函数。
![](https://img.haomeiwen.com/i8612260/f95a7412e4ee162f.png)
![](https://img.haomeiwen.com/i8612260/cc599566d0b03b8d.png)
当然也可以只在在读取数据的时候进行索引的设定:
![](https://img.haomeiwen.com/i8612260/6a1b1437c7956015.png)
也可以继续使用新的序列作为新索引,修改了之后原来的索引就默认删除了:
![](https://img.haomeiwen.com/i8612260/5d0cf76fcc150a29.png)
有时,我们需要知道这个表有多少行,比如:需要在表最后再添加一行的时候,.count()能将每列多少行一起返回。
![](https://img.haomeiwen.com/i8612260/abedbc4d4bc5ad93.png)
如果我们只需要一个数字,那我们就从中挑一列来计数就可以了。
![](https://img.haomeiwen.com/i8612260/68aa36f1416cd9d7.png)
在表后面添加一行,只需要用到前面文章中用到的选取行数据,再赋值就行了(根据索引是否从0开始,决定.count()后面是否要加1)。
![](https://img.haomeiwen.com/i8612260/f58bf5074226bbc2.png)
如果在循环中进行此操作,就可以完成:将多个表格穿插合并成一个表格,也可以通过计算得出新的行,再合并到旧的表格中,比如有两个表df和df2:
![](https://img.haomeiwen.com/i8612260/0b274b04151384b5.png)
先新建一个DataFrame, 将其中一个表的列名复制:
![](https://img.haomeiwen.com/i8612260/11ad5b1201ba7289.png)
将两个表的索引修改一下:
![](https://img.haomeiwen.com/i8612260/5a91bca287e2969f.png)
![](https://img.haomeiwen.com/i8612260/c248113f97dc057c.png)
然后迭代:
![](https://img.haomeiwen.com/i8612260/245bd9dd8565f5c5.png)
就这样就交叉起来了(for循环计算会比较慢)。