Pandas 如何重命名单个DataFrame列,而不知道列名

Pandas 如何重命名单个DataFrame列,而不知道列名

在数据分析中,经常需要根据某些条件修改DataFrame中的列名。但如果我们所面对的数据集很大,就比较难以记住每个列的名称,这时候就需要用到Pandas中的方法重命名单个DataFrame列。

阅读更多:Pandas 教程

重命名单个DataFrame列

假设我们有以下数据集

Name Age Sex
0 Tom 20 M
1 Ann 25 F
2 Peter 30 M

如何将列名”Name”更改为”Full Name”,而不需要先知道该列名?我们可以使用Pandas中的rename()方法来实现。

# 引入 Pandas 模块
import pandas as pd 

# 创建一个 DataFrame 
df = pd.DataFrame({'Name':['Tom', 'Ann', 'Peter'], 'Age':[20, 25, 30], 'Sex':['M', 'F', 'M']})

# 查看数据
print(df)

# 重命名一个列
df = df.rename(columns=lambda x: 'Full Name' if x=='Name' else x)

# 查看重命名后的数据
print(df)
Python

输出:

    Name  Age Sex
0    Tom   20   M
1    Ann   25   F
2  Peter   30   M

   Full Name  Age Sex
0        Tom   20   M
1        Ann   25   F
2      Peter   30   M
Python

在示例中,我们使用Pandas中的rename()方法来重命名单个DataFrame列。在该方法中,我们使用了一个lambda表达式来判断当前需要重命名的列名是否为”Name”,如果是,则重命名为”Full Name”。

怎样批量重命名DataFrame列

如果我们需要重命名多个列,那么使用上述方法可能就比较麻烦了。幸运的是,Pandas中也提供了批量重命名DataFrame列的方法。

假设我们有以下数据集

Name Age Gender
0 Tom 20 M
1 Ann 25 F
2 Peter 30 M

我们想要将上表中的所有列名修改为”full_name”,”age”和”gender”,可以使用rename()方法和字典的形式来批量重命名列名。

# 引入Pandas模块
import pandas as pd 

# 创建一个 DataFrame
df = pd.DataFrame({'Name':['Tom', 'Ann', 'Peter'], 'Age':[20, 25, 30], 'Gender':['M', 'F', 'M']})

# 查看数据
print(df)

# 批量重命名列名
df.rename(columns={'Name':'full_name', 'Age':'age', 'Gender':'gender'}, inplace=True)

# 查看重命名后的数据
print(df)
Python

输出:

    Name  Age Gender
0    Tom   20      M
1    Ann   25      F
2  Peter   30      M

  full_name  age gender
0       Tom   20      M
1       Ann   25      F
2     Peter   30      M
Python

输出后我们发现DataFrame的列名已经被更改为我们想要的列名。

除了使用字典的形式,我们还可以使用列表的形式来批量重命名列名。

# 引入Pandas模块
import pandas as pd 

# 创建一个 DataFrame
df = pd.DataFrame({'Name':['Tom', 'Ann', 'Peter'], 'Age':[20, 25, 30], 'Gender':['M', 'F', 'M']})

# 查看数据
print(df)

# 批量重命名列名
df.columns = ['full_name', 'age', 'gender']

# 查看重命名后的数据
print(df)
Python

输出:

  full_name  age gender
0       Tom   20      M
1       Ann   25      F
2     Peter   30      M
Python

总结

在数据分析中,我们有时需要修改DataFrame中的列名。Pandas中提供了rename()方法,使得我们可以快速地重命名单个DataFrame列。如果需要批量重命名DataFrame列,可以使用字典或列表的形式来实现。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册