一、rename()方法簡介
在Pandas的Dataframe中,rename()是常用的更改列名的方法,它可以直接修改Dataframe對象本身,也可以返回一個新的Dataframe對象。
rename()方法的基本語法如下:
df.rename(columns={原列名: 新列名}, inplace=True)
其中,columns參數為更改列名所需的字典,inplace參數為是否在原Dataframe上進行修改的布爾值。
二、單列名更改
單列名更改是更改列名最常用的方式。下面的例子中,一個名為”df”的Dataframe對象旗下有兩列分別命名為”a”和”b”,運用rename()方法將”b”列名更改為”c”:
import pandas as pd
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df.rename(columns={'b': 'c'}, inplace=True)
print(df)
輸出結果為:
a c
0 1 3
1 2 4
可以看到,”b”列成功更改為”c”列,輸出結果中有”a”和”c”兩列。
三、多列名同時更改
在實際使用中,有時需要對多個列名同時進行更改。
將Dataframe對象中多個列的名字同時更改,可通過字典的方式實現,如下例:
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4], 'c': [5, 6]})
df.rename(columns={'a': 'A', 'b': 'B', 'c': 'C'}, inplace=True)
print(df)
輸出結果為:
A B C
0 1 3 5
1 2 4 6
可以看到,”a”、”b”、”c”三列名均成功更改為”A”、”B”、”C”三列,輸出結果中有三列按順序排列。
四、通過函數更改列名
在使用Pandas進行數據分析時,往往需要對列名進行處理,這時就可以通過函數的方式來更改列名。
例如,下方例子中,Dataframe對象中有三列分別命名為”a”、”b”和”c”,我想將它們的列名全部改為小寫字母,並且在字母前加上”col_”前綴:
df = pd.DataFrame({'a': [1, 2], 'b': [3, 4], 'c': [5, 6]})
df.rename(columns=lambda x: "col_" + x.lower(), inplace=True)
print(df)
輸出結果為:
col_a col_b col_c
0 1 3 5
1 2 4 6
可以看到,在使用lambda函數之後,三列名都改為小寫並加上了”col_”。
五、更改索引名
除了可以更改列名,也可更改行索引名。Pandas中提供了rename()方法對行索引名進行更改,基本語法如下:
df.rename(index={原索引名: 新索引名}, inplace=True)
例如,我們有一個名為”df”的Dataframe對象,索引名分別為”0″和”1″,運用rename()方法將索引名”0″更改為”row1″:
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}, index=['0', '1'])
df.rename(index={'0': 'row1'}, inplace=True)
print(df)
輸出結果為:
A B
row1 1 3
1 2 4
可以看到,索引名”0″已成功更改為”row1″。
六、結語
Pandas的rename()方法提供了方便的介面,支持在Dataframe對象中修改列名、索引名以及列名和索引名的大小寫轉換等功能。在實際數據處理中,更改列名是非常常見的操作,因此熟練掌握rename()方法是非常重要的。
原創文章,作者:IFTCN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/361260.html