Pandas 重命名多个列

Pulamolu Sai Mohan 2023年1月30日
  1. 使用 Pandas 的 rename() 函数来重命名多列
  2. 使用 DataFrame.column.values 使用 Pandas 重命名多个列
Pandas 重命名多个列

DataFrame 是一个二维标签数据结构。它是一种大小可变的异构数据结构。

DataFrame 包含称为行和列的标记轴。

本教程将讨论使用 python 重命名 DataFrame 的多个列的不同方法。

使用 Pandas 的 rename() 函数来重命名多列

Pandas 库提供了用于重命名 DataFrame 列的 rename() 函数。

rename() 函数采用 mapper,这是一种类似字典的数据结构,其中包含重命名列作为键,名称作为值。它返回一个 DataFrame。

就地修改也可以通过设置 inplace = True 来完成。

语法:

pandas.rename(mapper)

以下是使用 rename() 方法重命名多个列的步骤。

  • 导入 Pandas 库。
  • 将 Mapper 传递给 rename() 方法。
  • rename() 方法将返回一个数据框,该列重命名。
  • 打印 DataFrame。

以下代码是上述方法的实现。

# importing pandas library
import pandas as pd

# creating a dataframe
df = pd.DataFrame(
    {
        "course": ["C", "Python", "Java"],
        "Mentor": ["alex", "alice", "john"],
        "cost": [1000, 2000, 3000],
    }
)

# Dataframe before renaming
print("\n Before Renaming")
print(df)

# renaming the multiple columns by index
df = df.rename(columns={df.columns[0]: "subject", df.columns[2]: "price"})

# Dataframe after renaming
print("\n After Renaming")
print(df)

重命名前的输出:

course Mentor cost
C alex 1000
Python alice 2000
Java john 3000

重命名后的输出:

subject Mentor price
C alex 1000
Python alice 2000
Java john 3000

使用 DataFrame.column.values 使用 Pandas 重命名多个列

DataFrame.column.values 将返回所有列名,我们可以使用索引来修改列名。column.values 将返回一个索引数组。

以下是使用此方法重命名多个列的步骤:

  1. 导入 Pandas 库。
  2. 使用 DataFrame.column.values 检索列名数组。
  3. 通过传递索引来更改列的名称。
  4. 打印数据框。

以下代码是上述方法的实现。

# importing pandas library
import pandas as pd

# creating a dataframe
df = pd.DataFrame(
    {
        "course": ["C", "Python", "Java"],
        "Mentor": ["alex", "alice", "john"],
        "cost": [1000, 2000, 3000],
    }
)

# Dataframe before renaming
print("\n Before Renaming")
print(df)

# renaming the multiple columns by index
df.columns.values[0:2] = ["Subject", "Teacher"]

# Dataframe after renaming
print("\n After Renaming")
print(df)

重命名前的输出:

course Mentor cost
C alex 1000
Python alice 2000
Java john 3000

重命名后的输出:

Subject Teacher cost
C alex 1000
Python alice 2000
Java john 3000

相关文章 - Pandas DataFrame Column