💖💖作者:计算机毕业设计杰瑞 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学校实战项目 计算机毕业设计选题推荐
基于大数据的广西药店数据可视化分析系统介绍
本系统是一个基于大数据技术的广西药店数据可视化分析平台,采用Hadoop+Spark作为核心大数据处理框架,结合Django后端框架和Vue+ElementUI前端技术栈构建而成。系统通过HDFS分布式文件系统存储海量药店经营数据,利用Spark SQL和Pandas、NumPy等数据分析工具对广西地区药店的销售情况、库存状态、经营趋势等关键指标进行深度挖掘和分析。前端采用Echarts图表库实现数据的多维度可视化展示,包括地理分布图、趋势分析图、对比分析图等多种图表形式,帮助用户直观了解广西药店行业的整体运营状况。系统提供系统首页、我的信息、数据可视化分析三大核心功能模块,用户可以通过简洁的操作界面查看各类统计报表和分析结果。整个系统充分发挥了大数据技术在海量数据处理方面的优势,为药店行业的数据分析和决策支持提供了一个较为完整的解决方案。
基于大数据的广西药店数据可视化分析系统演示视频
基于大数据的广西药店数据可视化分析系统演示图片
基于大数据的广西药店数据可视化分析系统代码展示
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
from django.http import JsonResponse
from django.views import View
import pandas as pd
import numpy as np
import json
class DataVisualizationView(View):
def __init__(self):
self.spark = SparkSession.builder.appName("GuangxiPharmacyAnalysis").config("spark.sql.adaptive.enabled", "true").config("spark.sql.adaptive.coalescePartitions.enabled", "true").getOrCreate()
def get_pharmacy_distribution_data(self, request):
df = self.spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("hdfs://localhost:9000/pharmacy_data/pharmacy_info.csv")
city_distribution = df.groupBy("city").agg(count("pharmacy_id").alias("pharmacy_count"), sum("annual_revenue").alias("total_revenue")).orderBy(desc("pharmacy_count"))
city_data = city_distribution.collect()
distribution_result = []
for row in city_data:
city_info = {"city": row["city"], "count": row["pharmacy_count"], "revenue": float(row["total_revenue"]) if row["total_revenue"] else 0}
distribution_result.append(city_info)
region_analysis = df.groupBy("region").agg(avg("annual_revenue").alias("avg_revenue"), count("pharmacy_id").alias("pharmacy_count"))
region_data = region_analysis.collect()
region_result = []
for row in region_data:
region_info = {"region": row["region"], "avg_revenue": float(row["avg_revenue"]) if row["avg_revenue"] else 0, "count": row["pharmacy_count"]}
region_result.append(region_info)
return JsonResponse({"status": "success", "city_distribution": distribution_result, "region_analysis": region_result})
def get_sales_trend_analysis(self, request):
sales_df = self.spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("hdfs://localhost:9000/pharmacy_data/sales_records.csv")
monthly_sales = sales_df.withColumn("month", date_format(col("sale_date"), "yyyy-MM")).groupBy("month").agg(sum("sale_amount").alias("total_sales"), count("order_id").alias("order_count")).orderBy("month")
monthly_data = monthly_sales.collect()
trend_result = []
for row in monthly_data:
month_info = {"month": row["month"], "sales": float(row["total_sales"]) if row["total_sales"] else 0, "orders": row["order_count"]}
trend_result.append(month_info)
category_sales = sales_df.groupBy("medicine_category").agg(sum("sale_amount").alias("category_sales"), avg("sale_amount").alias("avg_sale")).orderBy(desc("category_sales"))
category_data = category_sales.collect()
category_result = []
for row in category_data:
category_info = {"category": row["medicine_category"], "total_sales": float(row["category_sales"]) if row["category_sales"] else 0, "avg_sale": float(row["avg_sale"]) if row["avg_sale"] else 0}
category_result.append(category_info)
peak_hours = sales_df.withColumn("hour", hour(col("sale_time"))).groupBy("hour").agg(sum("sale_amount").alias("hourly_sales")).orderBy(desc("hourly_sales"))
peak_data = peak_hours.collect()
peak_result = []
for row in peak_data:
hour_info = {"hour": row["hour"], "sales": float(row["hourly_sales"]) if row["hourly_sales"] else 0}
peak_result.append(hour_info)
return JsonResponse({"status": "success", "monthly_trend": trend_result, "category_analysis": category_result, "peak_hours": peak_result})
def get_inventory_analysis(self, request):
inventory_df = self.spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("hdfs://localhost:9000/pharmacy_data/inventory_data.csv")
stock_status = inventory_df.withColumn("stock_level", when(col("current_stock") < col("min_threshold"), "低库存").when(col("current_stock") > col("max_threshold"), "高库存").otherwise("正常库存"))
stock_distribution = stock_status.groupBy("stock_level").agg(count("medicine_id").alias("medicine_count"), avg("current_stock").alias("avg_stock")).orderBy(desc("medicine_count"))
stock_data = stock_distribution.collect()
stock_result = []
for row in stock_data:
stock_info = {"level": row["stock_level"], "count": row["medicine_count"], "avg_stock": float(row["avg_stock"]) if row["avg_stock"] else 0}
stock_result.append(stock_info)
turnover_analysis = inventory_df.withColumn("turnover_rate", col("monthly_sales") / col("current_stock")).filter(col("turnover_rate").isNotNull())
high_turnover = turnover_analysis.filter(col("turnover_rate") > 2.0).select("medicine_name", "turnover_rate", "current_stock").orderBy(desc("turnover_rate"))
high_turnover_data = high_turnover.collect()
turnover_result = []
for row in high_turnover_data:
turnover_info = {"medicine": row["medicine_name"], "rate": float(row["turnover_rate"]), "stock": row["current_stock"]}
turnover_result.append(turnover_info)
pharmacy_inventory = inventory_df.groupBy("pharmacy_id").agg(sum("current_stock").alias("total_inventory"), avg("turnover_rate").alias("avg_turnover")).orderBy(desc("total_inventory"))
pharmacy_data = pharmacy_inventory.collect()
pharmacy_result = []
for row in pharmacy_data:
pharmacy_info = {"pharmacy_id": row["pharmacy_id"], "inventory": row["total_inventory"], "avg_turnover": float(row["avg_turnover"]) if row["avg_turnover"] else 0}
pharmacy_result.append(pharmacy_info)
return JsonResponse({"status": "success", "stock_distribution": stock_result, "high_turnover_medicines": turnover_result, "pharmacy_inventory": pharmacy_result})
基于大数据的广西药店数据可视化分析系统文档展示
💖💖作者:计算机毕业设计杰瑞 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学校实战项目 计算机毕业设计选题推荐