下面有一个小样机。在这种情况下,我要从df ['num_wings']中进行选择,然后将该选择传递给新变量。
但是,我真正想要传递给identvar的是df ['num_legs']的值。因此,从一列中选择一个选项,但从另一列中的同一行中检索值。就我而言,我需要能够从列表中选择一个电子邮件地址,以便可以检索到一个很长的唯一标识符字符串。不确定如何到达那里?如何通过从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
答案 0 :(得分:0)
如果要基于一个列过滤数据帧并检索另一列的值,则df.loc[df['num_wings'] == widg.value, 'num_legs']
应该做您想做的事情。 但是,如果您有多个具有相同翼数的物体,那么您将获取腿的许多行值。
您最好将num_wings
设置为数据框的索引,然后调用将简化为df.loc[widg.value, 'num_legs]
,但这仍然不会产生任何重复。