使用下拉小部件,一列中的 select 值,数据框中另一列中的 return 值

Use dropdown widget, select value from one column, return value from another column in dataframe

下面是一个小模型。在这种情况下,我从 df['num_wings'] selecting 并将那个 selection 传递给一个新变量。

然而,我真正想传递给identvar的是来自df['num_legs']的值。因此,select 一列中的一个选项,但从另一列中的同一行中检索值。在我的例子中,我需要能够从列表中 select 一个电子邮件地址,这样我就可以检索一个长的唯一标识符字符串。不确定如何到达那里?如何通过 selecting 来自 num_wings 的值来检索 num_legs 的值?

df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
                   'num_wings': [2, 0, 0, 0],
                   'num_specimen_seen': [10, 2, 1, 8]},
                  index=['falcon', 'dog', 'spider', 'fish'])
df

widg = Dropdown(options = df['num_wings'])
display(widg)

identvar = widg.value

如果你想根据一列过滤数据框并检索另一列的值,那么 df.loc[df['num_wings'] == widg.value, 'num_legs'] 应该做你想做的。 但是如果你有多个翅膀数量相同的东西,那么你将检索那么多行的腿值。

您最好将 num_wings 设置为数据帧的索引,这样调用将简化为 df.loc[widg.value, 'num_legs],但这仍然没有避免任何重复。