codecamp

pyecharts 数据格式

Python -> JSON

pyecharts 本质上在做的事情就是将 Echarts 的配置项由 Python dict 序列化为 JSON 格式,所以 pyecharts 支持什么格式的数据类型取决于 JSON 支持什么数据类型。

在 Python 中对 JSON 的格式转换如下

Python          JSON
------          ----
int, float      number
str             string
bool            boolean
dict            object
list            array

这也就意味着在你将数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。使用数据分析大都需要使用 numpy/pandas,但是 numpy 的 numpy.int64/numpy.int32/... 等数据类型并不继承自 ​Python.int​。

Q1: 如何转换?

# for int
[int(x) for x in your_numpy_array_or_something_else]
# for float
[float(x) for x in your_numpy_array_or_something_else]
# for str
[str(x) for x in your_numpy_array_or_something_else]

Q2: 有没有更方便的转换方法?

Series.tolist()

Q3: pyecharts 没有自动转换的原因?

pyecharts 是一个通用的第三方库,我们不可能关心开发者的所有使用场景,这个转换需要我们引入 ​numpy/pandas​ 两个第三方库,而这两个库 太重了,所以我们将这个工作交给了开发者。


pyecharts 参数传递
pyecharts 定制主题
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

pyecharts 其他资源

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }