Python 使用Ipywidgets多个下拉菜单更改dataframe的字段名

Python 使用Ipywidgets多个下拉菜单更改dataframe的字段名,python,pandas,dataframe,dropdown,ipywidgets,Python,Pandas,Dataframe,Dropdown,Ipywidgets,我试图根据两个下拉列表中的输入来更改pandas数据框中两个字段的字段名。但即使在下拉列表中保留单独的值,它也总是在两个字段名中只写入一个值 w = [widgets.Dropdown(options=['Addition', 'Multiplication', 'Subtraction', 'Division'],value='Addition',description='Task:', ),widgets.Dropdown(options=['Addition', 'Multiplicati

我试图根据两个下拉列表中的输入来更改pandas数据框中两个字段的字段名。但即使在下拉列表中保留单独的值,它也总是在两个字段名中只写入一个值

w = [widgets.Dropdown(options=['Addition', 'Multiplication', 'Subtraction', 'Division'],value='Addition',description='Task:',
),widgets.Dropdown(options=['Addition', 'Multiplication', 'Subtraction', 'Division'],value='Addition',description='Task1:')]

df = pd.DataFrame({'$a':[1,2], '$b': [10,20]})
def on_change(change):
    if change['type'] == 'change' and change['name'] == 'value':
        df.rename({df.columns[0]: change['new']}, axis=1,inplace=True)
        df.rename({df.columns[1]: change['new']}, axis=1,inplace=True)

w[0].observe(on_change)
w[1].observe(on_change)        
display(w[0]) 
display(w[1])
从两个下拉列表中,如果选择任意两个不同的值,它将始终拾取一个值并粘贴到df的两个字段名中。我正在尝试根据下拉值获得两个独立的字段名。请帮忙