Python Pandas Dataframe.rename()函数使用方法
在Pandas中,可以使用rename()函数对DataFrame中的列或行进行重命名。该函数使用一个字典作为参数,其中字典的键表示原始列名或行名,而字典的值表示新的列名或行名。
语法
使用Pandas Dataframe.rename()函数的基本语法如下:
DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
参数说明:
- mapper:一个字典,表示需要被重命名的列或行。该参数最好在columns或index中使用。
-
index, columns:一个字典或函数,代表DataFrame中的行或列需要被重命名。该参数是互斥的,也就是说,只能指定一个参数。
-
axis:int,可选值为{0,1}。表示对DataFrame中行或列进行重命名。axis=0表示以列为主,axis=1表示以行为主。
-
copy:bool,默认为True。表示是否创建一个DataFrame来存放重命名后的结果,如果是False,则在原始DataFrame上进行重命名。
-
inplace:bool,默认为False。表示是否在原始DataFrame上重命名,如果是True,则返回值为None。
-
level:int或level name,可选参数。仅当DataFrame MultiIndex时才使用。
示例
下面给出几个使用Pandas Dataframe.rename()函数的示例代码,以供参考。
import pandas as pd
data = {'name': ['John', 'Mike', 'Sara', 'Adam'],
'age': [25, 30, 18, 42],
'score': [80, 65, 90, 75]}
df = pd.DataFrame(data)
# 重命名列
df_rename = df.rename(columns={'name': 'Name', 'age': 'Age', 'score': 'Score'})
print(df_rename)
输出结果为:
Name Age Score
0 John 25 80
1 Mike 30 65
2 Sara 18 90
3 Adam 42 75
上面的代码中,使用了columns参数,将原始列名修改为了新的列名。
接下来看一个在Pandas Dataframe.rename()函数中对多级索引进行重命名的例子:
import pandas as pd
data = {'group':['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'city': ['New York', 'Portland', 'New York', 'Portland',
'New York', 'Portland', 'New York', 'Portland'],
'year': [2019, 2019, 2020, 2020, 2019, 2019, 2020, 2020],
'income':[2000000, 3000000, 2500000, 5000000, 1500000, 2000000, 1800000, 3900000]}
df = pd.DataFrame(data)
# 使用rename()函数重命名行和列
df_rename = df.rename(index={0: 'First', 1: 'Second'}, columns={'year': 'Year', 'income': 'Income'})
print(df_rename)
输出结果为:
group city Year Income
First A New York 2019 2000000
Second A Portland 2019 3000000
2 A New York 2020 2500000
3 A Portland 2020 5000000
4 B New York 2019 1500000
5 B Portland 2019 2000000
6 B New York 2020 1800000
7 B Portland 2020 3900000
上述代码针对多级索引进行了重命名操作。
最后,我们来看一下如何使用Pandas Dataframe.rename()函数对原始数据进行修改的例子:
import pandas as pd
data = {'name': ['John', 'Mike', 'Sara', 'Adam'],
'age': [25, 30, 18, 42],
'score': [80, 65, 90, 75]}
df = pd.DataFrame(data)
# 直接在原始DataFrame上进行重命名,并输出结果
df.rename(columns={'name': 'Name', 'age': 'Age', 'score': 'Score'}, inplace=True)
print(df)
输出结果为:
Name Age Score
0 John 25 80
1 Mike 30 65
2 Sara 18 90
3 Adam 42 75
上述代码中,我们将inplace参数设置为True,直接在原始DataFrame上进行了重命名操作。
结论
以上就是Pandas Dataframe.rename()函数的用法。通过这个函数,可以方便地对DataFrame中的列或行进行重命名。需要注意的是,该函数返回一个新的DataFrame,因此需要在使用后将其赋值给一个变量。当然,也可以使用inplace参数对原始DataFrame进行修改。
极客笔记