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

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

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

复制代码
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

相关推荐
wktomo5 小时前
数据挖掘比赛baseline参考
人工智能·数据挖掘
TG_yunshuguoji8 小时前
亚马逊云代理:利用亚马逊云进行大规模数据分析与处理的最佳实践
服务器·数据挖掘·数据分析·云计算·aws
B站_计算机毕业设计之家8 小时前
机器学习:基于大数据的基金数据分析可视化系统 股票数据 金融数据 股价 Django框架 大数据技术(源码) ✅
大数据·python·金融·数据分析·股票·etf·基金
我要学习别拦我~18 小时前
雷达图有什么优点与致命缺陷:一把“双刃剑”的可视化武器
经验分享·信息可视化
平谷一勺19 小时前
数据清洗-缺失值的处理
python·数据分析
CSTechEi21 小时前
【SPIE/EI/Scopus检索】2026 年第三届数据挖掘与自然语言处理国际会议 (DMNLP 2026)
人工智能·自然语言处理·数据挖掘
MediaTea21 小时前
Python 第三方库:matplotlib(科学绘图与数据可视化)
开发语言·python·信息可视化·matplotlib
gddkxc1 天前
AI CRM中的数据分析:悟空AI CRM如何帮助企业优化运营
人工智能·信息可视化·数据分析
Dev7z1 天前
阿尔茨海默病早期症状影像分类数据集
人工智能·分类·数据挖掘
派可数据BI可视化1 天前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析