一、每日一题
编写一个解决方案,按以下方式重命名列:
id
重命名为student_id
first
重命名为first_name
last
重命名为last_name
age
重命名为age_in_years
返回结果格式如下示例所示。
解答:
import pandas as pd
def renameColumns(students: pd.DataFrame) -> pd.DataFrame:
students.rename(columns={
'id': 'student_id',
'first': 'first_name',
'last': 'last_name',
'age': 'age_in_years'
}, inplace=True)
return students
题源:力扣
二、总结
rename语法:
DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None, errors='ignore')
关键参数
- mapper:用于映射新名称的函数、字典或Series。如果提供了字典,它的键是旧名称,值是新名称。
- index:仅重命名索引时使用。可以是字典、函数或列表(对于多层索引)。
- columns:仅重命名列时使用。可以是字典、函数或列表(对于多层列名)。如果要重命名列,通常直接在此参数传递映射关系更直观。
- axis:指定重命名轴,默认为None,根据mapper、index或columns自动推断。可以显式设置为0(index)或1(columns),但在实践中较少直接使用此参数,因为直接用index或columns参数更明确。
- copy:布尔值,默认为True。如果为False且inplace为True,则可能直接修改原数据。
- inplace:布尔值,默认为False。如果为True,则直接在原DataFrame上进行修改,不会返回新的DataFrame。
- level:对于多级索引或列名,指定要重命名的级别。
- errors:指定如何处理找不到的旧名称。默认为'ignore',即遇到未列出的名称时不报错。也可以设置为'reraise',这样遇到未匹配的项会抛出KeyError异常。
参数虽然很多,但是掌握index和columns就够了。
参考文档