使用下拉小部件,一列中的 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]
,但这仍然没有避免任何重复。
下面是一个小模型。在这种情况下,我从 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]
,但这仍然没有避免任何重复。