Bokeh: часть столбца DataSource дает ошибку - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь создать интерактивный график боке, который содержит несколько данных, и я не уверен, почему я получаю ошибку

ValueError: ожидается элемент ColumnData (String, Seq (Any)), полученный {'x': 6,794, 'y': 46.8339999999999, 'country': 'Congo, Dem. Rep. ',' Pop ': 3.5083789999999997,' region ':' Африка к югу от Сахары '}

source = ColumnDataSource(data={
'x'       : data.loc[1970].fertility,
'y'       : data.loc[1970].life,
'pop'     : (data.loc[1970].population / 20000000) + 2,
'region'  : data.loc[1970].region,

})

Я пробовал два разных набора данных, импортируя данные из Excel, и у меня не осталось вопросов, почему именно это происходит.

enter image description here

1 Ответ

0 голосов
/ 14 января 2019

Как следует из названия, ColumnDataSource - это структура данных для хранения столбцов данных. Это означает, что значение каждого ключа в .data должно быть столбцом, то есть списком Python, массивом NumPy или серией Pandas. Но вы пытаетесь назначить простые числа в качестве значений, о чем говорит сообщение об ошибке:

Я пытаюсь создать интерактивный график боке, который содержит несколько данных, и я не уверен, почему я получаю ошибку

ожидал элемент ColumnData (String, Seq (Any))

Это говорит о том, что приемлемые, ожидаемые значения - это дикты, которые отображают строки в последовательности. Но то, что вы прошли, явно не так:

got {'x': 6.794, 'y': 46.8339999999999, 'страна': 'Конго, Дем. Rep. ',' Pop ': 3.5083789999999997,' region ':' Африка к югу от Сахары '}

Например, x - это просто число 6,794, а не массив или список и т. Д.

...