文章目录
美国农业部视频数据库
我们对美国农业部的食物营养信息数据库进行了一些数据清洗和转换的工作。以下是主要的数据处理步骤和结果:
加载数据并检查数据结构:
import json
db = json.load(open("datasets/usda_food/database.json"))
len(db)
6636
db[0].keys()
提取营养元素信息:
nutrients = pd.DataFrame(db[0]["nutrients"])
nutrients.head(7)
提取食物基本信息:
info_keys = ["description", "group", "id", "manufacturer"]
info = pd.DataFrame(db, columns=info_keys)
info.head()
将营养元素信息和食物基本信息进行合并:
ndata = pd.merge(nutrients, info, on="id")
ndata.info()
统计特定营养元素的中位数,并进行柱状图可视化:
result = ndata.groupby(["nutrient", "fgroup"])["value"].quantile(0.5)
result["Zinc, Zn"].sort_values().plot(kind="barh")
根据营养元素组和营养元素分组,获取具有最高值的食物:
by_nutrient = ndata.groupby(["nutgroup", "nutrient"])
def get_maximum(x):
return x.loc[x.value.idxmax()]
max_foods = by_nutrient.apply(get_maximum)[["value", "food"]]
以上是对美国农业部食物营养信息数据库的数据清洗和转换的一些分析。