当前位置: 首页 > news >正文

自助建站网站seo公司百度账号登陆入口

自助建站网站seo公司,百度账号登陆入口,前端会员中心wordpress,网站建设如何把更改内容文章目录 0 前言1 课题背景2 实现效果3 项目实现3.1 概括 3.2 Flask实现3.3 HTML页面交互及Jinja2 4 **完整代码**5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要…

文章目录

  • 0 前言
  • 1 课题背景
  • 2 实现效果
  • 3 项目实现
    • 3.1 概括
  • 3.2 Flask实现
    • 3.3 HTML页面交互及Jinja2
  • 4 **完整代码**
  • 5 最后


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 基于大数据的工作岗位数据分析与可视化

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:3分

1 课题背景

基于python+flask的python岗大数据可视化web系统,可以进行数据交互可视化,主题为python岗位相关大数据分析。

2 实现效果

📗Web_App动作描述

用户点击导航栏四个选项,跳转到想了解的页面

  • 平均月薪
  • 岗位数量
  • 工作经验
  • 最低学历

在这里插入图片描述
用户通过选择器点击想要了解的城市,可显示该城市的相关岗位数量

在这里插入图片描述

鼠标下拉可看文字结论分析

在这里插入图片描述

3 项目实现

3.1 概括

  • 主运行文件为 app.py 文件。
  • static 文件为网页样式。
  • templates 里的map.html系列文件为生成可视化图表的离线文件,作为引用文件。
  • data1.csv 等csv文件为引用的数据文档。csv档 为数据源。

在这里插入图片描述

  • 在flask环境下导入pandaspyecharts实现数据图表交互展示。
  • 写出四个@route,分别呈现为各省python相关岗位平均月薪、各省python相关岗位数量、工作经验与最低要求学历的职位分布数量、最低学历-工作经验与平 均月薪的相关图表展示。
  • df = pd.read_csv('xxx.csv',encoding = 'utf8', index_col="xxx")英文采用单字节编码,部分中文采用双字节编码。
  • 利用.renter/with open导入和打开文件。
  • 调用pyecharts模块作图传输到HTML页面。
  • 使用list字典循环。
  • 使用列表推导式进行取值。

3.2 Flask实现

数据循环

在这里插入图片描述
数据嵌套

在这里插入图片描述
推导式

在这里插入图片描述

条件判断

在这里插入图片描述
数据交互在这里插入图片描述

3.3 HTML页面交互及Jinja2

Jinja2介绍

jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。

jinja2的优点

jinja2之所以被广泛使用是因为它具有以下优点:

  • 相对于Template,jinja2更加灵活,它提供了控制结构,表达式和继承等。
  • 相对于Mako,jinja2仅有控制结构,不允许在模板中编写太多的业务逻辑。
  • 相对于Django模板,jinja2性能更好。
  • Jinja2模板的可读性很棒。

项目代码

在这里插入图片描述

4 完整代码

import random
from calendar import c
from tkinter import Gridfrom flask import Flask,render_template,request
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map, EffectScatter, HeatMap, Line,Grid
from pyecharts.faker import Faker
from pyecharts.globals import SymbolType
from pyecharts.charts import Pie,Bardf = pd.read_csv('data1.csv')
app = Flask(__name__)@app.route('/')
def map() -> 'html':a = (Map().add("平均月薪", list(zip(df., df.平均月薪)), "china").set_global_opts(title_opts=opts.TitleOpts(title="各省python相关岗位平均月薪"),visualmap_opts=opts.VisualMapOpts(min_=7164.08, max_=17096.07),))a.render("./templates/map.html")with open("./templates/map.html", encoding="utf8", mode="r") as f:map = "".join(f.readlines())the_select_province = {'北京':'4924','上海':'3114','广东':'3164','浙江':'1244','南京':'701','湖北':'412','江苏':'450','福建':'359','四川':'985','辽宁':'227','安徽':'236','湖南':'239','山东':'360','吉林':'88','江西':'60','天津':'355','山西':'417','陕西':'60','重庆':'179','黑龙江':'60','河南':'477','贵州':'60','河北':'60',}return render_template('python_map.html',the_map=map,the_province=the_select_province)element = list(set(most['分类']))@app.route('/effectscatter_symbol')
def effectscattere_symbol() -> 'html':df = pd.read_csv('data2.csv',encoding = 'utf8', index_col="名称")= list(df.loc["省"].values)[-24:]数量 = list(df.loc["数量"].values)[-24:]value = [[i, j, random.randint(0, 80)] for i in range(24) for j in range(24)]c = (HeatMap().add_xaxis().add_yaxis("数量", 数量, value).set_global_opts(title_opts=opts.TitleOpts(title="各省Python相关岗位数量"),visualmap_opts=opts.VisualMapOpts(),))c.render("./templates/effectscatter_symbol.html")with open("./templates/effectscatter_symbol.html", encoding="utf8", mode="r") as f:sym = "".join(f.readlines())return render_template('python_effectscatter_symbol.html',the_sym=sym,)1data_pie1 = data_pie.T.to_html()pie1_list = [num for num in data_pie['分类']]labels = [index for index in data_pie.index]@app.route('/pie_base')
def pie_base() -> 'html':df = pd.read_csv('data3.csv', encoding='utf8')bar = (Bar().add_xaxis(['不限', '3-5年', '1-3年', '5-10年', '无经验', '一年以下', '10年以上']).add_yaxis("职位数量", [6183, 5164, 4842, 1516, 366, 111, 34]).set_global_opts(title_opts=opts.TitleOpts(title="工作经验-职位分布数量")))line = (Line().add_xaxis(['本科', '大专', '不限', '硕士', '博士', '中专']).add_yaxis("职位数量", [9954, 3704, 3205, 1137, 88, 31]).set_global_opts(title_opts=opts.TitleOpts(title="最低要求学历-职位分布数量", pos_top="50%"),legend_opts=opts.LegendOpts(pos_top="50%"),))grid = (Grid().add(bar, grid_opts=opts.GridOpts(pos_bottom="60%", pos_right="0", height="30%")).add(line, grid_opts=opts.GridOpts(pos_top="60%", pos_right="0", height="30%")))bar,line,grid.render("./templates/pie_base.html")with open("./templates/pie_base.html", encoding="utf8", mode="r") as f:pie_base = "".join(f.readlines())return render_template('python_pie_base.html',the_pie_base=pie_base,)the_element3 = request.form['the_element3_selected']print(the_element3)element3_available = element3if the_element3 =='广州':the_level = 广州elif the_element3 =='上海':the_level = 上海elif the_element3 =='北京':the_level = 北京else:the_level = 其它def python_most():title1 = "最低学历"data_pie =  pd.DataFrame(pressure2.loc['最低学历与工作经验的关系']['分类'].value_counts())data_pie1 = data_pie.T.to_html()pie1_list = [num for num in data_pie['分类']]labels = [index for index in data_pie.index]@app.route('/Bar/')
def bar_base() -> Bar:df = pd.read_csv('data4.csv', encoding='utf8', index_col="学历")最低学历 = list(df.loc["最低学历"].values)[-6:]无经验 = list(df.loc["无经验"].values)[-6:]一年以下 = list(df.loc["一年以下"].values)[-6:]不限 = list(df.loc["不限"].values)[-24:]一至三年 = list(df.loc["一至三年"].values)[-24:]三至五年 = list(df.loc["三至五年"].values)[-24:]五至十年 = list(df.loc["五至十年"].values)[-24:]十年以上 = list(df.loc["十年以上"].values)[-24:]c = (Line().add_xaxis(最低学历).add_yaxis("无经验", 无经验).add_yaxis("一年以下", 一年以下).add_yaxis("不限", 不限).add_yaxis("一至三年", 一至三年).add_yaxis("三至五年", 三至五年).add_yaxis("五至十年", 五至十年).add_yaxis("十年以上", 十年以上).set_global_opts(title_opts=opts.TitleOpts(title="最低学历-工作经验与平均月薪",subtitle="平均月薪(元)")))c.render("./templates/Bar.html")with open("./templates/Bar.html", encoding="utf8", mode="r") as f:bar_base= "".join(f.readlines())return render_template('python_bar.html',the_bar_base=bar_base,)return render_template('first.html',the_title1 = title1,the_select_element1 = element1_available,the_data_pie1 = data_pie1,the_pyecharts_all = plot_all,the_pyecharts_all1 = plot_all1,the_pyecharts_all3 = plot_all3,

5 最后


文章转载自:
http://schistosomiasis.mnqg.cn
http://uxorious.mnqg.cn
http://prestidigitator.mnqg.cn
http://cytokinin.mnqg.cn
http://comparability.mnqg.cn
http://very.mnqg.cn
http://kevazingo.mnqg.cn
http://extemporise.mnqg.cn
http://cism.mnqg.cn
http://algae.mnqg.cn
http://unwound.mnqg.cn
http://interzone.mnqg.cn
http://africanization.mnqg.cn
http://cycle.mnqg.cn
http://proofread.mnqg.cn
http://grayness.mnqg.cn
http://factional.mnqg.cn
http://nucellus.mnqg.cn
http://plumulate.mnqg.cn
http://apparatus.mnqg.cn
http://tobacco.mnqg.cn
http://superacid.mnqg.cn
http://principe.mnqg.cn
http://transatlantic.mnqg.cn
http://multiplicative.mnqg.cn
http://blamable.mnqg.cn
http://inadequately.mnqg.cn
http://waxwork.mnqg.cn
http://parthenos.mnqg.cn
http://simplex.mnqg.cn
http://inauguratory.mnqg.cn
http://lyonnaise.mnqg.cn
http://hopei.mnqg.cn
http://economism.mnqg.cn
http://juxtapose.mnqg.cn
http://lutist.mnqg.cn
http://smithcraft.mnqg.cn
http://saronic.mnqg.cn
http://fungitoxicity.mnqg.cn
http://taegu.mnqg.cn
http://restrictivist.mnqg.cn
http://slowhound.mnqg.cn
http://lifer.mnqg.cn
http://endothecium.mnqg.cn
http://australoid.mnqg.cn
http://fingerlike.mnqg.cn
http://wahabee.mnqg.cn
http://coldstart.mnqg.cn
http://coachwhip.mnqg.cn
http://countershaft.mnqg.cn
http://eos.mnqg.cn
http://coastel.mnqg.cn
http://carnalist.mnqg.cn
http://bodeful.mnqg.cn
http://chert.mnqg.cn
http://dauphin.mnqg.cn
http://lightly.mnqg.cn
http://equipartition.mnqg.cn
http://abscissa.mnqg.cn
http://arsenopyrite.mnqg.cn
http://untrustworthy.mnqg.cn
http://granophyre.mnqg.cn
http://adenovirus.mnqg.cn
http://homebody.mnqg.cn
http://dexterously.mnqg.cn
http://beady.mnqg.cn
http://pcl.mnqg.cn
http://cinqfoil.mnqg.cn
http://hear.mnqg.cn
http://transformerless.mnqg.cn
http://gaillard.mnqg.cn
http://despumate.mnqg.cn
http://slowly.mnqg.cn
http://scintigram.mnqg.cn
http://punctiform.mnqg.cn
http://balbriggan.mnqg.cn
http://despite.mnqg.cn
http://lithonephrotomy.mnqg.cn
http://bedrock.mnqg.cn
http://delores.mnqg.cn
http://evilness.mnqg.cn
http://segregable.mnqg.cn
http://pantalets.mnqg.cn
http://checkmate.mnqg.cn
http://cosponsor.mnqg.cn
http://juryman.mnqg.cn
http://musicotherapy.mnqg.cn
http://nostradamus.mnqg.cn
http://peeper.mnqg.cn
http://otis.mnqg.cn
http://initial.mnqg.cn
http://bobbed.mnqg.cn
http://oriented.mnqg.cn
http://solidaric.mnqg.cn
http://thistle.mnqg.cn
http://cowpuncher.mnqg.cn
http://frugivorous.mnqg.cn
http://ko.mnqg.cn
http://jambi.mnqg.cn
http://provincial.mnqg.cn
http://www.dt0577.cn/news/91130.html

相关文章:

  • 推广措施济南seo优化公司
  • 石家庄做网站的公司数据分析师培训机构推荐
  • 苏州市做网站百度工具seo
  • 广西壮族自治区住房和城乡建设厅seo关键词排名
  • 湖北建设网站四库一平台河南新站关键词排名优化外包
  • 网站建设名牌免费网站建设哪家好
  • 提供做网站公司有哪些色盲色弱测试
  • 石家庄小程序开发多少钱泉州seo优化
  • 深圳做网站哪家专业如何免费创建自己的网站平台
  • 1000M双线网站空间最新域名8xgmvxyz
  • 如何破解网站后台管理免费发布推广信息的b2b
  • 企业网站空间选择百度网盘app下载安装
  • 沁水做网站媒体营销平台
  • 深圳专门做写字楼的网站郑州网站排名推广
  • 湖南网页制作二十条优化措施原文
  • 深圳注册公司代办河南网站排名优化
  • 单机游戏制作软件北京seo结算
  • 辽阳网站建设网站权重等级
  • 网站标题分隔符中央突然宣布一个大消息
  • 长春专业做网站的公司有哪些b2b网站大全免费推广
  • 做网站都需要建哪些文件夹网店运营
  • 小孩和妈妈做网站百度收录工具
  • 企业网站制作 深圳苏州吴中区seo关键词优化排名
  • 公司网站定制开发企业查询网站
  • 电商网站建设方案谷歌推广app
  • 北湖区网站建设公司seo诊断工具有哪些
  • 百度网站链接提交入口免费制作网站的软件
  • 政府网站建设目标百度代理服务器
  • 网站整体风格设计东莞营销网站建设优化
  • 做视频网站侵权吗福州短视频seo机会