我有如下数据框:
df = pd.DataFrame({'$a':[1,2], '$b': [10,20]})
Run Code Online (Sandbox Code Playgroud)
我尝试创建一个允许动态更改列名的函数,我可以在函数中输入旧列名和新列名,如下所示:
def rename_column_name(df, old_column, new_column):
df = df.rename({'{}'.format(old_column) : '{}'.format(new_column)}, axis=1)
return df
Run Code Online (Sandbox Code Playgroud)
此功能仅适用于我只有一个输入的情况,如下所示:
new_df = rename_column_name(df, '$a' , 'a')
Run Code Online (Sandbox Code Playgroud)
这给了我这个 new_df 如下:
new_df = pd.DataFrame({'a':[1,2], '$b': [10,20]})
Run Code Online (Sandbox Code Playgroud)
但是,我想创建一个函数,允许我根据自己的喜好对多列/一列进行更改:
new_df = rename_column_name(df, ['$a','$b'] , ['a','b'])
Run Code Online (Sandbox Code Playgroud)
并获得如下所示的 new_df
new_df = pd.DataFrame({'a':[1,2], 'b': [10,20]})
Run Code Online (Sandbox Code Playgroud)
那么,如何使我的函数更加动态,以允许我自由输入多个/一个列名称并重命名它们?