《利用Python进行数据分析》 实例:USDA食品数据库

USDA食品数据库:

from pandas import DataFrame,Series
from pylab import *
import pandas as pd
import json

def groupby(ndata):
	result = ndata.groupby(['nutrient','groupp'])['value'].quantile(0.5)
	result['Zinc, Zn'].sort_values().plot(kind='barh')
	show()

def combination(info,nutrients):
	ndata = pd.merge(nutrients,info,on='id',how='outer')	#连接两个DataFrame
	groupby(ndata)

def changename(nutrients,data):
	info_keys = ['description','group','id','manufacturer']		#只获取这四列
	info = DataFrame(data,columns=info_keys)
	rename1 = {'description':'breed','group':'groupp'}
	info = info.rename(columns=rename1,copy=False)				#为避免两个DataFrame的名字重复修改名字
	rename2 = {'description':'nutrient','group':'groupq'}
	nutrients = nutrients.rename(columns=rename2,copy=False)	#为避免两个DataFrame的名字重复修改名字
	print(info)
	combination(info,nutrients)

def lists(data):
	nutrients = []
	for res in data:						#把所有的事物的营养项转换为DataFrame
		fnuts = DataFrame(res['nutrients'])
		fnuts['id'] = res['id']
		nutrients.append(fnuts)
	nutrients = pd.concat(nutrients,ignore_index=True)		#连接列表中所有的项
	nutrients = nutrients.drop_duplicates()			#去掉重复的数据
	changename(nutrients,data)

def decode(path):
	data = json.load(open(path))		#解json为python
	lists(data)


if __name__=="__main__":
	path = r"D:\pythonAnalysis\Python for Data Analysis-1st-edition\pydata-book-1st-edition\ch07\foods-2011-10-03.json"
	decode(path)		#导入文件路径





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值