数据分析实战—食物营养信息

1.实战内容

(1) 导入该农业部门食物营养数据的 JSON 数据文件;

python 复制代码
# 导入库
import pandas as pd
import json

db = json.load(open('foods-2011-10-03.json'))
print(type(db))
print(type(db[0]))
print(type(db[0]['nutrients']))
print(len(db[0]['nutrients']))
print(type(db[0]['nutrients'][0]))

(2) 查看食物营养数据集的记录数和字段属性名;

python 复制代码
print('数据集的记录数为:',len(db))
print('数据集的全部属性为:',db[0].keys())

(3) 查看食物营养数据集中营养成分(nutrients)所包含的信息,并将营养成分的列表数据生成DataFrame

(4) 使用 DataFrame 创建包含食物的 description、group、id、manufacturer 等信息表,并分析食物类别(group)的分布情况,提示每个食品类别的个数;

python 复制代码
info_keys = ['description', 'group', 'id', 'manufacturer']
info = pd.DataFrame(db, columns=info_keys)
print('食物信息:\n',info.head())
print('食物类别分布信息:\n',pd.value_counts(info.group))
python 复制代码
info.head()

(5) 先创建食物营养数据集中的全部食物营养成分(nutrients)数据表,然后再进行数据分析;

python 复制代码
#查看食物类别的种类个数
xx=info['group']
xx1=xx.drop_duplicates(keep='first')
print('种类个数:',xx1.count())
print(xx1)

#(5)将全部的营养数据整合放在一个列表中
nutrients = []
for rec in db:
   fnuts =pd.DataFrame(rec['nutrients'])
#给fnuts表添加一列数据,将每条的id添加到fnuts的id
   fnuts['id'] = rec['id']
   nutrients.append(fnuts)

nutrients_all=pd.concat(nutrients, ignore_index=True)
nutrients_all
python 复制代码
pd.value_counts(nutrients_all.description)
python 复制代码
pd.value_counts(nutrients_all.group)

(6) 对全部食物营养成分数据进行去重复值操作;

python 复制代码
print(nutrients_all.duplicated().sum())
#删除重复项
nutrients_new = nutrients_all.drop_duplicates()
print(nutrients_new)

(7) 将包含食物的名称、分类、编号、制造商等信息表与食物营养成分数据表合并。

python 复制代码
col_mapping = {'description' : 'food','group' : 'fgroup'}
info = info.rename(columns=col_mapping, copy=False)
print('info信息\n',info)
col_mapping = {'description' : 'nutrient','group' : 'nutgroup'}
nutrients_new = nutrients_new.rename(columns=col_mapping, copy=False)
print('营养信息\n',nutrients_new)
#将info表与nutrients表合并
ndata = pd.merge(nutrients_new, info, on='id', how='outer')
print('合并信息\n',ndata)

2.数据集下载

https://gitee.com/qxh200000/c_-code/commit/ca6f117a3d02a1e3195bc2d742be86eb901c7e22

相关推荐
c***87193 小时前
Flask:后端框架使用
后端·python·flask
Q_Q5110082854 小时前
python+django/flask的情绪宣泄系统
spring boot·python·pycharm·django·flask·node.js·php
撸码猿4 小时前
《Python AI入门》第9章 让机器读懂文字——NLP基础与情感分析实战
人工智能·python·自然语言处理
二川bro5 小时前
多模态AI开发:Python实现跨模态学习
人工智能·python·学习
2301_764441335 小时前
Python构建输入法应用
开发语言·python·算法
love530love5 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
青瓷程序设计5 小时前
昆虫识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
秋邱6 小时前
智启未来:AGI 教育融合 × 跨平台联盟 × 个性化空间,重构教育 AI 新范式开篇:一场 “教育 ×AI” 的范式革命
人工智能·python·重构·推荐算法·agi
爱吃泡芙的小白白6 小时前
vscode、anaconda、git、python配置安装(自用)
ide·git·vscode·python·anaconda·学习记录
谷隐凡二6 小时前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes