简述数据预处理的常用操作 数据预处理方法和内容( 五 )


1、为无索引的表添加索引
有的表没有索引,这时要给这类表加一个索引 。
(1)Excel实现
在Excel中,一般都是有索引的,如果没索引数据看起来会很乱,当然也会有例外,数据表就是没有索引的 。这个时候插入一行一列就是为表添加索引 。
添加索引前后的对比如下图所示,序号列为行索引,字段名称为列索引 。
(2)Python实现
在Python中,如果表没有索引,会默认用从0开始的自然数做索引,比如下面这样:
通过给表df的columns参数传入列索引值,index参数传入行索引值达到为无索引表添加索引的目的,具体实现如下:
2、重新设置索引
重新设置索引,一般指行索引的设置 。有的表虽然有索引,但不是我们想要的索引,比如现在有一个表是把序号作为行索引,而我们想要把订单编号作为行索引,该怎么实现呢?
(1)Excel实现
在Excel中重新设置行索引比较简单,你想让哪一列做行索引,直接把这一列拖到第一列的位置即可 。
(2)Python实现
在Python中可以利用set_index ( ) 方法重新设置索引列,在 set_index ( ) 里指明要用作行索引的列的名称即可 。
在重新设置索引时,还可以给 set_index ( ) 方法传入两个或多个列名,我们把这种一个表中用多列来做索引的方式称为层次化索引,层次化索引一般用在某一列中含有多个重复值的情况下 。层次化索引的例子,如下所示,其中 a、b、c、d 分别有多个重复值 。
3、重命名索引
重命名索引是针对现有索引名进行修改的,就是改字段名 。
(1)Excel实现
在Excel中重命名索引比较简单,就是直接修改字段名 。
(2)Python实现
在Python中重命名索引,我们利用的是rename ( ) 方法,在rename ( ) 后的括号里指明要修改的行索引及列索引名 。
4、重置索引
重置索引主要用在层次化索引表中,重置索引是将索引列当作一个columns进行返回 。
在下图左侧的表中,Z1、Z2是一个层次化索引,经过重置索引以后,Z1、Z2这两个索引以columns的形式返回,变为常规的两列 。
在Excel中,我们要进行这种转换,直接通过复制、粘贴、删除等功能就可以实现,比较简单 。我们主要讲一下在Python中怎么实现 。
在Python利用的是reset_index ( ) 方法,reset_index ( ) 方法常用的参数如下:
level参数用来指定要将层次化索引的第几级别转化为columns,第一个索引为0级,第二个索引为1级,默认为全部索引,即默认把索引全部转化为columns 。
drop参数用来指定是否将原索引删掉,即不作为一个新的columns,默认为False,即不删除原索引 。
inplace参数用来指定是否修改原数据表 。

猜你喜欢