基于python flask+pyecharts实现的中药数据可视化大屏,实现基于Apriori算法的药品功效关系的关联规则

简介: 本文介绍了一个基于Python Flask和Pyecharts实现的中药数据可视化大屏,该系统应用Apriori算法挖掘中药药材与功效之间的关联规则,为中医药学研究提供了数据支持和可视化分析工具。

背景

在中医药学中,物品与功效之间的关联关系研究是一个非常重要的课题。传统中医药学中,很多药物都具有多种功效,而且不同药物对同一种疾病可能具有不同的疗效。因此,挖掘物品与功效之间的关联关系,可以帮助我们更加准确地认识和应用中医药宝库中的药物,从而提高中医药学的治疗效果和水平。

随着信息技术的快速发展,Python作为一种流行的编程语言,已经被广泛应用于中医药学领域。Python具有丰富的第三方库和工具,例如NumPy、Pandas、Matplotlib等,这些库和工具为中医药学数据挖掘提供了丰富的工具和支持。同时,Python Flask + Pyecharts实现了中药数据可视化大屏,为物品与功效之间的关联关系研究提供了有效的可视化工具。

基于物品的关联规则算法在中医药学中的应用研究具有重要的研究背景和意义。通过构建物品-功效对应关系表,并利用Python Flask + Pyecharts实现中药数据可视化大屏,可以实现对物品与功效之间关联关系的定量分析,为中医药学的研究提供有力的数据支持。同时,基于物品的关联规则算法还可以为中医药学挖掘关联规则提供新的思路和方法,有助于发掘中医药宝库中的更多创新和发展机会。

技术栈:

flask框架

pandas

selenium爬虫

pyecharts可视化

关联规则算法(纯算法,没有库)

前端html+js+css

前端页面设计

前端设计的关键步骤:

页面布局设计:
使用Flex布局将页面分为左侧、中间和右侧三个主要部分,每个部分包含多个子元素。
左侧和右侧各包含三个垂直排列的子元素,用于展示不同类型的数据。
中间部分用于显示地图数据,并包含一个计时器显示当前时间。

样式设计:
设置全局样式,包括页面背景色、字体颜色、间距等,确保页面整体风格统一。
设计每个数据展示框的样式,包括边框样式、高度、宽度等,使其具有辨识度。
为表格容器添加滚动条样式,确保表格数据超出容器高度时可以滚动查看。

数据填充与更新:
使用JavaScript和jQuery库实现数据的动态填充和更新,通过Ajax请求从后端获取最新数据并更新图表。
在表格部分,根据后端返回的数据动态生成表格行,并实现表格的滚动效果。

图表展示:
使用ECharts库初始化各个图表实例,并根据后端返回的数据更新图表内容。
不仅展示静态图表,还可以通过定时器定时刷新数据,实现实时数据展示。
通过以上设计,可以实现一个交互性强、信息展示清晰的气象数据可视化大屏,为用户提供直观、动态的数据分析和监控功能。

flask框架代码


@app.route("/")
def index():
    return render_template("main.html")

@app.route("/style.css")
def get_scss():
    return render_template("style.css")

@app.route("/css/<cssname>")
def get_fcss(cssname):
    return render_template("css/"+cssname)

@app.route("/js/<jsname>")
def get_JS(jsname):
    return render_template("js/"+jsname)

@app.route("/barChart")
def get_bar_chart():
    c = bar_base()
    return c.dump_options_with_quotes()

@app.route("/mapChart")
def get_map_chart():
    c = map_base()
    return c.dump_options_with_quotes()

@app.route("/blm")
def get_bar2_chart():
    c = get_HY_BAR()
    return c.dump_options_with_quotes()

关联规则算法

from __future__ import print_function
import pandas as pd
import numpy as np
from apriori import find_rule  # 导入自行编写的apriori函数

df = pd.read_csv('medicine_data.csv')
df=df[df['中药材类别(按功效划分)'].str.contains('活血', na=False)]
df['功效']=df['功效'].str.replace('。','')
data=df['功效'].str.split('、',expand=True)
print(df.info())
print('data: \n', data)
print(u'\n转换原始数据至0-1矩阵...')
# 确认数据转换为 NumPy 数组
data_array = data.values
print('data_array: \n', data_array)
print('data_array shape: ', data_array.shape)
print('data_array type: ', type(data_array))
# print('data_as_matrix: \n', data.as_matrix())
# array = np.array(data)
# a1 = array[0, :]
# print('a1: \n', a1)
# print(pd.Series(1, index=a1[pd.notna(a1)]))
# 匿名函数ct的作用是取出x中不是NAN的元素作为索引列,然后对应的值都为1。
# pd.Series()要求值的个数要么和索引的个数相等,要么只给定一个值然后按照索引的个数复制
# 转换成0-1矩阵
ct = lambda x: pd.Series(1, index=x[pd.notna(x)])
data_01matrix = data.apply(ct, axis=1).fillna(0)

print('data_01matrix: \n', data_01matrix)
print(u'\n转换完毕。')
#
support = 0.05  # 最小支持度
confidence = 0.5  # 最小置信度
ms = '---'  # 连接符,默认'--',用来区分不同元素,如A--B。需要保证原始表格中不含有该字符

# find_rule(data, support, confidence, ms).to_excel(output_path)
result = find_rule(data_01matrix, support, confidence, ms)   # 输出结果
result.reset_index(inplace=True)
print('result: \n', result)
print(result.info())
print(result.values.tolist())

运行结果:

最终大屏效果

相关文章
|
11天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
18 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
1月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
96 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
5天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
16 1
|
7天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第10天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web应用框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了代码示例。通过这些步骤,读者可以快速掌握使用Flask构建RESTful API的方法。
22 1
|
8天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
22 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
1月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
74 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
1月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
70 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
15天前
|
数据库 开发者 Python
使用Python和Flask构建Web应用
【10月更文挑战第2天】使用Python和Flask构建Web应用
16 1
|
16天前
|
算法 安全 Go
RSA加密算法详解与Python和Go实现
RSA加密算法详解与Python和Go实现
34 1
|
16天前
|
存储 算法 安全
Python 加密算法详解与应用
Python 加密算法详解与应用
13 1