#python #bokeh
Вопрос:
Я создал интерактивную панель управления Боке с несколькими ползунками. Конфигурация всех ползунков представляет собой один сценарий, который можно экспортировать в файл CSV. Теперь я хотел бы иметь возможность перезагрузить сценарий, который хранится в формате CSV, чтобы обновить значения ползунков. К сожалению, я получаю следующую ошибку:
ValueError: failed to validate Slider(id='3566', ...).value: expected a value of type Real, got [16.] of type ndarray
Я не понимаю, что подразумевается под «реальным типом» и как его настроить.
Строки ввода файла выглядят следующим образом:
def import_data(attr, old, new):
decoded = b64decode(new)
f = io.BytesIO(decoded)
df=pd.read_csv(f, sep=';', engine='python')
dff = pd.DataFrame(df)
source=ColumnDataSource(data=dff)
slider.value=source.data['Column1'] #the column has only 1 row with the value 16
slider2.value=source.data['Column2']
slider3.value=source.data['Column3']
file_input.on_change('value', import_data)
Я в основном пробовал то же самое без ColumnDataSoure, но это привело к той же ошибке.
Ответ №1:
Значение ползунка должно быть равно значению числа («Действительное число»), а не массива. В этом случае в строку можно добавить индекс
slider.value=source.data['Column1'][0]