【已解决】pyecharts 对 pandas数据可视化图表不显示问题

在尝试使用pyecharts进行数据可视化时,遇到一个问题:当数据源来自Pandas且包含numpy.int64类型时,pyecharts无法正确显示饼状图的数值,显示为null。经过排查,发现pyecharts可能不支持numpy.int64,将数据转换为int类型后,问题得到解决。这是一个关于pyecharts库与Pandas数据类型兼容性的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近B站百大up揭晓了,想用爬虫抓点数据对数据进行分析并进行可视化。

Mac用matplotlib画图一直有中文乱码的问题,所以干脆用pyecharts了。但是感觉这个库也有“bug”。就是莫名其妙的就会出现控制台打印有数据。把数据原封不动的复制到相应的图表中也可以正常显示,但是把结果直接赋值给pyecharts就没有数据,打开html文件查看,发现数据为null。如下图,中文没有问题,但是到数字就变成null了。

百思不得其解,我最开始甚至怀疑是不是存在异步问题(当然这是没有道理的,因为name有数据,只是value为null),于是休眠了几秒。当然结果显而易见还是没有解决问题。

kv_data = list(zip(c_key, c_value))
print(type(c_value[0]))
print(type(0))
print(list(zip(c_key, c_value)))
pie = Pie()
# 休眠
time.sleep(2.2)
pie.add(series_name='百大性别比', data_pair=kv_data)
pie.render("./html/性别占比.html")

问题解决

最后怀疑到了数据类型上面。于是试着打印了一下数据类型,结果如下,虽然都是int,但是存在差别。。

试着把numpy.int64转成int类型

c_value = [int(i) for i in aa.values[:, 0]]

我需要的饼状图终于正常输出了!

 

总结

 

pyecharts库只能识别int类型的整型数据。但是pandas结果数据一般是numpy.int类型,pyecharts无法识别,导致数值数据变成null。这应该算这个库的bug吧。

 

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值