如何重命名Pandas数据框架中的列

  • Post category:Python

重命名Pandas数据框架中的列,一般可以使用rename方法来实现。

方法一:使用rename方法

  1. 语法格式:
df.rename(columns={old_name1:new_name1, old_name2:new_name2, ...}, inplace=True)

其中,columns指向需要被替换的列名与新列名的对应关系,inplace=True表示在原数据框上进行替换(不使用inplace参数时,原数据框不会被修改,而是返回一个替换后的数据框)。

  1. 示例:

下面给出一个例子:

import pandas as pd

data = {'id':[1,2,3],'name':['Tom','Jack','Steve'],'age':[33,45,22],'gender':['M','M','F']}
df = pd.DataFrame(data)

# 输出原数据框
print('原数据框:')
print(df)

# 使用rename方法重命名列
df.rename(columns={'id':'编号', 'name':'姓名', 'age':'年龄', 'gender':'性别'}, inplace=True)

# 输出重命名后的数据框
print('重命名后的数据框:')
print(df)

运行结果:

原数据框:
   id   name  age gender
0   1    Tom   33      M
1   2   Jack   45      M
2   3  Steve   22      F
重命名后的数据框:
   编号     姓名  年龄 性别
0   1    Tom  33   M
1   2   Jack  45   M
2   3  Steve  22   F

该例子中,使用rename方法将原数据框中的列名idnameagegender重命名为编号姓名年龄性别

方法二:直接修改列名属性

另外一种修改Pandas数据框架中的列名的方法是,调用数据框架的columns属性来修改:

df.columns = ['new_name1','new_name2',...,'new_nameN']

示例如下:

import pandas as pd

data = {'id':[1,2,3],'name':['Tom','Jack','Steve'],'age':[33,45,22],'gender':['M','M','F']}
df = pd.DataFrame(data)

# 输出原数据框
print('原数据框:')
print(df)

# 直接修改列名属性
df.columns = ['编号', '姓名', '年龄', '性别']

# 输出修改后的数据框
print('修改后的数据框:')
print(df)

运行结果与前一种方法一致。需要注意的是,直接修改列名属性更加方便,但不够灵活,例如无法一次性修改多个列的名称。

总体来说,两种方法都可以用来重命名Pandas数据框架中的列名,具体使用哪种方法应根据实际情况来决定。