【无标题】

文章目录


在这里插入图片描述

针对大学名称 大学排名, 综合指数,学校情况等数据进行爬取

首先进行鼠标右键,进行数据抓包

在这里插入图片描述

找对应得数据包

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

请求发现数据有加密

## 1.引入库 代码如下(示例):

发现加密参数

在这里插入图片描述

搜索加密参数,好进行分析

在这里插入图片描述

分析过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
In [2]:

!pip install jsonpath

Collecting jsonpath
  Downloading jsonpath-0.82.2.tar.gz (10 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: jsonpath
  Building wheel for jsonpath (setup.py) ... done
  Created wheel for jsonpath: filename=jsonpath-0.82.2-py3-none-any.whl size=6724 sha256=3db960d7ff6f0bb132346f0e72e00349a7f6156100fc98c35ffda5cee786b2bf
  Stored in directory: /home/mw/.cache/pip/wheels/2c/2a/fa/87e26ec807b9a21dd0464eb1319cc3ad51b0c9e505fe6b7396
Successfully built jsonpath
Installing collected packages: jsonpath
Successfully installed jsonpath-0.82.2
import requests
import json
import hashlib
import jsonpath
import pandas as pd
for i in range(1, 2):
    data = '{"keyword":"","provincenames":[],"naturetypes":[],"edulevel":"","categories":[],"features":[],"pageindex":%s,"pagesize":20,"sort":11}&9sasji5owng41irkisvtjhlxhmrysrp1' % i
    md5 = hashlib.md5(data.encode())
    # md5.update(content.encode('utf-8'))
    sign = md5.hexdigest()
    print(sign)
    headers = {
        "Accept": "*/*",
        "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
        "Connection": "keep-alive",
        "Content-Type": "application/json",
        "Origin": "https://pv4y-pc.youzy.cn",
        "Referer": "https://pv4y-pc.youzy.cn/",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-site",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
        "sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "u-sign": sign,
        "u-token": ""
    }
    url = "https://uwf7de983aad7a717eb.youzy.cn/youzy.dms.basiclib.api.college.query"
    data = {"keyword":"","provinceNames":[],"natureTypes":[],"eduLevel":"","categories":[],"features":[],"pageIndex":i,"pageSize":20,"sort":11}
    data = json.dumps(data, separators=(',', ':'))
    response = requests.post(url, headers=headers, data=data).json()
    # print(resps)
    # 学校名称
    data_name = jsonpath.jsonpath(response, '$..cnName')
    print(data_name)
    # 学校类型
    data_shape = jsonpath.jsonpath(response, '$..categories')
    # 综合指数
    data_comScore = jsonpath.jsonpath(response, '$..comScore')
    # 是不是本科
    data_eduLevel = jsonpath.jsonpath(response, '$..eduLevel')
    # 学校情况
    data_features = jsonpath.jsonpath(response, '$..features')
    # 排名
    data_ranking = jsonpath.jsonpath(response, '$..ranking')
    # 热度
    data_hits = jsonpath.jsonpath(response, '$..hits')
    # 部门
    data_belong = jsonpath.jsonpath(response, '$..belong')
    data = {'学校名称': data_name, '学校类型': data_shape, '综合指数': data_comScore, '学历': data_eduLevel,
            '学校情况':  data_features, '排名': data_ranking, '热度': data_hits,
            '部门': data_belong}
    df = pd.DataFrame(pd.DataFrame.from_dict(data, orient='index').values.T, columns=list(data.keys()))
    print(df)
    # df.to_csv("中国院校统计.csv",index=False)
643ff9499febb3ee34c95ffe0bb29cb0
['清华大学', '北京大学', '北京大学医学部', '中国科学院大学', '复旦大学', '复旦大学上海医学院', '上海交通大学', '上海交通大学医学院', '中国科学技术大学', '中国人民大学', '中国人民大学(苏州校区)', '浙江大学', '浙江大学医学院', '南京大学', '北京航空航天大学', '北京航空航天大学中法航空学院', '武汉大学', '同济大学', '南开大学', '中国人民解放军国防科技大学']
              学校名称  学校类型   综合指数   学历                      学校情况  排名       热度  \
0             清华大学  [综合]  93.59  ben  [985, 211, 国重点, 保研, 双一流]   1  1378946   
1             北京大学  [综合]  92.13  ben  [985, 211, 国重点, 保研, 双一流]   2  2155577   
2          北京大学医学部  [医药]  92.13  ben  [985, 211, 国重点, 保研, 双一流]   2   439830   
3          中国科学院大学  [综合]  79.95  ben            [国重点, 保研, 双一流]   3   474549   
4             复旦大学  [综合]  83.73  ben  [985, 211, 国重点, 保研, 双一流]   4  1091717   
5        复旦大学上海医学院  [医药]  83.73  ben  [985, 211, 国重点, 保研, 双一流]   4   321950   
6           上海交通大学  [综合]  84.72  ben  [985, 211, 国重点, 保研, 双一流]   5   934308   
7        上海交通大学医学院  [医药]  84.72  ben  [985, 211, 国重点, 保研, 双一流]   5   306197   
8         中国科学技术大学  [综合]  79.59  ben  [985, 211, 国重点, 保研, 双一流]   6   540224   
9           中国人民大学  [综合]  79.92  ben  [985, 211, 保研, 国重点, 双一流]   7   895950   
10    中国人民大学(苏州校区)  [综合]  79.92  ben       [985, 211, 保研, 双一流]   7   448989   
11            浙江大学  [综合]  86.16  ben  [985, 211, 国重点, 保研, 双一流]   8  1102871   
12         浙江大学医学院  [医药]  86.16  ben      [985, 211, 国重点, 双一流]   8   298237   
13            南京大学  [综合]  80.51  ben  [985, 211, 国重点, 保研, 双一流]   9  1068208   
14        北京航空航天大学  [理工]  77.19  ben       [985, 211, 保研, 双一流]  10   668746   
15  北京航空航天大学中法航空学院    []  77.19  ben                        []  10    11630   
16            武汉大学  [综合]  79.82  ben  [985, 211, 国重点, 保研, 双一流]  11  1167221   
17            同济大学  [综合]  77.02  ben  [985, 211, 国重点, 保研, 双一流]  12   694969   
18            南开大学  [综合]  76.11  ben  [985, 211, 国重点, 保研, 双一流]  13   725994   
19   中国人民解放军国防科技大学  [军事]  73.59  ben      [985, 211, 国重点, 双一流]  14   717849   

              部门  
0            教育部  
1            教育部  
2            教育部  
3            中科院  
4            教育部  
5            教育部  
6            教育部  
7            教育部  
8            中科院  
9            教育部  
10           教育部  
11           教育部  
12          浙江大学  
13           教育部  
14           工信部  
15                
16           教育部  
17           教育部  
18           教育部  
19  中国共产党中央军事委员会  

数据可视化

In [29]:

import pandas as pd
data=pd.read_csv("/home/mw/input/yuanxiao7383/中国院校统计.csv")
data

Out[29]:

学校名称 学校类型 综合指数 学历 学校情况 排名 热度 部门
0 清华大学 ['综合'] 93.59 ben ['985', '211', '国重点', '保研', '双一流'] 1 1377703 教育部
1 北京大学 ['综合'] 92.13 ben ['985', '211', '国重点', '保研', '双一流'] 2 2155049 教育部
2 北京大学医学部 ['医药'] 92.13 ben ['985', '211', '国重点', '保研', '双一流'] 2 439644 教育部
3 中国科学院大学 ['综合'] 79.95 ben ['国重点', '保研', '双一流'] 3 474239 中科院
4 复旦大学 ['综合'] 83.73 ben ['985', '211', '国重点', '保研', '双一流'] 4 1091254 教育部
5 复旦大学上海医学院 ['医药'] 83.73 ben ['985', '211', '国重点', '保研', '双一流'] 4 321828 教育部
6 上海交通大学 ['综合'] 84.72 ben ['985', '211', '国重点', '保研', '双一流'] 5 933901 教育部
7 上海交通大学医学院 ['医药'] 84.72 ben ['985', '211', '国重点', '保研', '双一流'] 5 306102 教育部
8 中国科学技术大学 ['综合'] 79.59 ben ['985', '211', '国重点', '保研', '双一流'] 6 539918 中科院
9 中国人民大学 ['综合'] 79.92 ben ['985', '211', '保研', '国重点', '双一流'] 7 895604 教育部
10 中国人民大学(苏州校区) ['综合'] 79.92 ben ['985', '211', '保研', '双一流'] 7 448698 教育部
11 浙江大学 ['综合'] 86.16 ben ['985', '211', '国重点', '保研', '双一流'] 8 1102369 教育部
12 浙江大学医学院 ['医药'] 86.16 ben ['985', '211', '国重点', '双一流'] 8 298159 浙江大学
13 南京大学 ['综合'] 80.51 ben ['985', '211', '国重点', '保研', '双一流'] 9 1067571 教育部
14 北京航空航天大学 ['理工'] 77.19 ben ['985', '211', '保研', '双一流'] 10 668359 工信部
15 北京航空航天大学中法航空学院 [] 77.19 ben [] 10 11509 NaN
16 武汉大学 ['综合'] 79.82 ben ['985', '211', '国重点', '保研', '双一流'] 11 1166705 教育部
17 同济大学 ['综合'] 77.02 ben ['985', '211', '国重点', '保研', '双一流'] 12 694605 教育部
18 南开大学 ['综合'] 76.11 ben ['985', '211', '国重点', '保研', '双一流'] 13 725646 教育部
19 中国人民解放军国防科技大学 ['军事'] 73.59 ben ['985', '211', '国重点', '双一流'] 14 717346 中国共产党中央军事委员会
20 北京理工大学 ['理工'] 74.96 ben ['985', '211', '保研', '双一流'] 15 669865 工信部
21 北京师范大学 ['师范'] 76.59 ben ['985', '211', '保研', '国重点', '双一流'] 16 698563 教育部
22 北京师范大学(珠海校区) ['综合'] 76.59 ben ['985', '211', '国重点', '保研', '双一流'] 16 282745 教育部
23 哈尔滨工业大学 ['理工'] 76.45 ben ['985', '211', '国重点', '保研', '双一流'] 17 724788 工信部
24 哈尔滨工业大学(威海) ['理工'] 76.45 ben ['985', '211', '国重点', '保研', '双一流'] 17 506924 工信部
25 哈尔滨工业大学(深圳) ['理工'] 76.45 ben ['985', '211', '国重点', '保研', '双一流'] 17 253199 工信部
26 西安交通大学 ['综合'] 77.40 ben ['985', '211', '国重点', '保研', '双一流'] 18 879613 教育部
27 东南大学 ['综合'] 76.03 ben ['985', '211', '国重点', '保研', '双一流'] 19 776147 教育部
28 东南大学医学院 ['医药'] 76.03 ben ['985', '211', '国重点', '保研', '双一流'] 19 161457 教育部
29 华中科技大学 ['综合'] 77.98 ben ['985', '211', '国重点', '保研', '双一流'] 20 1055994 教育部
... ... ... ... ... ... ... ... ...
1570 阜阳职业技术学院 ['理工'] 0.00 zhuan [] 0 27130 省政府
1571 湖南信息职业技术学院 ['理工'] 0.00 zhuan ['省重点'] 0 32456 省政府
1572 秦皇岛职业技术学院 ['理工'] 0.00 zhuan [] 0 90203 省政府
1573 浙江纺织服装职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 24877 省政府
1574 广东农工商职业技术学院 ['综合'] 0.00 zhuan ['省属'] 0 30821 省政府
1575 江西旅游商贸职业学院 ['财经'] 0.00 zhuan ['省重点'] 0 26661 省政府
1576 唐山职业技术学院 ['综合'] 0.00 zhuan ['省属'] 0 41608 省政府
1577 沈阳航空职业技术学院 ['理工'] 0.00 zhuan ['省重点'] 0 27589 省政府
1578 七台河职业学院 ['综合'] 0.00 zhuan ['省属'] 0 19431 省政府
1579 甘肃有色冶金职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 19093 省政府
1580 宁夏职业技术学院 ['综合'] 0.00 zhuan ['省属'] 0 27452 自治区政府
1581 内蒙古警察职业学院 ['政法'] 0.00 zhuan ['省属'] 0 26005 自治区政府
1582 天津海运职业学院 ['综合'] 0.00 zhuan ['省重点'] 0 47443 市政府
1583 广东工贸职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 33165 省政府
1584 湘潭医卫职业技术学院 ['医药'] 0.00 zhuan ['省属'] 0 33889 省政府
1585 黑龙江建筑职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 32713 省政府
1586 温州职业技术学院 ['综合'] 0.00 zhuan [] 0 37202 省政府
1587 浙江东方职业技术学院 ['综合'] 0.00 zhuan [] 0 25348 省教育厅
1588 辽宁建筑职业学院 ['理工'] 0.00 zhuan ['省属'] 0 34613 省政府
1589 邢台医学高等专科学校 ['医药'] 0.00 zhuan [] 0 56330 省政府
1590 铁岭师范高等专科学校 ['师范'] 0.00 zhuan ['省属'] 0 32921 省政府
1591 广西水利电力职业技术学院 ['理工'] 0.00 zhuan [] 0 25498 自治区政府
1592 武汉外语外事职业学院 ['综合'] 0.00 zhuan [] 0 24622 省教育厅
1593 福建信息职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 24146 省政府
1594 平顶山工业职业技术学院 ['理工'] 0.00 zhuan ['省属'] 0 27876 省政府
1595 广东省外语艺术职业学院 ['艺术'] 0.00 zhuan ['省属'] 0 39208 省政府
1596 长沙航空职业技术学院 ['理工'] 0.00 zhuan ['省重点'] 0 112407 空军装备部
1597 桂林师范高等专科学校 ['师范'] 0.00 zhuan [] 0 26748 自治区政府
1598 山东商务职业学院 ['综合'] 0.00 zhuan ['省属'] 0 43707 省政府
1599 延边职业技术学院 ['理工'] 0.00 zhuan [] 0 23005 省政府

In [30]:

data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1600 entries, 0 to 1599
Data columns (total 8 columns):
学校名称    1600 non-null object
学校类型    1600 non-null object
综合指数    1600 non-null float64
学历      1600 non-null object
学校情况    1600 non-null object
排名      1600 non-null int64
热度      1600 non-null int64
部门      1588 non-null object
dtypes: float64(1), int64(2), object(5)
memory usage: 100.1+ KB

In [31]:

import jieba
# jieba.load_userdict('addwords.txt')
title_cut = []
for i in data.学校情况:
    j = jieba.lcut(i)
    title_cut.append(j)
Building prefix dict from the default dictionary ...
Dumping model to file cache /tmp/jieba.cache
Loading model cost 0.971 seconds.
Prefix dict has been built succesfully.

In [32]:

cut_words = jieba.lcut(str(data['学校情况'].values), cut_all = False)

In [33]:

file_path = open(r'/home/mw/input/data8378/stopwords.txt',encoding='utf-8')
stop_words = file_path.read()

In [34]:

# 新建一个空列表,用于存储删除停用词后的数据
new_data = []
for word in cut_words:
    if word not in stop_words:
        new_data.append(word)
print(new_data)
['[', '"', '[', "'", '985', "'", "'", '211', "'", "'", '国', '重点', "'", "'", '保研', "'", "'", '双', '一流', "'", ']', '"', '"', '[', "'", '985', "'", "'", '211', "'", "'", '国', '重点', "'", "'", '保研', "'", "'", '双', '一流', "'", ']', '"', '"', '[', "'", '985', "'", "'", '211', "'", "'", '国', '重点', "'", "'", '保研', "'", "'", '双', '一流', "'", ']', '"', '...', "'", '[', ']', "'", '"', '[', "'", '省属', "'", ']', '"', "'", '[', ']', "'", ']']

In [35]:

from nltk import FreqDist
freq_list = FreqDist(new_data)
# 返回词语列表
most_common_words = freq_list.most_common()
print(most_common_words)
[("'", 36), ('"', 8), ('[', 7), (']', 7), ('985', 3), ('211', 3), ('国', 3), ('重点', 3), ('保研', 3), ('双', 3), ('一流', 3), ('...', 1), ('省属', 1)]

In [36]:

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
def wordcloud_base() -> WordCloud:
    c = (
        WordCloud()
        .add("", most_common_words, word_size_range=[20, 100])
        .set_global_opts(title_opts=opts.TitleOpts(title="美团标题标签可视化"))
    )
    return c

wd = wordcloud_base()
wd.render_notebook()

Out[36]:

In [25]:

import numpy as np 
data["综合指数"] = data["综合指数"].astype(np.int64)
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1600 entries, 0 to 1599
Data columns (total 8 columns):
学校名称    1600 non-null object
学校类型    1600 non-null object
综合指数    1600 non-null int64
学历      1600 non-null object
学校情况    1600 non-null object
排名      1600 non-null int64
热度      1600 non-null int64
部门      1588 non-null object
dtypes: int64(3), object(5)
memory usage: 100.1+ KB

In [26]:

data['学校类型']=data['学校类型'].apply(lambda x: x.replace('[', '').replace(']', ''))
data['学校类型']

Out[26]:

0       '综合'
1       '综合'
2       '医药'
3       '综合'
4       '综合'
5       '医药'
6       '综合'
7       '医药'
8       '综合'
9       '综合'
10      '综合'
11      '综合'
12      '医药'
13      '综合'
14      '理工'
15          
16      '综合'
17      '综合'
18      '综合'
19      '军事'
20      '理工'
21      '师范'
22      '综合'
23      '理工'
24      '理工'
25      '理工'
26      '综合'
27      '综合'
28      '医药'
29      '综合'
        ... 
1570    '理工'
1571    '理工'
1572    '理工'
1573    '理工'
1574    '综合'
1575    '财经'
1576    '综合'
1577    '理工'
1578    '综合'
1579    '理工'
1580    '综合'
1581    '政法'
1582    '综合'
1583    '理工'
1584    '医药'
1585    '理工'
1586    '综合'
1587    '综合'
1588    '理工'
1589    '医药'
1590    '师范'
1591    '理工'
1592    '综合'
1593    '理工'
1594    '理工'
1595    '艺术'
1596    '理工'
1597    '师范'
1598    '综合'
1599    '理工'
Name: 学校类型, Length: 1600, dtype: object

In [27]:

# 查看缺失值
data.isnull().any()

Out[27]:

学校名称    False
学校类型    False
综合指数    False
学历      False
学校情况    False
排名      False
热度      False
部门       True
dtype: bool

In [28]:

# 查看数据结构
data.describe()

Out[28]:

综合指数 排名 热度
count 1600.000000 1600.000000 1.600000e+03
mean 47.107500 477.676875 1.650321e+05
std 25.032106 406.079676 1.851948e+05
min 0.000000 0.000000 2.730000e+03
25% 55.000000 43.750000 5.205350e+04
50% 57.000000 435.500000 9.286500e+04
75% 60.000000 835.250000 2.108105e+05
max 93.000000 1235.000000 2.155049e+06

In [10]:

data2 = data.groupby('学校名称')['综合指数'].agg(['mean', 'median'])
data2

Out[10]:

mean median
学校名称
七台河职业学院 0 0
三亚中瑞酒店管理职业学院 0 0
三亚学院 55 55
三峡大学 62 62
三峡大学科技学院 57 57
三明学院 58 58
三江学院 56 56
三门峡社会管理职业学院 0 0
三门峡职业技术学院 0 0
上海中侨职业技术大学 55 55
上海中医药大学 65 65
上海交通大学 84 84
上海交通大学医学院 84 84
上海体育大学 64 64
上海健康医学院 59 59
上海公安学院 0 0
上海兴伟学院 56 56
上海商学院 60 60
上海外国语大学 68 68
上海外国语大学贤达经济人文学院 55 55
上海大学 71 71
上海对外经贸大学 65 65
上海工程技术大学 61 61
上海师范大学 65 65
上海师范大学天华学院 56 56
上海应用技术大学 61 61
上海建桥学院 55 55
上海思博职业技术学院 0 0
上海戏剧学院 65 65
上海政法学院 64 64
... ... ...
黄冈师范学院 59 59
黄冈职业技术学院 0 0
黄山学院 59 59
黄河交通学院 57 57
黄河科技学院 56 56
黄淮学院 57 57
黎明职业大学 0 0
黑河学院 56 56
黑龙江东方学院 55 55
黑龙江中医药大学 60 60
黑龙江八一农垦大学 58 58
黑龙江外国语学院 55 55
黑龙江大学 62 62
黑龙江工业学院 57 57
黑龙江工商学院 55 55
黑龙江工程学院 58 58
黑龙江工程学院昆仑旅游学院 55 55
黑龙江建筑职业技术学院 0 0
黑龙江科技大学 59 59
黑龙江财经学院 55 55
黔南民族师范学院 57 57
齐鲁医药学院 57 57
齐鲁工业大学 60 60
齐鲁师范学院 59 59
齐鲁理工学院 55 55
齐齐哈尔医学院 58 58
齐齐哈尔大学 58 58
齐齐哈尔工程学院 54 54
齐齐哈尔高等师范专科学校 0 0
龙岩学院 58 58

1600 rows × 2 columns

In [11]:

data_brand=data2.sort_values(by='median', ascending=True).tail(10)
data_brand

Out[11]:

mean median
学校名称
南京大学 80 80
复旦大学上海医学院 83 83
复旦大学 83 83
上海交通大学 84 84
上海交通大学医学院 84 84
浙江大学 86 86
浙江大学医学院 86 86
北京大学医学部 92 92
北京大学 92 92
清华大学 93 93

In [12]:

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (Bar()
       .add_xaxis(list(data_brand.index))
       .add_yaxis('',[int(i) for i in(round(data_brand['median']))])
        .set_global_opts(title_opts=opts.TitleOpts(title="中国大学综合指数概况", subtitle="中位数"),xaxis_opts=opts.AxisOpts(name_rotate=0,name="综合指数",axislabel_opts={"rotate":60}))

        )
bar.render_notebook()

Out[12]:

In [13]:

data3 = data.groupby('学校名称')['热度'].agg(['mean', 'median'])
data3

Out[13]:

mean median
学校名称
七台河职业学院 19431 19431
三亚中瑞酒店管理职业学院 21755 21755
三亚学院 104658 104658
三峡大学 501787 501787
三峡大学科技学院 89985 89985
三明学院 98712 98712
三江学院 101231 101231
三门峡社会管理职业学院 20692 20692
三门峡职业技术学院 37561 37561
上海中侨职业技术大学 57802 57802
上海中医药大学 214334 214334
上海交通大学 933901 933901
上海交通大学医学院 306102 306102
上海体育大学 76233 76233
上海健康医学院 115812 115812
上海公安学院 106291 106291
上海兴伟学院 33532 33532
上海商学院 155186 155186
上海外国语大学 302454 302454
上海外国语大学贤达经济人文学院 92331 92331
上海大学 607608 607608
上海对外经贸大学 243112 243112
上海工程技术大学 224267 224267
上海师范大学 407476 407476
上海师范大学天华学院 76674 76674
上海应用技术大学 291811 291811
上海建桥学院 188996 188996
上海思博职业技术学院 33447 33447
上海戏剧学院 116150 116150
上海政法学院 219194 219194
... ... ...
黄冈师范学院 104892 104892
黄冈职业技术学院 42997 42997
黄山学院 60550 60550
黄河交通学院 60367 60367
黄河科技学院 96146 96146
黄淮学院 152150 152150
黎明职业大学 32186 32186
黑河学院 69555 69555
黑龙江东方学院 50417 50417
黑龙江中医药大学 169616 169616
黑龙江八一农垦大学 125798 125798
黑龙江外国语学院 49229 49229
黑龙江大学 344645 344645
黑龙江工业学院 121327 121327
黑龙江工商学院 42071 42071
黑龙江工程学院 117734 117734
黑龙江工程学院昆仑旅游学院 34104 34104
黑龙江建筑职业技术学院 32713 32713
黑龙江科技大学 238421 238421
黑龙江财经学院 55881 55881
黔南民族师范学院 55214 55214
齐鲁医药学院 121623 121623
齐鲁工业大学 329048 329048
齐鲁师范学院 134712 134712
齐鲁理工学院 99493 99493
齐齐哈尔医学院 120487 120487
齐齐哈尔大学 164782 164782
齐齐哈尔工程学院 47971 47971
齐齐哈尔高等师范专科学校 28897 28897
龙岩学院 80677 80677

In [14]:

data_line=data3.sort_values(by='median', ascending=True).tail(10)
data_line

Out[14]:

mean median
学校名称
四川大学 1018881 1018881
苏州大学 1054040 1054040
华中科技大学 1055994 1055994
南京大学 1067571 1067571
复旦大学 1091254 1091254
浙江大学 1102369 1102369
吉林大学 1113904 1113904
武汉大学 1166705 1166705
清华大学 1377703 1377703
北京大学 2155049 2155049

In [15]:

from pyecharts.charts import Line
line = (Line()
       .add_xaxis(list(data_line.index))
       .add_yaxis('',[int(i) for i in(round(data_line['mean']))])
        .set_global_opts(title_opts=opts.TitleOpts(title="中国大学热度概况top10", subtitle="平均"),xaxis_opts=opts.AxisOpts(name_rotate=0,name="热度",axislabel_opts={"rotate":60}))

        )
line.render_notebook()

Out[15]:

In [16]:

data["部门"].unique()

Out[16]:

array(['教育部', '中科院', '浙江大学', '工信部', nan, '中国共产党中央军事委员会', '公安部', '社科院',
       '中国人民解放军海军', '市政府', '省政府', '国民委', '中国人民解放军陆军', '国卫委', '统战部',
       '中国人民解放军空军', '交通运输部', '国体局', '省教育厅', '自治区政府', '海关总署',
       '交通运输部(中国民用航空局)', '新疆生产建设兵团', '中华妇女联合会', '中华全国总工会', '市教委',
       '河南省体育局', '应管部', '地震局', '自治区教育厅', '香港特别行政区教育局', '澳门特别行政区政府',
       '中华人民共和国澳门特别行政区高等教育局', '中国人民解放军火箭军', '香港特别行政区政府教育局', '香港特别行政区政府',
       '上海市 中国科学院', '中国人民武装警察部队总部', '国家军委', '外交部', '解放军战略支援部队航天系统部',
       '中国人民解放军战略支援部队', '共青团', '中国澳门特区政府', '中央办公厅', '司法部', '中国人民武装警察部队',
       '中国人民武装警察部队政治部', '解放军成都军区', '中央军委联合参谋部', '中国人民解放军空军总部',
       '中国共产党中央军事委员会政治工作部', '解放军兰州军区', '香港特别行政区政府高等教育署', '中国人民解放军',
       '解放军总参谋部', '澳门特别行政区社会文化司', '空军装备部'], dtype=object)

In [17]:

from collections import Counter
# 使用 Counter 统计元素出现次数
counts = Counter(data["部门"])

# 使用 sorted() 函数对出现次数进行降序排序
sorted_counts = sorted(counts.items(), key=lambda x: x[1], reverse=True)

# 打印结果
for element, count in sorted_counts:
    print(element, count)
省政府 780
省教育厅 386
教育部 95
市政府 89
自治区政府 80
市教委 38
自治区教育厅 21
nan 12
工信部 9
中国人民解放军陆军 8
香港特别行政区教育局 7
国民委 6
公安部 5
中国人民解放军空军 5
中国人民解放军海军 4
新疆生产建设兵团 3
中国人民武装警察部队 3
解放军总参谋部 3
中科院 2
统战部 2
交通运输部(中国民用航空局) 2
应管部 2
香港特别行政区政府 2
中国人民武装警察部队总部 2
浙江大学 1
中国共产党中央军事委员会 1
社科院 1
国卫委 1
交通运输部 1
国体局 1
海关总署 1
中华妇女联合会 1
中华全国总工会 1
河南省体育局 1
地震局 1
澳门特别行政区政府 1
中华人民共和国澳门特别行政区高等教育局 1
中国人民解放军火箭军 1
香港特别行政区政府教育局 1
上海市 中国科学院 1
国家军委 1
外交部 1
解放军战略支援部队航天系统部 1
中国人民解放军战略支援部队 1
共青团 1
中国澳门特区政府 1
中央办公厅 1
司法部 1
中国人民武装警察部队政治部 1
解放军成都军区 1
中央军委联合参谋部 1
中国人民解放军空军总部 1
中国共产党中央军事委员会政治工作部 1
解放军兰州军区 1
香港特别行政区政府高等教育署 1
中国人民解放军 1
澳门特别行政区社会文化司 1
空军装备部 1

In [19]:

from pyecharts import options as opts
from pyecharts.charts import Radar
# 数据
data = [
    {"value": [780, 386, 95, 89, 80, 38], "name": "实际值"},
    {"value": [1000, 1000, 1000, 1000, 1000, 1000], "name": "目标值"}
]

# 指示器名称
indicator = [
    {"name": "省政府", "max": 1000},
    {"name": "省教育厅", "max": 1000},
    {"name": "教育部", "max": 1000},
    {"name": "自治区政府", "max": 1000},
    {"name": "市教委", "max": 1000},
    {"name": "自治区教育厅", "max": 1000},
]

# 绘图
radar = (
    Radar()
    .set_global_opts(title_opts=opts.TitleOpts(title="中国院校部门雷达图"))
    .add_schema(schema=indicator)
    .add("数据", data, label_opts=opts.LabelOpts(is_show=False))
)

# 展示
radar.render_notebook()

Out[19]:

相关推荐

  1. 标题

    2023-12-18 05:56:04       41 阅读
  2. 标题

    2023-12-18 05:56:04       43 阅读
  3. 标题

    2023-12-18 05:56:04       40 阅读
  4. 标题

    2023-12-18 05:56:04       47 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 05:56:04       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 05:56:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 05:56:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 05:56:04       18 阅读

热门阅读

  1. 复杂指针的声明

    2023-12-18 05:56:04       35 阅读
  2. 安装Docker

    2023-12-18 05:56:04       46 阅读
  3. 测试:Selenium相关问题

    2023-12-18 05:56:04       33 阅读
  4. 【深入pytorch】transforms.functional 梯度流动问题

    2023-12-18 05:56:04       43 阅读
  5. CAD VBA 导出cass扩展数据到excel

    2023-12-18 05:56:04       43 阅读
  6. Skywalking告警规则示例

    2023-12-18 05:56:04       35 阅读