Используйте раскрывающийся виджет, выберите значение из одного столбца, верните значение из другого столбца в фрейме данных - PullRequest
0 голосов
/ 07 мая 2020

Небольшой макет внизу. В этом случае я выбираю из df ['num_wings'] и передаю этот выбор новой переменной.

Однако то, что я действительно хочу передать в identityvar, - это значение из df ['num_legs']. Итак, выберите вариант из одного столбца, но получите значение из той же строки в другом столбце. В моем случае мне нужно иметь возможность выбрать адрес электронной почты из списка, чтобы получить длинную строку уникального идентификатора. Не знаете, как туда добраться? Как получить значение num_legs, выбрав значение из num_wings?

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

1 Ответ

0 голосов
/ 07 мая 2020

Если вы хотите отфильтровать фрейм данных на основе одного столбца и получить значения другого столбца, то df.loc[df['num_wings'] == widg.value, 'num_legs'] должен делать то, что вы хотите. Но , если у вас есть несколько объектов с одинаковым количеством крыльев, вы получите значения такого количества строк для ног.

Возможно, вам лучше установить num_wings в качестве индекса для фрейм данных, тогда вызов упростится до df.loc[widg.value, 'num_legs], но это по-прежнему не обходится без дублирования.

...