数据可视化每周挑战——中国高校数据分析

最近要高考了,这里祝大家金榜题名,旗开得胜。

这是数据集,如果有需要的,可以私信我。

复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import PictorialBar
from pyecharts.charts import Map
from pyecharts.charts import Pie
from pyecharts.charts import Grid
from pyecharts.charts import WordCloud
from pyecharts import options as opts

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

老规矩第一步将我们需要用到的库先导入,其次,我们可以将绘图时的字体设置好,

复制代码
data = pd.read_excel("D:\\每周挑战\\中国大学综合排名2023.xlsx")
data.head()

导入数据

复制代码
# data.info()
# 可以看出办学层次缺失数据集太多了,因此我们将其删除
data = data.drop("层次",axis=1)
data.info()
复制代码
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 590 entries, 0 to 589
Data columns (total 16 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   排名       590 non-null    int64  
 1   学校名称     590 non-null    object 
 2   英文名称     590 non-null    object 
 3   类型       590 non-null    object 
 4   地区       590 non-null    object 
 5   评分       590 non-null    float64
 6   办学层次     590 non-null    float64
 7   学科水平     590 non-null    float64
 8   办学资源     590 non-null    float64
 9   师资规模与结构  590 non-null    float64
 10  人才培养     590 non-null    float64
 11  科学研究     590 non-null    float64
 12  服务社会     590 non-null    float64
 13  高端人才     590 non-null    float64
 14  重大项目与成果  590 non-null    float64
 15  国际竞争力    590 non-null    float64
dtypes: float64(11), int64(1), object(4)
memory usage: 73.9+ KB

首先,我们先对学校的分布进行分析,这里我们直接使用Map来绘图

复制代码
school_data = data['地区'].value_counts().reset_index()
x = school_data['index'].tolist()
y = school_data['地区'].tolist()
df = []
for i in zip(x,y):
    df.append(i)

range_colors = ['#228be6','#1864ab','#8BC34A','#FFCA28','#D32F2F','#1DFFF5','#FF850E']
schoolmap = (
    Map().add("",df,"china",is_map_symbol_show=False,
             label_opts=opts.LabelOpts(is_show=False)
             )
         .set_global_opts(
             title_opts=opts.TitleOpts(
                  title="2023年各个地区高校数量分布情况",
                  pos_top='1%',
                  pos_left='center'
              ),
              legend_opts=opts.LegendOpts(is_show=False),
              visualmap_opts = opts.VisualMapOpts(
                  max_=40,split_number=8,is_piecewise=True,range_color=range_colors,
                  pos_bottom='5%',pos_left='10%'
              )
         )
)
# schoolmap.render_notebook()
复制代码
df = data['类型'].value_counts()
data_pair = [(index, value) for index, value in df.items()]
pie = (
    Pie(init_opts=opts.InitOpts(width='1000px',height='800px'))
    .add("",data_pair,radius=['30%','50%'])
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="各个类型高校的占比",
            pos_top="1%",
            pos_left='center',
            title_textstyle_opts=opts.TextStyleOpts(color='#1DFFF5',font_size=20)
        ),
        visualmap_opts=opts.VisualMapOpts(
            is_show=True,
            max_=200,
            range_color=['#228be6','#1864ab','#8BC34A','#1DFFF5','#FF850E']
        ),
        legend_opts=opts.LegendOpts(is_show=False)
    )
)
pie.render_notebook()
复制代码
x_data = data.columns[6:].tolist()

line = (
    Line(init_opts = opts.InitOpts(width='1000px',height='800px'))
    .add_xaxis(x_data)
)

for i in range(len(data)):
    line.add_yaxis(data.iloc[i,:].values[1], data.iloc[i,:].values[7:])

line.set_global_opts(
    legend_opts=opts.LegendOpts(is_show=False, pos_top='15%', pos_right='20%', orient='vertical'),
    title_opts=opts.TitleOpts(
        title='中国高校各项评分',
        pos_top='1%',
        pos_left="1%",
        title_textstyle_opts=opts.TextStyleOpts(color='#fff200', font_size=20)
    ),
)
line.render_notebook()

这个图像下载不下来,因此我这里截屏了。大家如果想看自己学校的,可以修改上面的代码 。(由于该数据集只有前100为学校有具体数据,其他学校无数据,因此这里只能改99之前的)

复制代码
x_data = data.columns[6:].tolist()

line = (
    Line(init_opts = opts.InitOpts(width='1000px',height='800px'))
    .add_xaxis(x_data)
)

line.add_yaxis(data.iloc[0(数据集中你学校的位置比如清华学校是0这里就写0),:].values[1], data.iloc[0(数据集中你学校的位置比如清华学校是0这里就写0),:].values[7:])

line.set_global_opts(
    legend_opts=opts.LegendOpts(is_show=False, pos_top='15%', pos_right='20%', orient='vertical'),
    title_opts=opts.TitleOpts(
        title='中国高校各项评分',
        pos_top='1%',
        pos_left="1%",
        title_textstyle_opts=opts.TextStyleOpts(color='#fff200', font_size=20)
    ),
)
line.render_notebook()

我这里改为了50

相关推荐
2601_9629666417 分钟前
大学毕业可考取的市场营销专业实用证书指南
大数据·数据分析
qq_22589174661 小时前
基于Python的中药药材数据可视化分析系统
python·机器学习·数据分析·django
江畔柳前堤12 小时前
信号的本质——从模拟波形到AI中的数据张量
人工智能·深度学习·机器学习·计算机视觉·数据挖掘·语音识别
江畔柳前堤13 小时前
系统的本质——从LTI系统到神经网络
人工智能·深度学习·神经网络·机器学习·计算机视觉·数据挖掘·语音识别
BEOL贝尔科技16 小时前
样本安全存储中还有哪些重要因素需要考虑?如何设置样本安全?
人工智能·安全·数据分析
南凉北往19 小时前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
Aloudata1 天前
Prompt 驱动分析 vs Skill 驱动分析:企业 AI 分析如何从会问走向可复用
大数据·人工智能·数据分析·prompt·skill·语义层
维克兜率天1 天前
【维克】回归诊断:如何知道你的模型是不是“坏了“?
人工智能·数据挖掘·回归
米码收割机1 天前
【python】Flask 贵州省兴仁市藠头价格数据分析和可视化系统(源码+文档)【独一无二】
python·数据分析·flask
一只专注api接口开发的技术猿1 天前
OpenClaw 实战:搭建京东商品监控与简易数据分析脚本
大数据·jvm·数据库·oracle·数据分析