美文网首页大数据 爬虫Python AI Sql
数据分析实例 USDA 数据

数据分析实例 USDA 数据

作者: 贾磊_cd | 来源:发表于2018-09-11 15:29 被阅读1次

    观察,检验基本的数据。并将USDA的数据整合到一张大表中,方便后面的切块,聚合,图形化等工作

    1. 观察并检验数据, 数据集一般都很多大,我们要先观察和检验一小部分数据,总结规律

    db[0].keys()  // 查看输入的json的所有keys
    db[0]['nutrients'][0]  // 查看第一条数据的nutrients字段的第一个值
    pd.DataFrame(db[0]['nutrients'])[:7] //查看第一条数据的nutrients字段的前7个值
    

    2. 将数据读入

    • 入读食品数据 nutrients 是一个list类型,需要单独处理,这里要形成一个food的DataFrame,所有挑选有效的数据读入进来
      info_keys = ["description", "group", "id", "manufacturer"]
      info = pd.DataFrame(db, columns=info_keys)
    • 读入nutrients数据,由于每个food的nutrients都是一个列表,所以我们需要一个大表来存放所有的nutrients数据,而id则是food的id(用来后面作merge用)
    nutrients = []
    for rec in db:
        fnuts = pd.DataFrame(rec['nutrients'])
        fnuts['id'] = rec['id']
        nutrients.append(fnuts)
        nutrients = pd.concat(nutrients, ignore_index=True) // 将所有创建的DataFrame concat到一起生成一个大的DataFrame
    

    这里要注意去重

    nutrients = nutrients.drop_duplicates()
    

    3 将数据合并

    合并之前要重命名每个DataFrame的列名,因为之前有重复列名

    col_mapping = {
    'description': 'food',
    'group': 'fgroup'
    }
    info = info.rename(columns=col_mapping, copy=False)
    

    合并

    ndata = pd.merge(nutrients, info, on='id', how='outer')
    

    最终ndata就是一张我们可以后面作操作的大表了

    相关文章

      网友评论

        本文标题:数据分析实例 USDA 数据

        本文链接:https://www.haomeiwen.com/subject/zcxfwftx.html