头部首发优志愿头部u_sign生成与TLS指纹处理! + 数据可视化技术讲解【Python爬虫】

目录

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

找对应得数据包

请求发现数据有加密

发现加密参数

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

分析过程

数据可视化


在这里插入图片描述

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

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

在这里插入图片描述

找对应得数据包

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

请求发现数据有加密

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

发现加密参数

在这里插入图片描述

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

在这里插入图片描述

分析过程

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

!pip install jsonpath
Collecting jsonpathDownloading jsonpath-0.82.2.tar.gz (10 kB)Preparing metadata (setup.py) ... done
Building wheels for collected packages: jsonpathBuilding wheel for jsonpath (setup.py) ... doneCreated wheel for jsonpath: filename=jsonpath-0.82.2-py3-none-any.whl size=6724 sha256=3db960d7ff6f0bb132346f0e72e00349a7f6156100fc98c35ffda5cee786b2bfStored 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' % imd5 = 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.59ben['985', '211', '国重点', '保研', '双一流']11377703教育部
1北京大学['综合']92.13ben['985', '211', '国重点', '保研', '双一流']22155049教育部
2北京大学医学部['医药']92.13ben['985', '211', '国重点', '保研', '双一流']2439644教育部
3中国科学院大学['综合']79.95ben['国重点', '保研', '双一流']3474239中科院
4复旦大学['综合']83.73ben['985', '211', '国重点', '保研', '双一流']41091254教育部
5复旦大学上海医学院['医药']83.73ben['985', '211', '国重点', '保研', '双一流']4321828教育部
6上海交通大学['综合']84.72ben['985', '211', '国重点', '保研', '双一流']5933901教育部
7上海交通大学医学院['医药']84.72ben['985', '211', '国重点', '保研', '双一流']5306102教育部
8中国科学技术大学['综合']79.59ben['985', '211', '国重点', '保研', '双一流']6539918中科院
9中国人民大学['综合']79.92ben['985', '211', '保研', '国重点', '双一流']7895604教育部
10中国人民大学(苏州校区)['综合']79.92ben['985', '211', '保研', '双一流']7448698教育部
11浙江大学['综合']86.16ben['985', '211', '国重点', '保研', '双一流']81102369教育部
12浙江大学医学院['医药']86.16ben['985', '211', '国重点', '双一流']8298159浙江大学
13南京大学['综合']80.51ben['985', '211', '国重点', '保研', '双一流']91067571教育部
14北京航空航天大学['理工']77.19ben['985', '211', '保研', '双一流']10668359工信部
15北京航空航天大学中法航空学院[]77.19ben[]1011509NaN
16武汉大学['综合']79.82ben['985', '211', '国重点', '保研', '双一流']111166705教育部
17同济大学['综合']77.02ben['985', '211', '国重点', '保研', '双一流']12694605教育部
18南开大学['综合']76.11ben['985', '211', '国重点', '保研', '双一流']13725646教育部
19中国人民解放军国防科技大学['军事']73.59ben['985', '211', '国重点', '双一流']14717346中国共产党中央军事委员会
20北京理工大学['理工']74.96ben['985', '211', '保研', '双一流']15669865工信部
21北京师范大学['师范']76.59ben['985', '211', '保研', '国重点', '双一流']16698563教育部
22北京师范大学(珠海校区)['综合']76.59ben['985', '211', '国重点', '保研', '双一流']16282745教育部
23哈尔滨工业大学['理工']76.45ben['985', '211', '国重点', '保研', '双一流']17724788工信部
24哈尔滨工业大学(威海)['理工']76.45ben['985', '211', '国重点', '保研', '双一流']17506924工信部
25哈尔滨工业大学(深圳)['理工']76.45ben['985', '211', '国重点', '保研', '双一流']17253199工信部
26西安交通大学['综合']77.40ben['985', '211', '国重点', '保研', '双一流']18879613教育部
27东南大学['综合']76.03ben['985', '211', '国重点', '保研', '双一流']19776147教育部
28东南大学医学院['医药']76.03ben['985', '211', '国重点', '保研', '双一流']19161457教育部
29华中科技大学['综合']77.98ben['985', '211', '国重点', '保研', '双一流']201055994教育部
...........................
1570阜阳职业技术学院['理工']0.00zhuan[]027130省政府
1571湖南信息职业技术学院['理工']0.00zhuan['省重点']032456省政府
1572秦皇岛职业技术学院['理工']0.00zhuan[]090203省政府
1573浙江纺织服装职业技术学院['理工']0.00zhuan['省属']024877省政府
1574广东农工商职业技术学院['综合']0.00zhuan['省属']030821省政府
1575江西旅游商贸职业学院['财经']0.00zhuan['省重点']026661省政府
1576唐山职业技术学院['综合']0.00zhuan['省属']041608省政府
1577沈阳航空职业技术学院['理工']0.00zhuan['省重点']027589省政府
1578七台河职业学院['综合']0.00zhuan['省属']019431省政府
1579甘肃有色冶金职业技术学院['理工']0.00zhuan['省属']019093省政府
1580宁夏职业技术学院['综合']0.00zhuan['省属']027452自治区政府
1581内蒙古警察职业学院['政法']0.00zhuan['省属']026005自治区政府
1582天津海运职业学院['综合']0.00zhuan['省重点']047443市政府
1583广东工贸职业技术学院['理工']0.00zhuan['省属']033165省政府
1584湘潭医卫职业技术学院['医药']0.00zhuan['省属']033889省政府
1585黑龙江建筑职业技术学院['理工']0.00zhuan['省属']032713省政府
1586温州职业技术学院['综合']0.00zhuan[]037202省政府
1587浙江东方职业技术学院['综合']0.00zhuan[]025348省教育厅
1588辽宁建筑职业学院['理工']0.00zhuan['省属']034613省政府
1589邢台医学高等专科学校['医药']0.00zhuan[]056330省政府
1590铁岭师范高等专科学校['师范']0.00zhuan['省属']032921省政府
1591广西水利电力职业技术学院['理工']0.00zhuan[]025498自治区政府
1592武汉外语外事职业学院['综合']0.00zhuan[]024622省教育厅
1593福建信息职业技术学院['理工']0.00zhuan['省属']024146省政府
1594平顶山工业职业技术学院['理工']0.00zhuan['省属']027876省政府
1595广东省外语艺术职业学院['艺术']0.00zhuan['省属']039208省政府
1596长沙航空职业技术学院['理工']0.00zhuan['省重点']0112407空军装备部
1597桂林师范高等专科学校['师范']0.00zhuan[]026748自治区政府
1598山东商务职业学院['综合']0.00zhuan['省属']043707省政府
1599延边职业技术学院['理工']0.00zhuan[]023005省政府

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 cwd = 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]:

综合指数排名热度
count1600.0000001600.0000001.600000e+03
mean47.107500477.6768751.650321e+05
std25.032106406.0796761.851948e+05
min0.0000000.0000002.730000e+03
25%55.00000043.7500005.205350e+04
50%57.000000435.5000009.286500e+04
75%60.000000835.2500002.108105e+05
max93.0000001235.0000002.155049e+06

In [10]:

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

Out[10]:

meanmedian
学校名称
七台河职业学院00
三亚中瑞酒店管理职业学院00
三亚学院5555
三峡大学6262
三峡大学科技学院5757
三明学院5858
三江学院5656
三门峡社会管理职业学院00
三门峡职业技术学院00
上海中侨职业技术大学5555
上海中医药大学6565
上海交通大学8484
上海交通大学医学院8484
上海体育大学6464
上海健康医学院5959
上海公安学院00
上海兴伟学院5656
上海商学院6060
上海外国语大学6868
上海外国语大学贤达经济人文学院5555
上海大学7171
上海对外经贸大学6565
上海工程技术大学6161
上海师范大学6565
上海师范大学天华学院5656
上海应用技术大学6161
上海建桥学院5555
上海思博职业技术学院00
上海戏剧学院6565
上海政法学院6464
.........
黄冈师范学院5959
黄冈职业技术学院00
黄山学院5959
黄河交通学院5757
黄河科技学院5656
黄淮学院5757
黎明职业大学00
黑河学院5656
黑龙江东方学院5555
黑龙江中医药大学6060
黑龙江八一农垦大学5858
黑龙江外国语学院5555
黑龙江大学6262
黑龙江工业学院5757
黑龙江工商学院5555
黑龙江工程学院5858
黑龙江工程学院昆仑旅游学院5555
黑龙江建筑职业技术学院00
黑龙江科技大学5959
黑龙江财经学院5555
黔南民族师范学院5757
齐鲁医药学院5757
齐鲁工业大学6060
齐鲁师范学院5959
齐鲁理工学院5555
齐齐哈尔医学院5858
齐齐哈尔大学5858
齐齐哈尔工程学院5454
齐齐哈尔高等师范专科学校00
龙岩学院5858

1600 rows × 2 columns

In [11]:

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

Out[11]:

meanmedian
学校名称
南京大学8080
复旦大学上海医学院8383
复旦大学8383
上海交通大学8484
上海交通大学医学院8484
浙江大学8686
浙江大学医学院8686
北京大学医学部9292
北京大学9292
清华大学9393

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]:

meanmedian
学校名称
七台河职业学院1943119431
三亚中瑞酒店管理职业学院2175521755
三亚学院104658104658
三峡大学501787501787
三峡大学科技学院8998589985
三明学院9871298712
三江学院101231101231
三门峡社会管理职业学院2069220692
三门峡职业技术学院3756137561
上海中侨职业技术大学5780257802
上海中医药大学214334214334
上海交通大学933901933901
上海交通大学医学院306102306102
上海体育大学7623376233
上海健康医学院115812115812
上海公安学院106291106291
上海兴伟学院3353233532
上海商学院155186155186
上海外国语大学302454302454
上海外国语大学贤达经济人文学院9233192331
上海大学607608607608
上海对外经贸大学243112243112
上海工程技术大学224267224267
上海师范大学407476407476
上海师范大学天华学院7667476674
上海应用技术大学291811291811
上海建桥学院188996188996
上海思博职业技术学院3344733447
上海戏剧学院116150116150
上海政法学院219194219194
.........
黄冈师范学院104892104892
黄冈职业技术学院4299742997
黄山学院6055060550
黄河交通学院6036760367
黄河科技学院9614696146
黄淮学院152150152150
黎明职业大学3218632186
黑河学院6955569555
黑龙江东方学院5041750417
黑龙江中医药大学169616169616
黑龙江八一农垦大学125798125798
黑龙江外国语学院4922949229
黑龙江大学344645344645
黑龙江工业学院121327121327
黑龙江工商学院4207142071
黑龙江工程学院117734117734
黑龙江工程学院昆仑旅游学院3410434104
黑龙江建筑职业技术学院3271332713
黑龙江科技大学238421238421
黑龙江财经学院5588155881
黔南民族师范学院5521455214
齐鲁医药学院121623121623
齐鲁工业大学329048329048
齐鲁师范学院134712134712
齐鲁理工学院9949399493
齐齐哈尔医学院120487120487
齐齐哈尔大学164782164782
齐齐哈尔工程学院4797147971
齐齐哈尔高等师范专科学校2889728897
龙岩学院8067780677

In [14]:

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

Out[14]:

meanmedian
学校名称
四川大学10188811018881
苏州大学10540401054040
华中科技大学10559941055994
南京大学10675711067571
复旦大学10912541091254
浙江大学11023691102369
吉林大学11139041113904
武汉大学11667051166705
清华大学13777031377703
北京大学21550492155049

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]:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何预防[[MyFile@waifu.club]].wis [[backup@waifu.club]].wis勒索病毒感染您的计算机?

导言&#xff1a; 近期&#xff0c;一种新兴的威胁[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis勒索病毒&#xff0c;引起了广泛关注。这种恶意软件通过其高度复杂的加密算法&#xff0c;威胁着用户和组织的数据安全。本文将深入介绍[[MyFilewaifu.club]].wis [[backup…

(7)Linux GDB以及gcc和g++

&#x1f4ad; 前言 本章我们将带着大家高雅的学一学令众多习惯图形化页面的朋友难受的 gdb 调试&#xff0c;这部分知识可以选择性学习学习&#xff0c;以后倘若遇到一些问题时能在 Linux 内简单调试&#xff0c;还是很香的。然后在讲讲 gcc 和 g&#xff0c;系统讲解程序运行…

​C语言顺序查找算法以及代码​

通过前面对静态查找表的介绍&#xff0c;静态查找表即为只做查找操作的查找表。静态查找表既可以使用顺序表表示&#xff0c;也可以使用链表结构表示。虽然一个是数组、一个链表&#xff0c;但两者在做查找操作时&#xff0c;基本上大同小异。 本节以静态查找表的顺序存储结构为…

【Spring】11 EnvironmentAware 接口

文章目录 1. 简介2. 作用3. 使用3.1 创建并实现接口3.2 配置 Bean 信息3.3 创建启动类3.4 启动 4. 应用场景总结 Spring 框架为开发者提供了丰富的扩展点&#xff0c;其中之一就是 Bean 生命周期中的回调接口。本文将着重介绍一个与环境&#xff08;Environment&#xff09;相关…

Atcoder Beginner Contest 332 (A - F 题)

目录 [A - Online Shopping](https://atcoder.jp/contests/abc332/tasks/abc332_a)Problem StatementConstraintsInputOutputSample Input 1Sample Output 1Sample Input 2Sample Output 2Sample Input 3Sample Output 3 SolutionCode [B - Glass and Mu](https://atcoder.jp/c…

Crocoddyl: 多接触最优控制的高效多功能框架

系列文章目录 前言 我们介绍了 Crocoddyl&#xff08;Contact RObot COntrol by Differential DYnamic Library&#xff09;&#xff0c;这是一个专为高效多触点优化控制&#xff08;multi-contact optimal control&#xff09;而定制的开源框架。Crocoddyl 可高效计算给定预定…

太阳能供电+4G摄像头搭建EasyCVR鱼塘养殖远程视频监控方案

一、背景需求 随着我国农业的快速发展&#xff0c;以及对新兴技术的应用&#xff0c;养殖业、农牧业、种植业等也面临着全新的挑战与机遇。对鱼塘养殖行业来说&#xff0c;养殖区域面积大、管理难&#xff0c;经常会遇到偷钓者、盗窃鱼苗、非法入侵等监管难题。在国家大力扶持…

2023年OceanBase开发者大会-核心PPT资料下载

一、峰会简介 2023年OceanBase开发者大会主要涵盖了OceanBase的最新技术进展、产品更新以及开发者工具的发布。大会发布了OceanBase 4.1版本&#xff0c;公布了两大友好工具&#xff0c;升级了文档的易用性&#xff0c;并统一了企业版和社区版的代码分支。这些举措全面呈现了O…

基于局域网和广域网训练推理加速策略

一、基于局域网的多GPU上并行训练 TensorFlow 的 MirroredStrategy 和 PyTorch 的 DistributedDataParallel 它们可以帮助您在多个 GPU 或多个计算节点上训练大型模型。这些策略的核心目标是提高训练速度,同时保持模型的准确性和稳定性。 加速的底层原理 TensorFlow 的 Mirro…

一文教会pandas

今天的笔试题令我感触很深&#xff0c;回顾一下之前写的都是低代码想想都。。。 anareport[[reportid,anndt,stockid]].drop_duplicates().rolling(window10,min_periods1).sum().groupby([anndt,stockid])[reportid].count() dfanareport[[reportid,anndt,stockid]].drop_dup…

构建高效持久层:深度解析 MyBatis-Plus(02)

目录 引言1. 逻辑删除1.1 概述1.2 逻辑删除的优势1.3.为什么使用逻辑删除1.4 综合案例 2. 乐观锁和悲观锁2.1.什么是乐观锁和悲观锁2.2.乐观锁和悲观锁的区别2.3.综合案例 3. 分页插件总结 引言 在现代软件开发中&#xff0c;数据库操作是不可或缺的一环。为了提高系统的性能、…

awk统计日志

部分日志文本格式内容 [2023-12-18 22:40:52.301][INFO ][221][com.excellent.common.core.security.filter.UrlRedirectFilter.doFilter:131] ----------------->>> 请求进入拦截器&#xff0c;IP&#xff1a;14.111.199.218, CLIENT&#xff1a;ANDROID&#xff0c…

避坑指南:uni-forms表单在uni-app中的实践经验

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;uni-app篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:uni-app中forms表单的避坑指南篇 该篇章已被前端圈子收录,点此处进入即可查看更多优质内…

计算机网络考研辨析(后续整理入笔记)

文章目录 体系结构物理层速率辨析交换方式辨析编码调制辨析 链路层链路层功能介质访问控制&#xff08;MAC&#xff09;信道划分控制之——CDMA随机访问控制轮询访问控制 扩展以太网交换机 网络层网络层功能IPv4协议IP地址IP数据报分析ICMP 网络拓扑与转发分析&#xff08;重点…

阶段十-springsecurity总结

jwt认证流程 SpringSecurity 认证过程 第一步&#xff1a; 创建一个类实现UserDetailsService接口&#xff0c;重写其中的方法 通过重写 public UserDetails loadUserByUsername(String username) 方法 从数据库校验用户输入的用户名 配置SecurityConfig Bean注入 Passwor…

类中成员函数及普通函数地址获取方式

文章目录 代码准备测试演示注意事项成员函数类型申明测试演示总的打印输出 代码准备 头文件:Calc.h #pragma onceclass Calc { public:int add(int,int);//函数声明static int sub(int,int);//函数声明 public:int b;//定义了一个成员变量static int a;//声明了一个静态成员变…

SG3524控制的恒流源电路图

SG3524简介 SG3524是开关电源脉宽调制型控制器。应用于开关稳压器&#xff0c;变压器耦合的直流变换器&#xff0c;电压倍增器&#xff0c;极性转换器等。采用固定频率&#xff0c;脉冲宽度调制&#xff08;脉宽调制&#xff09;技术。输出允许单端或推挽输出。芯片电路包括电…

lvs负载均衡

lvs负载均衡群集 群集 特点&#xff1a;由多台主机构成&#xff0c;都干同一件事&#xff0c;对外显示一个整体 企业集群分类 负载均衡群集高可用群集高性能运算群集 负载均衡群集&#xff08;LB&#xff09; 负载均衡的作用 提高应用系统的响应能力可以处理更多的访问请…

Bifrost 中间件 X-Requested-With 系统身份认证绕过漏洞复现

0x01 产品简介 Bifrost是一款面向生产环境的 MySQL,MariaDB,kafka 同步到Redis,MongoDB,ClickHouse等服务的异构中间件 0x02 漏洞概述 Bifrost 中间件 X-Requested-With 存在身份认证绕过漏洞,未经身份认证的攻击者可未授权创建管理员权限账号,可通过删除请求头实现身…

动态加载库

no_mangle 不要改标识符 首先是认识这个标注&#xff1a;mangle&#xff0c;英文的含义“撕裂、碾压”。我第一次把这个单次误以为是manage&#xff0c;说实话两个单词还挺像的。 RUS中函数或静态变量使用#[no_mangle]这个标注属性后&#xff0c;编译器就不会修改它们的名字了…