我正在嘗試創建一個包含多個數據的交互式散景圖,但我不確定為什么會出現錯誤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 而不是數組或列表等。

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
你可以很容易地做到這一點:
source = ColumnDataSource({str(c): v.values for c, v in df.items()})
添加回答
舉報
0/150
提交
取消