为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喔喔 2021-10-10 16:49:34
我正在尝试创建一个包含多个数据的交互式散景图,但我不确定为什么会出现错误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 导入数据尝试了两个不同的数据集,但一直没有关于为什么会发生这种情况的问题。
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

顾名思义,它ColumnDataSource是一种用于存储数据列的数据结构。这意味着每个键的值.data必须是一个列,即一个 Python 列表、一个 NumPy 数组或一个 Pandas 系列。但是您正在尝试将纯数字分配为值,这就是错误消息告诉您的内容:

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

期望 ColumnData(String, Seq(Any)) 的元素

这是说可接受的,预期值是将字符串映射到序列的字典。但你通过的显然不是:

得到 {'x': 6.794, 'y': 46.83399999999999, 'country': 'Congo, Dem. 代表','流行':3.5083789999999997,'地区':'撒哈拉以南非洲'}

x例如,该值只是数字 6.794 而不是数组或列表等。


查看完整回答
反对 回复 2021-10-10
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

你可以很容易地做到这一点:

source = ColumnDataSource({str(c): v.values for c, v in df.items()})


查看完整回答
反对 回复 2021-10-10
  • 3 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号