学堂在线:中国农业科学院《Python数据分析与可视化》作业:基于pyecharts的可视化项目

学堂在线:《Python数据分析与可视化》作业:基于pyecharts的可视化项目

作业

在中国地图上展示每个省的高考人数或大学数量。

过程

我一个超级菜鸟,试了好几次。
一开始不知道怎么读取csv文件,不知道直接“import csv”好,还是用pandas好。
文件读取又出了问题。pandas不能直接读取中文路径的文件。
DataFrame不会读取特定的列或行。
试图直接显示字符串,但是去官方网站才知道不支持字符串,于是只好去掉数据中的“万”字。
最后发现总数总是所有数据的和,一点才知道可以选择图例的……

from pyecharts import options as opts
from pyecharts.charts import Map
import pandas

f = open('D:/test/可视化/基于地图的图表源码与数据包/dataset.csv', 'rb')  # pandas读取中文路径之必需
dataframe = pandas.read_csv(filepath_or_buffer=f, header=None, sep=',')  # 以,为间隔,读取文件为DataFrame类型



class Data1:
    provinces = dataframe.loc[2:32, 0]  # 取出省/市的一列
    dl2016 = dataframe.loc[2:32, 1].str.replace("万", "")  # 取出“2016年”的列,因为不支持字符串,所以去掉“万”字


class Data2:
    provinces = dataframe.loc[2:32, 0]
    dl2017 = dataframe.loc[2:32, 2].str.replace("万", "")


class Data3:
    provinces = dataframe.loc[2:32, 0]
    dl2198 = dataframe.loc[2:32, 3]


class Data4:
    provinces = dataframe.loc[2:32, 0]
    dlgoba = dataframe.loc[2:32, 4]


def pu() -> Map:
    c = (
        Map()
            .add("各省2016年高考人数(万人)", [list(x) for x in zip(Data1.provinces, Data1.dl2016)], "china")
            .add("各省2017年高考人数(万人)", [list(y) for y in zip(Data2.provinces, Data2.dl2017)], "china")
            .add("各省211和985大学数(所)", [list(z) for z in zip(Data3.provinces, Data3.dl2198)], "china")
            .add("各省公办大学数(所)", [list(w) for w in zip(Data4.provinces, Data4.dlgoba)], "china")
            .set_global_opts(title_opts=opts.TitleOpts(title="Map1-基本示例"),
                             visualmap_opts=opts.VisualMapOpts(min_=0,max_=100))
    )
    return c


pu().render("各省大学及高考人数.html")

结果

结果:总和
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值