学科分类
目录
数据分析

重命名轴索引

当数据经过清洗之后,这些数据并不能直接拿来做分析建模,所以为了进一步对数据进行分析,需要对数据进行一些合理的转换,使这些数据更加符合分析的要求。

数据转换是指数据从一种表现形式变为另一种表现形式的过程,具体包括重命名轴索引、离散化和面元划分、计算指标/哑变量。

重命名索引是数据分析中比较常见的操作,Pandas中提供了一个rename()方法来重命名个别列索引或行索引的标签或名称,该方法的语法格式如下:

rename(mapper = None,index = None,columns = None,axis = None,copy = True,
       inplace = False,level = None)

上述方法中常用参数表示的含义如下:

(1) index,columns:表示对行索引名或列索引名的转换。

(2) axis:表示轴的名称,可以使用index或columns,也可以使用数字0或1。

(3) copy:表示是否复制底层的数据,默认为False。

(4) inplace:默认为False,表示是否返回新的Pandas对象。如果设为True,则会忽略复制的值。

(5) level:表示级别名称,默认为None。对于多级索引,只重命名指定的标签。

为了能够让大家更好地理解,接下来,通过一段示例代码来演示如何使用rename()方法重命名列索引的名称,具体代码如下。

 In [39]: import pandas as pd
          df = pd.DataFrame({'A':['A0', 'A1', 'A2', 'A3'],'B':['B0', 'B1', 'B2', 'B3'],
                             'C':['C0', 'C1', 'C2', 'C3']})
          df

 Out[39]:
  A  B  C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
 In [40]: # 重命名列索引的名称,并且在原有数据上进行修改
          df.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace=True)
          df

 Out[40]: 
  a  b  c
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3

上述示例中,创建了一个4行3列的DataFrame对象df,其中列索引的名称为A、B、C,然后调用rename()方法直接将df的每个列索引名称重命名为a、b、c。从输出结果看出,列索引的名称发生了变化,变化前后的效果如图1所示。

img

图1 重命名列索引示例

除此之外,还可以根据str中提供的使字符串变成小写的功能函数lower()来重命名索引的名称,无需再使用字典逐个进行替换,具体示例代码如下。

In [41]: import pandas as pd
         df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                            'B': ['B0', 'B1', 'B2', 'B3'],
                            'C': ['C0', 'C1', 'C2', 'C3']})
         df.rename(str.lower, axis='columns')
Out[41]: 
  a  b  c
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3

使用rename()方法也可以对行索引进行重命名,示例代码如下。

 In [42]: import pandas as pd
          df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                             'B': ['B0', 'B1', 'B2', 'B3'],
                             'C': ['C0', 'C1', 'C2', 'C3']})
          df.rename(index={1: 'a', 2: 'b'}, inplace=True)
          df

 Out[42]:
  A  B  C
0 A0 B0 C0
a A1 B1 C1
b A2 B2 C2
3 A3 B3 C3

值得一提的是,参数index与columns的使用方式相同,都可以接收一个字典,其中字典的键代表旧索引名,字典的值代表新索引名。

点击此处
隐藏目录