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