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

【数据可视化-29】食物营养成分数据可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-29】食物营养成分数据可视化分析

    • 一、引言
    • 二、数据探索
      • 2.1 数据集介绍
      • 2.2 数据清洗与探索
    • 三、单维度特征可视化
      • 3.1 卡路里分布
      • 3.2 蛋白质含量分布
      • 3.3 各营养素的基本统计图
    • 四、多维度关系可视化
      • 4.1 卡路里与蛋白质的关系
      • 4.2 碳水化合物、脂肪与卡路里的关系
      • 4.3 营养素之间的相关性矩阵
      • 4.4 高蛋白低脂食物筛选
    • 五、总结与洞察

一、引言

  食物营养成分数据的可视化分析,对于理解饮食结构、制定健康饮食计划以及营养科学研究具有重要意义。本文将基于包含3500多种食物营养成分的数据集,从多个角度进行可视化探索,帮助大家更直观地把握食物营养成分的分布特征与关联。

二、数据探索

2.1 数据集介绍

本数据集包含以下变量:

  • food:食物名称(唯一标识符)
  • Carbohydrates:碳水化合物含量
  • Sugars:糖分含量
  • Dietary Fiber:膳食纤维含量
  • Fat:脂肪含量
  • Protein:蛋白质含量
  • Calcium:钙含量
  • Iron:铁含量
  • Sodium:钠含量
  • Vitamin C:维生素C含量
  • Vitamin B11:叶酸含量
  • Caloric Value:卡路里含量(千卡)

2.2 数据清洗与探索

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns# 加载数据
df = pd.read_csv('food_nutrition.csv')  # 请替换为实际文件路径# 查看数据基本信息
print(df.info())
print(df.describe())# 查看各列唯一值数量
print(df.nunique())

  从数据的基本信息中,我们可以发现:

  • 数据集包含多个数值型变量,记录了食物的各类营养成分含量
  • 一共包含3454条数据,而且数据中无缺失值的存在

三、单维度特征可视化

3.1 卡路里分布

plt.figure(figsize=(12, 6))
sns.histplot(df['Caloric Value'], kde=True, color='teal', bins=100)
plt.title('Caloric Value Distribution')
plt.xlabel('Calories (kcal)')
plt.tight_layout()
plt.show()

  观察结果:大部分食物的卡路里含量集中在中低区间,少数高热量食物分布在右侧。

3.2 蛋白质含量分布

plt.figure(figsize=(12, 6))
sns.histplot(df['Protein'], kde=True, color='coral', bins=50)
plt.title('Protein Content Distribution')
plt.xlabel('Protein (g)')
plt.tight_layout()
plt.show()

  观察结果:蛋白质含量呈现右偏分布,大部分食物蛋白质含量在较低水平,少量食物(如肉类、豆类)蛋白质含量较高。

3.3 各营养素的基本统计图

# 选择需要展示的营养素列
nutrients = ['Carbohydrates', 'Sugars', 'Dietary Fiber', 'Fat', 'Protein', 'Calcium', 'Iron', 'Sodium', 'Vitamin C', 'Vitamin B11 (Folate)']# 创建子图
fig, axes = plt.subplots(5, 2, figsize=(15, 20))
fig.suptitle('Distribution of Nutrients', fontsize=16)for i, nutrient in enumerate(nutrients):row, col = divmod(i, 2)sns.histplot(df[nutrient], kde=True, ax=axes[row, col], bins=30)axes[row, col].set_title(f'{nutrient} Distribution')axes[row, col].set_xlabel(f'{nutrient} (g/mg)')plt.tight_layout(rect=[0, 0, 1, 0.95])
plt.show()

  观察结果:不同营养素的分布特征差异显著,例如糖分和膳食纤维含量多集中在低水平,而钠含量在部分食物中异常高。

四、多维度关系可视化

4.1 卡路里与蛋白质的关系

plt.figure(figsize=(12, 8))
sns.scatterplot(x='Protein', y='Caloric Value', data=df, alpha=0.6, color='purple')
plt.title('Relationship Between Protein and Calories')
plt.xlabel('Protein (g)')
plt.ylabel('Calories (kcal)')
plt.tight_layout()
plt.show()

  观察结果:卡路里与蛋白质存在一定的正相关关系,高蛋白食物往往热量也较高。

4.2 碳水化合物、脂肪与卡路里的关系

plt.figure(figsize=(12, 8))
sns.scatterplot(x='Carbohydrates', y='Caloric Value', hue='Fat', data=df, palette='viridis', alpha=0.6)
plt.title('Relationship Between Carbohydrates, Fat, and Calories')
plt.xlabel('Carbohydrates (g)')
plt.ylabel('Calories (kcal)')
plt.legend(title='Fat (g)')
plt.tight_layout()
plt.show()

  观察结果:碳水化合物和脂肪都是卡路里的主要贡献者,高碳水或高脂肪食物通常热量较高。

4.3 营养素之间的相关性矩阵

# 计算营养素之间的相关性
corr_matrix = df[nutrients].corr()# 绘制热力图
plt.figure(figsize=(15, 10))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('Correlation Matrix of Nutrients')
plt.tight_layout()
plt.show()

  观察结果:营养素之间存在多种相关性,例如碳水化合物与糖分高度正相关,蛋白质与脂肪也有一定正相关性。

4.4 高蛋白低脂食物筛选

# 筛选条件:蛋白质含量高于中位数且脂肪含量低于中位数的食物
high_protein_low_fat = df[(df['Protein'] > df['Protein'].median()) & (df['Fat'] < df['Fat'].median())]plt.figure(figsize=(15, 8))
sns.barplot(x='Protein', y='Food Names', data=high_protein_low_fat.sort_values('Protein', ascending=False).head(20))
plt.title('Top 20 High Protein Low Fat Foods')
plt.xlabel('Protein (g)')
plt.ylabel('Food Names')
plt.tight_layout()
plt.show()

  观察结果:部分食物(如某些鱼类和豆类)兼具高蛋白和低脂肪特性,是健康饮食的良好选择。

五、总结与洞察

  通过以上多维度的可视化分析,我们得出以下关键洞察:

  1. 卡路里分布不均:少数高热量食物贡献了大部分热量,需注意平衡摄入。

  2. 营养素分布差异显著:不同营养素在各类食物中的分布极不均匀,例如蛋白质在肉类和豆类中含量高,而蔬果中相对较低。

  3. 营养素相关性复杂:碳水化合物与糖分高度正相关,蛋白质与脂肪也有一定正相关性,反映食物的综合营养特征。

  4. 健康食物选择:部分食物兼具高蛋白、低脂肪和低糖特性,是理想的健康食品。

  以上分析为理解食物营养成分的分布特征提供了多维度视角,揭示了各营养素之间的潜在关系,为进一步的营养研究和健康饮食规划提供了数据支持。


相关文章:

  • Qt C++/Go/Python 面试题(持续更新)
  • MySQL的图形管理工具-MySQL Workbench的下载安装及使用【保姆级】
  • [Redis] Redis最佳实践
  • 【Ubuntu】提升 docker ps -a 输出的可读性:让 Docker 容器状态更清晰
  • K8S学习路线图:从入门到精通的技术成长指南
  • 图像可视化
  • PCB常见封装类型
  • RSUniVLM论文精读
  • 【深度】如何通过MCP实现多智能体之间的协同
  • IDEA导入并启动若依项目步骤(SpringBoot+Vue3)
  • 【华为HCIP | 华为数通工程师】821—多选解析—第十五页
  • m365是什么,和o365的区别
  • 自动化标注软件解析
  • 多回路电表如何革新电力监控?安科瑞技术深度解析
  • linux:启动后,ubuntu屏幕变成红色了
  • 从平台工程视角出发,重塑云原生后端的工程体系
  • 电商热点数据哈希槽分片案例:双11秒杀场景设计
  • 陪诊陪检系统源码,陪诊小程序,陪诊APP,陪诊服务,家政上门系统,居家护理陪护源码,医护小程序
  • 学员答题pk知识竞赛小程序怎么做
  • WPS右键菜单中“上传到云文档”消失,使用命令行注册解决
  • “五一”前多地市监部门告诫经营者:对预订客房不得毁约提价
  • 国新办发布会丨2024年市监部门查办知产领域侵权行政违法案件4.4万件
  • 谷歌一季度利润增超四成:云业务利润率上升,宏观环境可能影响广告业务
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 消费者买国外电话卡使用时无信号,店铺:运营商故障,较少见
  • 上海体育消费节将从5月持续至11月,推出运动装备商品促销活动