給 dataframe 列重新命名

进取發表於2024-11-01

在Pandas中,你可以使用rename()方法來重新命名DataFrame中的多列。rename()方法允許你傳遞一個字典引數,在這個字典中我們可以傳遞 "原列名" : "新列名" 的一一對應關係。我們在欄位中定義多個元素就是給多個列做重新命名
示例:

import pandas as pd  
  
# 建立一個示例DataFrame  
data = {  
    'old_column1': [1, 2, 3],  
    'old_column2': [4, 5, 6],  
    'old_column3': [7, 8, 9]  
}  
df = pd.DataFrame(data)  
  
# 建立一個列名對映的字典  
columns_dict = {  
    'old_column1': 'new_column1',  
    'old_column2': 'new_column2',  
    'old_column3': 'new_column3'  
}  
  
# 使用rename()方法重新命名列  
df_renamed = df.rename(columns=columns_dict)  
  
print(df_renamed)

輸出

new_column1  new_column2  new_column3  
0            1            4            7  
1            2            5            8  
2            3            6            9

如果你想要透過函式來重新命名列(例如,給所有列名加上字首),你可以這樣做:

# 使用lambda函式給所有列名加上字首'prefix_'  
df_renamed_func = df.rename(columns=lambda x: 'prefix_' + x)  
  
print(df_renamed_func)

輸出

prefix_old_column1  prefix_old_column2  prefix_old_column3  
0                   1                   4                   7  
1                   2                   5                   8  
2                   3                   6                   9

請注意,rename()方法預設返回一個新的DataFrame,而不會修改原始DataFrame。如果你想要修改原始DataFrame,你需要傳遞 inplace=True引數,這將修改的結果直接作用在原始dataframe上。

# 直接修改原始DataFrame(不推薦,除非你有充分的理由)  
df.rename(columns=columns_dict, inplace=True)  
  
# 或者將結果賦值回一個變數(推薦)  
df = df.rename(columns=columns_dict)

相關文章