
作者计算机毕业设计小途个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目目录经营异常名录数据可视化分析系统介绍经营异常名录数据可视化分析系统演示视频经营异常名录数据可视化分析系统演示图片经营异常名录数据可视化分析系统代码展示经营异常名录数据可视化分析系统文档展示经营异常名录数据可视化分析系统介绍本系统《基于大数据的经营异常名录数据可视化分析》主要围绕经营异常名录数据做多维度的整理和展示。它采用Hadoop和Spark作为大数据处理核心用HDFS存放原始数据借助Spark SQL完成数据清洗、字段筛选、分组聚合和统计计算再把结果写入MySQL供Django后端读取和组装接口。前端使用Vue、ElementUI、Echarts、HTML、CSS、JavaScript和jQuery完成页面和图表展示。系统包含系统首页、大屏可视化、用户、名录信息、时序演变分析、区域分布分析、移出事由分析、主体构成分析、行业特征分析、风险洞察分析、个人信息和修改密码等功能。使用者可以按月份观察经营异常名录数量的变化按区域比较分布差异按移出事由、主体构成和行业特征查看集中情况并通过风险洞察分析得到一些简单的关注方向。Python版本用Django衔接后端Java版本用Spring Boot衔接后端两种实现都围绕大数据统计结果展开。Pandas和NumPy用于部分指标计算Echarts用于把统计结果转成柱状图、折线图、饼图和地图等可视化形式。经营异常名录数据可视化分析系统演示视频项目演示视频经营异常名录数据可视化分析系统演示图片经营异常名录数据可视化分析系统代码展示sparkSparkSession.builder.appName(经营异常名录大数据分析).master(local[*]).config(spark.sql.shuffle.partitions,8).getOrCreate()deftemporal_evolution_analysis(request):yearrequest.GET.get(year,)sqlSELECT id, company_name, area, industry, reason, abnormal_date, move_out_date, status FROM abnormal_register WHERE 11ifyear:sql AND YEAR(abnormal_date)%s%year dfspark.read.format(jdbc).option(url,jdbc:mysql://localhost:3306/abnormal_db).option(dbtable,(%s) t%sql).option(user,root).option(password,123456).load()df.createOrReplaceTempView(abnormal_register)time_dfspark.sql(SELECT DATE_FORMAT(abnormal_date,yyyy-MM) AS month, COUNT(*) AS total, SUM(CASE WHEN status移出 THEN 1 ELSE 0 END) AS moved FROM abnormal_register GROUP BY DATE_FORMAT(abnormal_date,yyyy-MM) ORDER BY month)pandas_dftime_df.toPandas()pandas_df[month]pandas_df[month].astype(str)pandas_df[total]pandas_df[total].astype(int)pandas_df[moved]pandas_df[moved].astype(int)pandas_df[move_rate]np.where(pandas_df[total]0,pandas_df[moved]/pandas_df[total],0)pandas_df[环比]pandas_df[total].pct_change().fillna(0)resultpandas_df.to_dict(orientrecords)returnJsonResponse({code:200,data:result,msg:时序演变分析完成})defarea_distribution_analysis(request):arearequest.GET.get(area,)base_sqlSELECT * FROM abnormal_register WHERE 11ifarea:base_sql AND area%s%area dfspark.read.format(jdbc).option(url,jdbc:mysql://localhost:3306/abnormal_db).option(dbtable,(%s) t%base_sql).option(user,root).option(password,123456).load()df.createOrReplaceTempView(area_register)area_dfspark.sql(SELECT area, COUNT(*) AS total, SUM(CASE WHEN status移出 THEN 1 ELSE 0 END) AS moved, COUNT(DISTINCT industry) AS industry_count FROM area_register GROUP BY area ORDER BY total DESC)pandas_dfarea_df.toPandas()pandas_df[total]pandas_df[total].astype(int)pandas_df[moved]pandas_df[moved].astype(int)pandas_df[industry_count]pandas_df[industry_count].astype(int)all_totalpandas_df[total].sum()pandas_df[占比]np.where(all_total0,pandas_df[total]/all_total,0)pandas_df[移出率]np.where(pandas_df[total]0,pandas_df[moved]/pandas_df[total],0)pandas_df[排名]pandas_df[total].rank(ascendingFalse,methodmin).astype(int)resultpandas_df.to_dict(orientrecords)returnJsonResponse({code:200,data:result,msg:区域分布分析完成})defrisk_insight_analysis(request):industryrequest.GET.get(industry,)sqlSELECT * FROM abnormal_register WHERE 11ifindustry:sql AND industry%s%industry dfspark.read.format(jdbc).option(url,jdbc:mysql://localhost:3306/abnormal_db).option(dbtable,(%s) t%sql).option(user,root).option(password,123456).load()df.createOrReplaceTempView(risk_register)risk_dfspark.sql(SELECT area, industry, reason, COUNT(*) AS total, SUM(CASE WHEN status移出 THEN 1 ELSE 0 END) AS moved, AVG(DATEDIFF(move_out_date, abnormal_date)) AS avg_days FROM risk_register GROUP BY area, industry, reason)pandas_dfrisk_df.toPandas()pandas_df[total]pandas_df[total].astype(int)pandas_df[moved]pandas_df[moved].astype(int)pandas_df[avg_days]pandas_df[avg_days].fillna(0).astype(float)pandas_df[移出率]np.where(pandas_df[total]0,pandas_df[moved]/pandas_df[total],0)pandas_df[风险分]pandas_df[total]*0.4pandas_df[移出率]*100*0.3(1/(pandas_df[avg_days]1))*100*0.3pandas_df[风险等级]np.where(pandas_df[风险分]pandas_df[风险分].quantile(0.75),高,np.where(pandas_df[风险分]pandas_df[风险分].quantile(0.5),中,低))resultpandas_df.sort_values(风险分,ascendingFalse).head(50).to_dict(orientrecords)returnJsonResponse({code:200,data:result,msg:风险洞察分析完成})经营异常名录数据可视化分析系统文档展示作者计算机毕业设计小途个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目