散景:列数据源部分给出错误

我正在尝试创建一个包含多个数据的交互式散景图,但我不确定为什么会出现错误


ValueError: 期望 ColumnData(String, Seq(Any)) 的元素,得到 {'x': 6.794, 'y': 46.8339999999999, 'country': 'Congo, Dem. 代表','流行':3.5083789999999997,'地区':'撒哈拉以南非洲'}


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 导入数据尝试了两个不同的数据集,但一直没有关于为什么会发生这种情况的问题。

http://img3.mukewang.com/6162a9410001c20907260737.jpg

喵喔喔
浏览 162回答 3
3回答

智慧大石

顾名思义,它ColumnDataSource是一种用于存储数据列的数据结构。这意味着每个键的值.data必须是一个列,即一个 Python 列表、一个 NumPy 数组或一个 Pandas 系列。但是您正在尝试将纯数字分配为值,这就是错误消息告诉您的内容:我正在尝试创建一个包含多个数据的交互式散景图,但我不确定为什么会出现错误期望 ColumnData(String, Seq(Any)) 的元素这是说可接受的,预期值是将字符串映射到序列的字典。但你通过的显然不是:得到 {'x': 6.794, 'y': 46.83399999999999, 'country': 'Congo, Dem. 代表','流行':3.5083789999999997,'地区':'撒哈拉以南非洲'}x例如,该值只是数字 6.794 而不是数组或列表等。

慕田峪7331174

你可以很容易地做到这一点:source = ColumnDataSource({str(c): v.values for c, v in df.items()})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python