PythonTypeError:类型为‘int 64’的对象不是可序列化的JSON的解决方法

在调用pyecharts包中,想绘制一个分布柱状图。发现以下问题。我的number值传不过去给bar.add_yaxis。
请看下面:

import pandas as  pd
from pyecharts.charts import Bar
from pyecharts import options as opts
df = pd.read_csv('C:/Users/Shinelon/Desktop/Python_development_engineer.csv', encoding='utf-8')
city = df['城市'].value_counts()
print(type(city))
print(city)
# print(len(city))
keys = city.index  # 等价于keys = city.keys()
values = city.values
bar = Bar()

# print(type(number[0],number))
print(len(city.index),city.index)
print(len(city.values),city.values)
bar.add_xaxis(city.index)
bar.add_yaxis("城市",city.values)
bar.set_global_opts(title_opts=opts.TitleOpts(title="python职位的城市分布图", subtitle="参与的城市"))
bar.render('j2.html')

截图如下
在这里插入图片描述

传给我的number值传不过去给bar.add_yaxis不成功!是格式问题吗?我还打印出看看了number的值

后面把打印出来的number的值复制进去给,竟让可以显示!
后面请教了大佬!
city.values 里的元素类型是 <class ‘numpy.int64’>
pyecharts 不认。也就是类型为‘int 64’的对象不是可序列化的JSON。
解决方法:
city_list=[c for c in list(city.index)]
#city_list=["{}".format©for c in list(city.index)]
city_val=[int© for c in list(city.values)] #json不识别NumPy数据类型。将数字转换为Python int序列化对象之前:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值