Pyecharts地图tooltip显示为NaN问题解决

文章讲述了在Python数据处理中,由于数据源的省份名称存在简称和全称差异导致的数据不匹配问题,通过读取json文件并用全称替换简称解决了这个问题。
摘要由CSDN通过智能技术生成


prov_count = list(dict(df['province_name'].value_counts()).items())
# print(df)
print(df['province_name'])
prov_count=[(x, int(y)) for x, y in prov_count]

可以看到数据格式如下:
 

# prov_count =  [('江苏', 43), ('北京', 42), ('浙江省', 31), ('湖南', 28), ('湖北', 25), ('山东', 25), ('陕西', 23), ('四川', 23), ('上海', 23), ('河南', 22), ('广东', 21), ('安徽', 20), ('辽宁', 19), ('福建', 18), ('江西', 17), ('黑龙江', 16), ('重庆', 16), ('广西', 16), ('贵州', 12), ('云南', 12), ('河北', 12), ('天津', 11), ('山西', 10), ('新疆', 10), ('内蒙古', 9), ('吉林', 9), ('甘肃', 9), ('海南', 5), ('宁夏', 5), ('青海', 3), ('西藏', 1)]
print("prov_count:", prov_count)  # 打印省份数量列表,确保它包含了正确的数据

然后我们就可以得到答案了。这是由于prov_count的省份数据是简称,而china.json中的数据为全称,导致数据不匹配,出现NaN错误。

所以可以使用下面的json字典对其进行替换
 

{
    "北京市": "北京",
    "天津市": "天津",
    "河北省": "河北",
    "山西省": "山西",
    "内蒙古自治区": "内蒙古",
    "辽宁省": "辽宁",
    "吉林省": "吉林",
    "黑龙江省": "黑龙江",
    "上海市": "上海",
    "江苏省": "江苏",
    "浙江省": "浙江",
    "安徽省": "安徽",
    "福建省": "福建",
    "江西省": "江西",
    "山东省": "山东",
    "河南省": "河南",
    "湖北省": "湖北",
    "湖南省": "湖南",
    "广东省": "广东",
    "广西壮族自治区": "广西",
    "海南省": "海南",
    "重庆市": "重庆",
    "四川省": "四川",
    "贵州省": "贵州",
    "云南省": "云南",
    "西藏自治区": "西藏",
    "陕西省": "陕西",
    "甘肃省": "甘肃",
    "青海省": "青海",
    "宁夏回族自治区": "宁夏",
    "新疆维吾尔自治区": "新疆",
    "台湾省": "台湾",
    "香港特别行政区": "香港",
    "澳门特别行政区": "澳门"
}

# 加载 JSON 文件
with open('../信息办/Data/province_mapping.json', 'r', encoding='utf-8') as f:
    province_mapping = json.load(f)

# 将省份简称替换为全称
prov_count_replaced = [(province_mapping.get(province[0], province[0]), province[1]) for province in prov_count]
# 输出替换后的结果
# print("替换后",prov_count_replaced)

替换后:

成功解决问题

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值