中国大学排名可视化

1 数据预处理

1.1 各省份高校总分排名

df.groupby(by="省份").sum().sort_values(by="总分")[::-1][:10]

在这里插入图片描述

df.groupby(by="省份").sum().sort_values(by="总分", ascending=False)[:10]

在这里插入图片描述

1.2 各省份高校个数

df.groupby(by="省份").count().sort_values(by="总分", ascending=False)[:10]

在这里插入图片描述

province_cat = df["省份"].astype("category")
# print(province_cat)
print(province_cat.values, "\n")
print(type(province_cat.values))

在这里插入图片描述

province_cat.values.categories

在这里插入图片描述

province_cat.values.codes

在这里插入图片描述

province_cat.value_counts()[:10]

在这里插入图片描述

1.3 整合数据

province_sum = df.groupby(by="省份").sum().sort_values(by="总分", ascending=False)["总分"] #

province_num = df["省份"].astype("category").value_counts()

组合"总分"&"个数"数组

province = pd.DataFrame({"总分": province_sum,
                    "个数": province_num})

添加“平均分”列数据

province_mean = province["总分"] / province["个数"]

province["平均分"] = pd.Series(province_mean) #添加“平均分”列数据

province.sort_values("平均分")[::-1][:10]

在这里插入图片描述

top10_sum = province.sort_values("总分")[::-1][:10]
top10_num = province.sort_values("个数")[::-1][:10]
top10_mean = province.sort_values("平均分")[::-1][:10]

top10_sum

在这里插入图片描述

top10_num

在这里插入图片描述

top10_mean

在这里插入图片描述

2 数据可视化

使用pyecharts绘制地图
数据可视化

top10.index.tolist()

在这里插入图片描述

top10["总分"].tolist()

在这里插入图片描述
Emmm

top10["总分"].astype('int').tolist()

在这里插入图片描述

2.1 柱状图

from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (
    Bar()
    .add_xaxis(top10_sum.index.tolist())
    .add_yaxis("总分", top10_sum["总分"].astype('int').tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="中国最好大学TOP10(各省份)" ,subtitle="总分"))
)
bar.render_notebook()

在这里插入图片描述

2.2 折线图

from pyecharts.charts import Line
from pyecharts import options as opts

line = (
    Line()
    .add_xaxis(top10_sum.index.tolist())
    .add_yaxis("总分", top10_sum["总分"].astype('int').tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="中国最好大学TOP10(各省份)" ,subtitle="总分"))
)
line.render_notebook()

在这里插入图片描述

2.3 饼状图

from pyecharts.charts import Pie
from pyecharts import options as opts

pie =(
    Pie()
    .add("", [list(z) for z in zip(top10_sum.index.tolist(), top10_sum["总分"].astype('int').tolist())], 
       radius=["30%", "75%"],
            center=["40%", "50%"],
            rosetype="radius")
    .set_global_opts(
            title_opts=opts.TitleOpts(title="中国最好大学TOP10(各省份)" ,subtitle="总分"),
            legend_opts=opts.LegendOpts(
                type_="scroll", pos_left="80%", orient="vertical"
            )
        )
)
pie.render_notebook()

在这里插入图片描述

2.4 散点图

from pyecharts.charts import Scatter
from pyecharts import options as opts

scatter = (
    Scatter()
    .add_xaxis(top10_sum.index.tolist())
    .add_yaxis("总分", top10_sum["总分"].astype('int').tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="中国最好大学TOP10(各省份)" ,subtitle="总分"))
)
scatter.render_notebook()

在这里插入图片描述

2.5 基于Geo的高校分布图

去掉"省"字

print(top10_sum.index.tolist())
print(top10_sum.index.tolist()[1])
print(top10_sum.index.tolist()[1][:-1])

在这里插入图片描述

top10_sum_index = []
for i in range(10):
    _ =  top10_sum.index.tolist()[i][:-1]
    top10_sum_index.append(_)

top10_sum_index

在这里插入图片描述

city = top10_sum_index
value = top10_sum["总分"].astype('int').tolist()

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType

geo = (
    Geo()
    .add_schema(maptype="china")
    .add("高校分布图", [list(z) for z in zip(city, value)])
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True,max_=1300),
                    title_opts=opts.TitleOpts(title="各省高校总分排名"))
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
)
geo.render_notebook()

在这里插入图片描述

2.6 基于Map的高校分布图

from pyecharts import options as opts #负责图表配置的模块
from pyecharts.charts import Map #地图主要用于地理区域数据的可视化

_map = (
    Map()
    .add("高校分布图", [list(z) for z in zip(city, value)], "china")
    .set_global_opts(title_opts=opts.TitleOpts(title="各省高校总分排名"),
    visualmap_opts=opts.VisualMapOpts(max_=1300))
)

_map.render_notebook()

在这里插入图片描述

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值