2024 年(第 7 届)“泰迪杯”数据分析技能赛B 题 特殊医学用途配方食品数据分析 完整代码 结果 可视化分享

ops/2024/11/15 0:52:58/

一、背景特殊医学用途配方食品简称特医食品,是指为满足进食受限、消化吸收障碍、代谢素乱或者特定疾病状态人群对营养素或者膳食的特殊需要,专门加工配置而成的配方食品,包括0月龄至12月龄的特殊医学用途婴儿配方食品和适用于1岁以上的特殊医学用途配方食品。在医学营养管理与治疗方面起着重要作用。
特殊医学用途配方食品在生产和销售前需要经过严格的审批和注册过程,包括安全性、有效性的评估。所以在我国对于特殊医学用途配方食品的审核有着非常严格的规定。截至 2024 年4月,国内仅审批通过了 182 款特医食品(含已注销)。二、目标
1.提取 182款特殊医学用途配方食品产品标签、说明书(以下简称特医食品说明书)中的相关数据,并对提取的数据及 data.xlsx 数据进行预处理。
2.统计 182 款特医食品生产概况并可视化。
3.构建特医食品推荐系统。
三、任务
data.xlsx记录了 182 款特医食品的基本信息,特医食品说明书文件夹中包含 182 款特医食品说明书。请根据提供的数据,完成以下任务并撰写报告,在报告中详细描述各项任务的处理思路、过程及必要的结果。
任务1数据预处理
任务1.1读取182款特医食品说明书,按照表1的要求提取【营养成分表】中“每100k]”列的指定营养成分数据,将提取的数据保存到文件“result1.xlsx”中,同时在报告中列出每 100kJ(千焦)中蛋白质含量最高的三种特医食品,格式如表1(注意营养成分的单位)。

import pdfplumber
import pandas as pd
import os
import re# 文件夹路径
folder_path = r"D:\desk\B题-特殊医学用途配方食品数据分析\数据\特医食品说明书"# 要提取的营养成分及对应的列名
nutrient_mapping = {'能量': '能量(kJ)','脂肪': '脂肪(g)','碳水化合物': '碳水化合物(g)','蛋白质': '蛋白质(g)','钠': '钠(mg)','氯': '氯(mg)','钾': '钾(mg)','磷': '磷(mg)',# 如果需要更多营养成分,可以在这里添加
}# 初始化一个空的列表,用于存储所有的结果
results = []# 获取文件夹中所有的PDF文件
pdf_files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]for pdf_file in pdf_files:file_path = os.path.join(folder_path, pdf_file)# 提取注册证号,假设文件名就是注册证号registration_number = os.path.splitext(pdf_file)[0]# 初始化一个空的列表,用于存储所有的DataFramedfs = []# 保存最新的表头last_header = None# 打开 PDF 文件with pdfplumber.open(file_path) as pdf:table_found = False  # 标记是否找到表格

 

 

任务1.2提取182款特医食品说明书中【产品类别】【组织状态】【适用人群】的数据,在 data.xlsx 数据中新增“产品类别”、“组织状态”、“适用人群”三列。以表2的格式将提取的数据保存到文件“result2.xlsx”中,同时在报告中列前5款特医食品的结果(须说明特殊情况的处理)。

任务 1.3 根据提取的【适用人群】信息,在 result2.xlsx 中新增“适用人群类别”列,对 182款特医食品的适用人群进行归类,类别分为“特医婴配食品”和“1岁以上特医食品”两种,将结果保存到文件“result2.xlsx”中。注3“特医婴配食品”是针对 0-12月龄人群的特殊医学用途配方食品,“婴儿”特指 0-12 月龄人群。

任务1.4特殊医学用途配方食品注册号的格式为:国食注字TY+4位年号+4位顺序号,顺序号第1位数字为“5”表示该食品为进口产品,顺序号第1位数字为“0”表示该食品为国产产品;4位年号为该食品的登记年份。基于任务1.3的result2.xlsx文件,新增“产品来源”和“登记年份”两列,提取 182 款特医食品的产品来源和登记年份数据其中产品来源分为“国产产品”和“进口产品”两种。以表3的格式将结果保存到文件“result2.xlsx”中,同时在报告中列出前5款特医食品任务 1.3和任务 1.4的结果。

任务2生产概况可视化
任务 2.1统计不同登记年份不同产品来源的特医食品获批量,绘制双折线图,并在报告中对结果进行必要分析。


任务2.2根据特医食品产品来源与适用人群类别绘制内层为饼图的旭日图,其中内层表示适用人群类别,外层表示不同适用人群类别的产品来源分布,并在报告中对结果进行必要分析。


任务2.3统计不同产品类别的特医食品获批量,按获批量进行降序排列,绘制柱状图,x轴为产品类别,y轴为获批量,并在报告中对结果进行必要分析。


任务2.4在同一坐标系中,分别用不同颜色绘制182款特医食品脂肪和蛋白质含量的频数分布直方图,并在报告中对结果进行必要分析。


任务 2.5 根据 182款特医食品的“适用人群”绘制词云图,并在报告中分析特医食品适用人群特征。
任务3特医食品推荐


在任务1和任务2的基础上,合理运用现有数据完成推荐任务。基于客户的需求描述(如年龄段、症状、特殊说明),从 182款特医食品中自动筛选出符合条件的产品选项,为客户提供个性化的特医食品推荐服务。实现方式不限,可以使用推荐算法或大型,但须在报告中详细描述实现过程、推荐逻辑以及推荐结果。

完整代码↓:


http://www.ppmy.cn/ops/133727.html

相关文章

现代无线通信接收机架构:超外差、零中频与低中频的比较分析

写在前面:本博客是对三种接收机架构的学习笔记,仅供个人学习记录使用。内容主要是上网查阅的资料,以及个人的一些理解。如有错误的地方请指出! 文章目录 一、通信机基本架构1、射频发射级的基本组成及完成功能2、射频接收级的基本…

社交媒体的隐私新标准:Facebook的数据保护策略

在社交媒体日益渗透人们日常生活的今天,隐私保护已成为用户关注的核心问题。作为全球最大的社交平台之一,Facebook面临着巨大的数据保护压力。为了应对隐私挑战,Facebook在多个方面采取了创新措施,以确保用户数据的安全性和隐私性…

扫雷游戏代码分享(c基础)

hi , I am 36. 代码来之不易👍👍👍 创建两个.c 一个.h 1:test.c #include"game.h"void game() {//创建数组char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };char temp[ROWS][COLS] { 0 };//初始化数…

Spring学习笔记_35——@RestController

1. 介绍 SpringMVC基于Controller注解和ResponseBody注解扩展了RestController注解,使得RestController注解同时具备于Controller注解和ResponseBody注解的功能。 当一个类被标记为RestController,意味着其处理的所有方法都将自动添加ResponseBody效果…

Ue5 umg学习(二)图像控件,锚点

视频资料4、图像控件_哔哩哔哩_bilibili 选择通用下的图像 将其拉入画布中,会拉出一个小白块的东西 点击小白块,会发现右侧的属性。 左上角像花一样的是锚点。 首先选择图片 这里需要一张ui图片,我截图了一张图片作为例子,其他图…

现代化汽车共享:SpringBoot管理系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理共享汽车管理系统的相关信息成为必然。开发…

100种算法【Python版】第58篇——滤波算法之卡尔曼滤波

本文目录 1 算法步骤2 算法示例2.1 示例描述2.2 python代码3 算法应用:二维运动目标跟踪问题滤波算法是用于从信号中提取有用信息、去除噪声或估计系统状态的技术。在时间序列分析、信号处理和控制系统中,滤波算法起着关键作用。 1 算法步骤 卡尔曼滤波(Kalman Filter)的…

7天用Go从零实现分布式缓存GeeCache(学习)(5)

Go 语言锁机制与 Geecache 项目中的加锁实现详解 一、Go 语言中的锁机制 Go 语言的 sync 包提供了多种用于并发控制的锁机制,以下是常用的几种: 1. sync.Mutex(互斥锁) 用途:控制对共享资源的独占访问,…