简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。
一、前言
今天我将带大家继续分析另外五个Python相关职位----运维开发/高级开发工程师/大数据/机器学习/架构师,上一节中我只给出了获取和简单清理数据的代码,今天将给出数据可视化的代码,文末见获取全部源代码方式。
二、和我一起动动手,动动脑
四种图可视化数据+数据清理
(1)矩形树图
# 1.矩形树图可视化学历要求 from pyecharts import TreeMap education_table = {} for x in education: education_table[x] = education.count(x) key = [] values = [] for k,v in education_table.items(): key.append(k) values.append(v) data = [] for i in range(len(key)) : dict_01 = {"value": 40, "name": "我是A"} dict_01["value"] = values[i] dict_01["name"] = key[i] data.append(dict_01) tree_map = TreeMap("矩形树图", width=1200, height=600) tree_map.add("学历要求",data, is_label_show=True, label_pos='inside')
(2)玫瑰饼图
# 2.玫瑰饼图可视化薪资 import re import math ''' # 薪水分类 parameter : str_01--字符串原格式:20k-30k returned value : (a0+b0)/2 --- 解析后变成数字求中间值:25.0 ''' def assort_salary(str_01): reg_str01 = "(\d+)" res_01 = re.findall(reg_str01, str_01) if len(res_01) == 2: a0 = int(res_01[0]) b0 = int(res_01[1]) else : a0 = int(res_01[0]) b0 = int(res_01[0]) return (a0+b0)/2 from pyecharts import Pie salary_table = {} for x in salary: salary_table[x] = salary.count(x) key = ['5k以下','5k-10k','10k-20k','20k-30k','30k-40k','40k以上'] a0,b0,c0,d0,e0,f0=[0,0,0,0,0,0] for k,v in salary_table.items(): ave_salary = math.ceil(assort_salary(k)) print(ave_salary) if ave_salary < 5: a0 = a0 + v elif ave_salary in range(5,10): b0 = b0 +v elif ave_salary in range(10,20): c0 = c0 +v elif ave_salary in range(20,30): d0 = d0 +v elif ave_salary in range(30,40): e0 = e0 +v else : f0 = f0 + v values = [a0,b0,c0,d0,e0,f0] pie = Pie("薪资玫瑰图", title_pos='center', width=900) pie.add("salary",key,values,center=[40, 50],is_random=True,radius=[30, 75],rosetype="area",is_legend_show=False,is_label_show=True)
(3)普通柱状图
# 3.工作经验要求柱状图可视化 from pyecharts import Bar workYear_table = {} for x in workYear: workYear_table[x] = workYear.count(x) key = [] values = [] for k,v in workYear_table.items(): key.append(k) values.append(v) bar = Bar("柱状图") bar.add("workYear", key, values, is_stack=True,center= (40,60))
(4)词云图
import jieba from pyecharts import WordCloud import pandas as pd import re,numpy stopwords_path = 'H:\PyCoding\Lagou_analysis\stopwords.txt' def read_txt(): with open("G:\lagou\Content\\ywkf_requirement.txt",encoding='gbk') as file: text = file.read() content = text # 去除所有评论里多余的字符 content = re.sub('[,,。. \r\n]', '', content) segment = jieba.lcut(content) words_df = pd.DataFrame({'segment': segment}) # quoting=3 表示stopwords.txt里的内容全部不引用 stopwords = pd.read_csv(stopwords_path, index_col=False,quoting=3, sep="\t", names=['stopword'], encoding='utf-8') words_df = words_df[~words_df.segment.isin(stopwords.stopword)] words_stat = words_df.groupby(by=['segment'])['segment'].agg({"计数": numpy.size}) words_stat = words_stat.reset_index().sort_values(by=["计数"], ascending=False) test = words_stat.head(200).values codes = [test[i][0] for i in range(0, len(test))] counts = [test[i][1] for i in range(0, len(test))] wordcloud = WordCloud(width=1300, height=620) wordcloud.add("必须技能", codes, counts, word_size_range=[20, 100]) wordcloud.render("H:\PyCoding\Lagou_analysis\cloud_pit\ywkf_bxjn.html")
三、可视化分析第二期5个Python相关的岗位学历要求、薪资、工作经验要求、必要技能
(1)Python运维开发岗位
学历要求
工作月薪
工作经验要求
运维开发技能
关键词解析:
学历:本科
工作月薪:10k-30k
工作经验:3-5年
技能:SVN、Git、Linux、框架、shell编程、mysql,redis,ansible、前端框架
综合:运维开发这个岗位,在学历要求上不高,除开占一大半的本科,就是专科了,工作经验上还是有一些要求,大多数要求有3-5年工作经验,从工资上看的话,不高也不低,20k以上也占有62%左右,要学习的东西也比较多,前端,后端,数据库,操作系统等等。
(2)Python高级开发工程师岗位
学历要求
工作月薪
工作经验要求
高级开发工程师技能
关键词解析:
学历:本科
工作月薪:20k左右
工作经验:3-5年
技能:WEB后端、MySQL、MongoDB、Redis、 linux系统(CentOS)、CI/CD 工具、github
综合:高级开发工程师这个岗位,在学历要求上与运维开发差不多,薪资也相差不大,22%以上的企业开出了30k以上的薪资,65%左右企业给出20k以上的薪资,当然,对工作经验上还是要求较高,有近一半的企业要求工作经验要达到3年以上。
(3)Python大数据岗位
学历要求
工作月薪
工作经验要求
大数据技能
关键词解析:
学历:本科(硕士也占比很大)
工作月薪:30k以上
工作经验:3-5年
技能:前端开发、 mysql、mongo、redis、git 、flask、celery、Hadoop/HBase/Spark/hive、nginx
综合:现在是大数据时代,大数据这个岗位,也是相当火热,在学历要求上几乎与运维开发一模一样,当然,可能数据上出现了巧合,本科居多,工作经验上1-5年占据一大半,薪资上也基本上在20k以上,该岗位薪资在20k以上的企业占了55%左右。
(4)Python机器学习岗位
学历要求
工作月薪
工作经验要求
机器学习技能
关键词解析:
学历:本科(硕士也占比很大)
工作月薪:30k以上
工作经验:3-5年
技能:machine learning, data mining,algorithm 研发,算法,Linux,决策树,TF,Spark+MLlib,Cafe
综合:机器学习这个岗位,在学历要求上比较严格,虽然看起来是本科居多,但对于刚毕业或毕业不久的同学,如果只是个本科,应聘还是很有难度的,当然机器学习岗位薪资特高,60%在30以上,近90%在20k以上,97%在10k以上,除开对学历要求比较高外,对工作经验要求也比较高,有近一半的企业要求工作经验要达到3年以上。
(5)Python架构师岗位
学历要求
工作月薪
工作经验要求
架构师技能
关键词解析:
学历:本科
工作月薪:30k以上
工作经验:5-10年
技能:Flask,Django,MySQL, redis,MongoDB,hadoop,hive,spark,ElasticSearch,pandas,spark/MR,kafka/rabitmq
综合:架构师这个岗位,我不是特别清楚,单从学历上看不出什么来,但在薪资上几乎与机器学习一样,甚至比机器学习还要高,机器学习中月薪40k以上的占23.56%,架构师中月薪40k以上的占30.67%,在学历要求上比机器学习要略低,本科居多,但在工作经验上一半以上的企业要求工作经验在5-10年,在必要技能上也是要求特别严格,比之前说过的全栈开发师有过之而无不及,看着这月薪,我是超级想去了,你呢?
四、总结
整个系列下来,词云分析虽不完全正确,但大家不难发现,有两个词在每个岗位要求的词云图中都有出现,那就是---经验和熟悉,的确,不论我们做什么,都必须认认真真的去做,去学,在不断的实践中积累经验,把陌生变成熟悉,变成朋友。