{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "7.5 \uc608\uc81c : \ubbf8\uad6d \ub18d\ubb34\ubd80 \uc74c\uc2dd \ub370\uc774\ud130\ubca0\uc774\uc2a4 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "{\n", " \"id\": 21411, \n", " \n", " \"description\" : \"KENTUCKY FRIED CHICKEN, Fried Chicken, EXTRA CRISPY, Wing, meat and skin with breading\", \n", " \n", " \"tags\" : [\"KFC\"], \n", " \n", " \"manufacturer\" : \"Kentucky Fried Chicken\", \n", " \n", " \"group\" : \"Fast Foods\", \n", " \n", " \"portions\": [\n", " \n", " { \n", " \n", " \"amount\":1, \n", " \n", " \"unit\": \"wing, with skin\",\n", " \n", " \"grams\": 68.0 \n", " \n", " }, \n", " \n", " ... \n", " \n", " ], \n", " \n", " \"nutrients\" : [ \n", " \n", " { \n", " \n", " \"value\": 20.8\", \n", " \n", " \"units\": \"g\",\n", " \n", " \"description\": \"Protein\", \n", " \n", " \"group\": \"Composition\" \n", " \n", " }, \n", " \n", " ... \n", " \n", " ] \n", " \n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "step 1. \ub370\uc774\ud130 \uac00\uc838\uc624\uae30
\n", "step 2. \uc74c\uc2dd\uc758 \uc774\ub984\uacfc \uadf8\ub8f9, id \uadf8\ub9ac\uace0 \uc81c\uc870\uc0ac \ucd94\ucd9c
\n", "step 3. \uc74c\uc2dd \uadf8\ub8f9\uc758 \ubd84\ud3ec \ud655\uc778
\n", "step 4. \uc601\uc591\uc18c \uc815\ubcf4 \ubd84\uc11d
\n", "step 5. \uc2dc\uac01\ud654
\n", " - \uc74c\uc2dd \uadf8\ub8f9\uacfc \uc601\uc591\uc18c\uc758 \uc885\ub958\ubcc4 \uc911\uac04 \uac12 \uadf8\ub798\ud504" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "step 1. \ub370\uc774\ud130 \uac00\uc838\uc624\uae30\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import json\n", "import urllib\n", "from pandas import DataFrame, Series\n", "import pandas as pd\n", "\n", "url = 'http://www.toplmo.net/~moodern/study/python/plfda/pydata-book/ch07/foods-2011-10-03.json'\n", "r = urllib.urlopen(url)\n", "db = json.load(r)\n", "#db = json.load(open('/home/moodern/study/python/plfda/pydata-book/ch07/foods-2011-10-03.json'))\n", "\n", "len(db)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "6636" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "db[0].keys()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ "[u'portions',\n", " u'description',\n", " u'tags',\n", " u'nutrients',\n", " u'group',\n", " u'id',\n", " u'manufacturer']" ] } ], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "db[0]['nutrients'][0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "{u'description': u'Protein',\n", " u'group': u'Composition',\n", " u'units': u'g',\n", " u'value': 25.18}" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients = DataFrame(db[0]['nutrients'])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients[:7]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
descriptiongroupunitsvalue
0 Protein Composition g 25.18
1 Total lipid (fat) Composition g 29.20
2 Carbohydrate, by difference Composition g 3.06
3 Ash Other g 3.28
4 Energy Energy kcal 376.00
5 Water Composition g 39.28
6 Energy Energy kJ 1573.00
\n", "

7 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 42, "text": [ " description group units value\n", "0 Protein Composition g 25.18\n", "1 Total lipid (fat) Composition g 29.20\n", "2 Carbohydrate, by difference Composition g 3.06\n", "3 Ash Other g 3.28\n", "4 Energy Energy kcal 376.00\n", "5 Water Composition g 39.28\n", "6 Energy Energy kJ 1573.00\n", "\n", "[7 rows x 4 columns]" ] } ], "prompt_number": 42 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "step 2. \uc74c\uc2dd\uc758 \uc774\ub984\uacfc \uadf8\ub8f9, id \uadf8\ub9ac\uace0 \uc81c\uc870\uc0ac \ucd94\ucd9c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "info_keys = ['description', 'group', 'id', 'manufacturer']\n", "info = DataFrame(db, columns=info_keys)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "info[:5]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
descriptiongroupidmanufacturer
0 Cheese, caraway Dairy and Egg Products 1008
1 Cheese, cheddar Dairy and Egg Products 1009
2 Cheese, edam Dairy and Egg Products 1018
3 Cheese, feta Dairy and Egg Products 1019
4 Cheese, mozzarella, part skim milk Dairy and Egg Products 1028
\n", "

5 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " description group id \\\n", "0 Cheese, caraway Dairy and Egg Products 1008 \n", "1 Cheese, cheddar Dairy and Egg Products 1009 \n", "2 Cheese, edam Dairy and Egg Products 1018 \n", "3 Cheese, feta Dairy and Egg Products 1019 \n", "4 Cheese, mozzarella, part skim milk Dairy and Egg Products 1028 \n", "\n", " manufacturer \n", "0 \n", "1 \n", "2 \n", "3 \n", "4 \n", "\n", "[5 rows x 4 columns]" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "info" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
descriptiongroupidmanufacturer
0 Cheese, caraway Dairy and Egg Products 1008
1 Cheese, cheddar Dairy and Egg Products 1009
2 Cheese, edam Dairy and Egg Products 1018
3 Cheese, feta Dairy and Egg Products 1019
4 Cheese, mozzarella, part skim milk Dairy and Egg Products 1028
5 Cheese, mozzarella, part skim milk, low moisture Dairy and Egg Products 1029
6 Cheese, romano Dairy and Egg Products 1038
7 Cheese, roquefort Dairy and Egg Products 1039
8 Cheese spread, pasteurized process, american, ... Dairy and Egg Products 1048
9 Cream, fluid, half and half Dairy and Egg Products 1049
10 Sour dressing, non-butterfat, cultured, filled... Dairy and Egg Products 1058
11 Milk, filled, fluid, with blend of hydrogenate... Dairy and Egg Products 1059
12 Cream substitute, liquid, with lauric acid oil... Dairy and Egg Products 1068
13 Cream substitute, powdered Dairy and Egg Products 1069
14 Milk, producer, fluid, 3.7% milkfat Dairy and Egg Products 1078
15 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products 1079 None
16 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products 1080
17 Milk, reduced fat, fluid, 2% milkfat, protein ... Dairy and Egg Products 1081
18 Milk, lowfat, fluid, 1% milkfat, with added vi... Dairy and Egg Products 1082
19 Milk, lowfat, fluid, 1% milkfat, with added no... Dairy and Egg Products 1083
20 Milk, lowfat, fluid, 1% milkfat, protein forti... Dairy and Egg Products 1084
21 Milk, nonfat, fluid, with added vitamin A and ... Dairy and Egg Products 1085
22 Milk, nonfat, fluid, with added nonfat milk so... Dairy and Egg Products 1086
23 Milk, nonfat, fluid, protein fortified, with a... Dairy and Egg Products 1087
24 Milk, buttermilk, fluid, cultured, lowfat Dairy and Egg Products 1088
25 Milk, low sodium, fluid Dairy and Egg Products 1089
26 Milk, dry, whole, with added vitamin D Dairy and Egg Products 1090
27 Milk, dry, nonfat, regular, without added vita... Dairy and Egg Products 1091
28 Milk, dry, nonfat, instant, with added vitamin... Dairy and Egg Products 1092
29 Milk, dry, nonfat, calcium reduced Dairy and Egg Products 1093
30 Milk, buttermilk, dried Dairy and Egg Products 1094
31 Milk, canned, condensed, sweetened Dairy and Egg Products 1095
32 Milk, canned, evaporated, with added vitamin D... Dairy and Egg Products 1096
33 Milk, canned, evaporated, nonfat, with added v... Dairy and Egg Products 1097
34 Milk, indian buffalo, fluid Dairy and Egg Products 1108
35 Milk, sheep, fluid Dairy and Egg Products 1109
36 Yogurt, plain, skim milk, 13 grams protein per... Dairy and Egg Products 1118
37 Yogurt, vanilla, low fat, 11 grams protein per... Dairy and Egg Products 1119
38 Egg, whole, cooked, fried Dairy and Egg Products 1128
39 Egg, whole, cooked, hard-boiled Dairy and Egg Products 1129
40 Egg, duck, whole, fresh, raw Dairy and Egg Products 1138
41 Egg, goose, whole, fresh, raw Dairy and Egg Products 1139
42 Cheese, pasteurized process, swiss, without di... Dairy and Egg Products 1148
43 Cheese food, pasteurized process, american, wi... Dairy and Egg Products 1149
44 Cheese, goat, soft type Dairy and Egg Products 1159
45 Cheese, low fat, cheddar or colby Dairy and Egg Products 1168
46 Cheese, low-sodium, cheddar or colby Dairy and Egg Products 1169
47 Sour cream, reduced fat Dairy and Egg Products 1178 None
48 Sour cream, light Dairy and Egg Products 1179 None
49 Sour cream, fat free Dairy and Egg Products 1180 None
50 USDA Commodity, cheese, cheddar, reduced fat Dairy and Egg Products 1182 None
51 Yogurt, vanilla or lemon flavor, nonfat milk, ... Dairy and Egg Products 1184 None
52 Parmesan cheese topping, fat free Dairy and Egg Products 1185
53 Cheese, cream, fat free Dairy and Egg Products 1186
54 Yogurt, chocolate, nonfat milk Dairy and Egg Products 1187 None
55 KRAFT CHEEZ WHIZ Pasteurized Process Cheese Sauce Dairy and Egg Products 1188 None
56 KRAFT CHEEZ WHIZ LIGHT Pasteurized Process Che... Dairy and Egg Products 1189 None
57 KRAFT FREE Singles American Nonfat Pasteurized... Dairy and Egg Products 1190 None
58 KRAFT VELVEETA Pasteurized Process Cheese Spread Dairy and Egg Products 1191 None
59 KRAFT VELVEETA LIGHT Reduced Fat Pasteurized P... Dairy and Egg Products 1192 None
............
\n", "

6636 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 48, "text": [ " description group \\\n", "0 Cheese, caraway Dairy and Egg Products \n", "1 Cheese, cheddar Dairy and Egg Products \n", "2 Cheese, edam Dairy and Egg Products \n", "3 Cheese, feta Dairy and Egg Products \n", "4 Cheese, mozzarella, part skim milk Dairy and Egg Products \n", "5 Cheese, mozzarella, part skim milk, low moisture Dairy and Egg Products \n", "6 Cheese, romano Dairy and Egg Products \n", "7 Cheese, roquefort Dairy and Egg Products \n", "8 Cheese spread, pasteurized process, american, ... Dairy and Egg Products \n", "9 Cream, fluid, half and half Dairy and Egg Products \n", "10 Sour dressing, non-butterfat, cultured, filled... Dairy and Egg Products \n", "11 Milk, filled, fluid, with blend of hydrogenate... Dairy and Egg Products \n", "12 Cream substitute, liquid, with lauric acid oil... Dairy and Egg Products \n", "13 Cream substitute, powdered Dairy and Egg Products \n", "14 Milk, producer, fluid, 3.7% milkfat Dairy and Egg Products \n", "15 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products \n", "16 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products \n", "17 Milk, reduced fat, fluid, 2% milkfat, protein ... Dairy and Egg Products \n", "18 Milk, lowfat, fluid, 1% milkfat, with added vi... Dairy and Egg Products \n", "19 Milk, lowfat, fluid, 1% milkfat, with added no... Dairy and Egg Products \n", "20 Milk, lowfat, fluid, 1% milkfat, protein forti... Dairy and Egg Products \n", "21 Milk, nonfat, fluid, with added vitamin A and ... Dairy and Egg Products \n", "22 Milk, nonfat, fluid, with added nonfat milk so... Dairy and Egg Products \n", "23 Milk, nonfat, fluid, protein fortified, with a... Dairy and Egg Products \n", "24 Milk, buttermilk, fluid, cultured, lowfat Dairy and Egg Products \n", "25 Milk, low sodium, fluid Dairy and Egg Products \n", "26 Milk, dry, whole, with added vitamin D Dairy and Egg Products \n", "27 Milk, dry, nonfat, regular, without added vita... Dairy and Egg Products \n", "28 Milk, dry, nonfat, instant, with added vitamin... Dairy and Egg Products \n", "29 Milk, dry, nonfat, calcium reduced Dairy and Egg Products \n", "30 Milk, buttermilk, dried Dairy and Egg Products \n", "31 Milk, canned, condensed, sweetened Dairy and Egg Products \n", "32 Milk, canned, evaporated, with added vitamin D... Dairy and Egg Products \n", "33 Milk, canned, evaporated, nonfat, with added v... Dairy and Egg Products \n", "34 Milk, indian buffalo, fluid Dairy and Egg Products \n", "35 Milk, sheep, fluid Dairy and Egg Products \n", "36 Yogurt, plain, skim milk, 13 grams protein per... Dairy and Egg Products \n", "37 Yogurt, vanilla, low fat, 11 grams protein per... Dairy and Egg Products \n", "38 Egg, whole, cooked, fried Dairy and Egg Products \n", "39 Egg, whole, cooked, hard-boiled Dairy and Egg Products \n", "40 Egg, duck, whole, fresh, raw Dairy and Egg Products \n", "41 Egg, goose, whole, fresh, raw Dairy and Egg Products \n", "42 Cheese, pasteurized process, swiss, without di... Dairy and Egg Products \n", "43 Cheese food, pasteurized process, american, wi... Dairy and Egg Products \n", "44 Cheese, goat, soft type Dairy and Egg Products \n", "45 Cheese, low fat, cheddar or colby Dairy and Egg Products \n", "46 Cheese, low-sodium, cheddar or colby Dairy and Egg Products \n", "47 Sour cream, reduced fat Dairy and Egg Products \n", "48 Sour cream, light Dairy and Egg Products \n", "49 Sour cream, fat free Dairy and Egg Products \n", "50 USDA Commodity, cheese, cheddar, reduced fat Dairy and Egg Products \n", "51 Yogurt, vanilla or lemon flavor, nonfat milk, ... Dairy and Egg Products \n", "52 Parmesan cheese topping, fat free Dairy and Egg Products \n", "53 Cheese, cream, fat free Dairy and Egg Products \n", "54 Yogurt, chocolate, nonfat milk Dairy and Egg Products \n", "55 KRAFT CHEEZ WHIZ Pasteurized Process Cheese Sauce Dairy and Egg Products \n", "56 KRAFT CHEEZ WHIZ LIGHT Pasteurized Process Che... Dairy and Egg Products \n", "57 KRAFT FREE Singles American Nonfat Pasteurized... Dairy and Egg Products \n", "58 KRAFT VELVEETA Pasteurized Process Cheese Spread Dairy and Egg Products \n", "59 KRAFT VELVEETA LIGHT Reduced Fat Pasteurized P... Dairy and Egg Products \n", " ... ... \n", "\n", " id manufacturer \n", "0 1008 \n", "1 1009 \n", "2 1018 \n", "3 1019 \n", "4 1028 \n", "5 1029 \n", "6 1038 \n", "7 1039 \n", "8 1048 \n", "9 1049 \n", "10 1058 \n", "11 1059 \n", "12 1068 \n", "13 1069 \n", "14 1078 \n", "15 1079 None \n", "16 1080 \n", "17 1081 \n", "18 1082 \n", "19 1083 \n", "20 1084 \n", "21 1085 \n", "22 1086 \n", "23 1087 \n", "24 1088 \n", "25 1089 \n", "26 1090 \n", "27 1091 \n", "28 1092 \n", "29 1093 \n", "30 1094 \n", "31 1095 \n", "32 1096 \n", "33 1097 \n", "34 1108 \n", "35 1109 \n", "36 1118 \n", "37 1119 \n", "38 1128 \n", "39 1129 \n", "40 1138 \n", "41 1139 \n", "42 1148 \n", "43 1149 \n", "44 1159 \n", "45 1168 \n", "46 1169 \n", "47 1178 None \n", "48 1179 None \n", "49 1180 None \n", "50 1182 None \n", "51 1184 None \n", "52 1185 \n", "53 1186 \n", "54 1187 None \n", "55 1188 None \n", "56 1189 None \n", "57 1190 None \n", "58 1191 None \n", "59 1192 None \n", " ... ... \n", "\n", "[6636 rows x 4 columns]" ] } ], "prompt_number": 48 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "step 3. \uc74c\uc2dd \uadf8\ub8f9\uc758 \ubd84\ud3ec \ud655\uc778" ] }, { "cell_type": "code", "collapsed": false, "input": [ "pd.value_counts(info.group)[:10]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 49, "text": [ "Vegetables and Vegetable Products 812\n", "Beef Products 618\n", "Baked Products 496\n", "Breakfast Cereals 403\n", "Legumes and Legume Products 365\n", "Fast Foods 365\n", "Lamb, Veal, and Game Products 345\n", "Sweets 341\n", "Fruits and Fruit Juices 328\n", "Pork Products 328\n", "dtype: int64" ] } ], "prompt_number": 49 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "step 4. \uc601\uc591\uc18c \uc815\ubcf4 \ubd84\uc11d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1) \uac01 \uc74c\uc2dd\uc758 \uc601\uc591\uc18c \uc815\ubcf4\ub97c \uac70\ub300\ud55c \ud14c\uc774\ube14\uc5d0 \ub2f4\uc544\ubcf4\uc790
\n", " - a) \uc74c\uc2dd\uc758 \uc601\uc591\uc18c \ub9ac\uc2a4\ud2b8\ub97c DataFrame\uc5d0 \ubc18\ud658 \ud6c4, \uc74c\uc2dd id\ub97c \ucd94\uac00
\n", " - b) \uc774 DataFrame\uc744 \ub9ac\uc2a4\ud2b8\uc5d0 \ucd94\uac00
\n", " - c) concat \uba54\uc11c\ub4dc\ub97c \uc774\uc6a9\ud574\uc11c \ud558\ub098\ub85c \ud569\uce58\uc790
\n", "2) 1)\uc5d0\uc11c \ub9cc\ub4e4\uc5b4\uc9c4 \ud14c\uc774\ud50c\uc5d0\uc11c \uc911\ubcf5\ub370\uc774\ud130\ub97c \uc81c\uac70\ud55c\ub2e4
\n", "3) step3\uc5d0\uc11c \ub9cc\ub4e0 \uc74c\uc2dd \uc815\ubcf4\ub97c \ubcd1\ud569\ud55c\ub2e4" ] }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients = []\n", "\n", "for rec in db : \n", " fnuts = DataFrame(rec['nutrients'])\n", " fnuts['id'] = rec['id']\n", " nutrients.append(fnuts) \n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients[:2]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "[ description group units value id\n", "0 Protein Composition g 25.180 1008\n", "1 Total lipid (fat) Composition g 29.200 1008\n", "2 Carbohydrate, by difference Composition g 3.060 1008\n", "3 Ash Other g 3.280 1008\n", "4 Energy Energy kcal 376.000 1008\n", "5 Water Composition g 39.280 1008\n", "6 Energy Energy kJ 1573.000 1008\n", "7 Fiber, total dietary Composition g 0.000 1008\n", "8 Calcium, Ca Elements mg 673.000 1008\n", "9 Iron, Fe Elements mg 0.640 1008\n", "10 Magnesium, Mg Elements mg 22.000 1008\n", "11 Phosphorus, P Elements mg 490.000 1008\n", "12 Potassium, K Elements mg 93.000 1008\n", "13 Sodium, Na Elements mg 690.000 1008\n", "14 Zinc, Zn Elements mg 2.940 1008\n", "15 Copper, Cu Elements mg 0.024 1008\n", "16 Manganese, Mn Elements mg 0.021 1008\n", "17 Selenium, Se Elements mcg 14.500 1008\n", "18 Vitamin A, IU Vitamins IU 1054.000 1008\n", "19 Retinol Vitamins mcg 262.000 1008\n", "20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008\n", "21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008\n", "22 Thiamin Vitamins mg 0.031 1008\n", "23 Riboflavin Vitamins mg 0.450 1008\n", "24 Niacin Vitamins mg 0.180 1008\n", "25 Pantothenic acid Vitamins mg 0.190 1008\n", "26 Vitamin B-6 Vitamins mg 0.074 1008\n", "27 Folate, total Vitamins mcg 18.000 1008\n", "28 Vitamin B-12 Vitamins mcg 0.270 1008\n", "29 Folic acid Vitamins mcg 0.000 1008\n", "30 Folate, food Vitamins mcg 18.000 1008\n", "31 Folate, DFE Vitamins mcg_DFE 18.000 1008\n", "32 Cholesterol Other mg 93.000 1008\n", "33 Fatty acids, total saturated Other g 18.584 1008\n", "34 Fatty acids, total monounsaturated Other g 8.275 1008\n", "35 Fatty acids, total polyunsaturated Other g 0.830 1008\n", "36 Tryptophan Amino Acids g 0.324 1008\n", "37 Threonine Amino Acids g 0.896 1008\n", "38 Isoleucine Amino Acids g 1.563 1008\n", "39 Leucine Amino Acids g 2.412 1008\n", "40 Lysine Amino Acids g 2.095 1008\n", "41 Methionine Amino Acids g 0.659 1008\n", "42 Cystine Amino Acids g 0.126 1008\n", "43 Phenylalanine Amino Acids g 1.326 1008\n", "44 Tyrosine Amino Acids g 1.216 1008\n", "45 Valine Amino Acids g 1.682 1008\n", "46 Arginine Amino Acids g 0.952 1008\n", "47 Histidine Amino Acids g 0.884 1008\n", "48 Alanine Amino Acids g 0.711 1008\n", "49 Aspartic acid Amino Acids g 1.618 1008\n", "50 Glutamic acid Amino Acids g 6.160 1008\n", "51 Glycine Amino Acids g 0.439 1008\n", "52 Proline Amino Acids g 2.838 1008\n", "53 Serine Amino Acids g 1.472 1008\n", "54 Protein Composition g 25.180 1008\n", "55 Total lipid (fat) Composition g 29.200 1008\n", "56 Carbohydrate, by difference Composition g 3.060 1008\n", "57 Ash Other g 3.280 1008\n", "58 Energy Energy kcal 376.000 1008\n", "59 Water Composition g 39.280 1008\n", " ... ... ... ... ...\n", "\n", "[162 rows x 5 columns],\n", " description group units value id\n", "0 Protein Composition g 24.900 1009\n", "1 Total lipid (fat) Composition g 33.140 1009\n", "2 Carbohydrate, by difference Composition g 1.280 1009\n", "3 Ash Other g 3.930 1009\n", "4 Energy Energy kcal 403.000 1009\n", "5 Sucrose Sugars g 0.240 1009\n", "6 Lactose Sugars g 0.230 1009\n", "7 Maltose Sugars g 0.150 1009\n", "8 Alcohol, ethyl Other g 0.000 1009\n", "9 Water Composition g 36.750 1009\n", "10 Caffeine Other mg 0.000 1009\n", "11 Theobromine Other mg 0.000 1009\n", "12 Energy Energy kJ 1684.000 1009\n", "13 Sugars, total Composition g 0.520 1009\n", "14 Fiber, total dietary Composition g 0.000 1009\n", "15 Calcium, Ca Elements mg 721.000 1009\n", "16 Iron, Fe Elements mg 0.680 1009\n", "17 Magnesium, Mg Elements mg 28.000 1009\n", "18 Phosphorus, P Elements mg 512.000 1009\n", "19 Potassium, K Elements mg 98.000 1009\n", "20 Sodium, Na Elements mg 621.000 1009\n", "21 Zinc, Zn Elements mg 3.110 1009\n", "22 Copper, Cu Elements mg 0.031 1009\n", "23 Fluoride, F Elements mcg 34.900 1009\n", "24 Manganese, Mn Elements mg 0.010 1009\n", "25 Selenium, Se Elements mcg 13.900 1009\n", "26 Vitamin A, IU Vitamins IU 1002.000 1009\n", "27 Retinol Vitamins mcg 258.000 1009\n", "28 Vitamin A, RAE Vitamins mcg_RAE 265.000 1009\n", "29 Carotene, beta Vitamins mcg 85.000 1009\n", "30 Carotene, alpha Vitamins mcg 0.000 1009\n", "31 Vitamin E (alpha-tocopherol) Vitamins mg 0.290 1009\n", "32 Vitamin D Vitamins IU 24.000 1009\n", "33 Vitamin D3 (cholecalciferol) Vitamins mcg 0.600 1009\n", "34 Vitamin D (D2 + D3) Vitamins mcg 0.600 1009\n", "35 Cryptoxanthin, beta Vitamins mcg 0.000 1009\n", "36 Lycopene Vitamins mcg 0.000 1009\n", "37 Lutein + zeaxanthin Vitamins mcg 0.000 1009\n", "38 Tocopherol, gamma Vitamins mg 0.000 1009\n", "39 Tocopherol, delta Vitamins mg 0.000 1009\n", "40 Vitamin C, total ascorbic acid Vitamins mg 0.000 1009\n", "41 Thiamin Vitamins mg 0.027 1009\n", "42 Riboflavin Vitamins mg 0.375 1009\n", "43 Niacin Vitamins mg 0.080 1009\n", "44 Pantothenic acid Vitamins mg 0.413 1009\n", "45 Vitamin B-6 Vitamins mg 0.074 1009\n", "46 Folate, total Vitamins mcg 18.000 1009\n", "47 Vitamin B-12 Vitamins mcg 0.830 1009\n", "48 Choline, total Vitamins mg 16.500 1009\n", "49 Vitamin K (phylloquinone) Vitamins mcg 2.800 1009\n", "50 Folic acid Vitamins mcg 0.000 1009\n", "51 Folate, food Vitamins mcg 18.000 1009\n", "52 Folate, DFE Vitamins mcg_DFE 18.000 1009\n", "53 Betaine Vitamins mg 0.700 1009\n", "54 Vitamin E, added Vitamins mg 0.000 1009\n", "55 Vitamin B-12, added Vitamins mcg 0.000 1009\n", "56 Cholesterol Other mg 105.000 1009\n", "57 Fatty acids, total saturated Other g 21.092 1009\n", "58 Fatty acids, total monounsaturated Other g 9.391 1009\n", "59 Fatty acids, total polyunsaturated Other g 0.942 1009\n", " ... ... ... ... ...\n", "\n", "[237 rows x 5 columns]]" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients = pd.concat(nutrients, ignore_index=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
descriptiongroupunitsvalueid
0 Protein Composition g 25.180 1008
1 Total lipid (fat) Composition g 29.200 1008
2 Carbohydrate, by difference Composition g 3.060 1008
3 Ash Other g 3.280 1008
4 Energy Energy kcal 376.000 1008
5 Water Composition g 39.280 1008
6 Energy Energy kJ 1573.000 1008
7 Fiber, total dietary Composition g 0.000 1008
8 Calcium, Ca Elements mg 673.000 1008
9 Iron, Fe Elements mg 0.640 1008
10 Magnesium, Mg Elements mg 22.000 1008
11 Phosphorus, P Elements mg 490.000 1008
12 Potassium, K Elements mg 93.000 1008
13 Sodium, Na Elements mg 690.000 1008
14 Zinc, Zn Elements mg 2.940 1008
15 Copper, Cu Elements mg 0.024 1008
16 Manganese, Mn Elements mg 0.021 1008
17 Selenium, Se Elements mcg 14.500 1008
18 Vitamin A, IU Vitamins IU 1054.000 1008
19 Retinol Vitamins mcg 262.000 1008
20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008
21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008
22 Thiamin Vitamins mg 0.031 1008
23 Riboflavin Vitamins mg 0.450 1008
24 Niacin Vitamins mg 0.180 1008
25 Pantothenic acid Vitamins mg 0.190 1008
26 Vitamin B-6 Vitamins mg 0.074 1008
27 Folate, total Vitamins mcg 18.000 1008
28 Vitamin B-12 Vitamins mcg 0.270 1008
29 Folic acid Vitamins mcg 0.000 1008
30 Folate, food Vitamins mcg 18.000 1008
31 Folate, DFE Vitamins mcg_DFE 18.000 1008
32 Cholesterol Other mg 93.000 1008
33 Fatty acids, total saturated Other g 18.584 1008
34 Fatty acids, total monounsaturated Other g 8.275 1008
35 Fatty acids, total polyunsaturated Other g 0.830 1008
36 Tryptophan Amino Acids g 0.324 1008
37 Threonine Amino Acids g 0.896 1008
38 Isoleucine Amino Acids g 1.563 1008
39 Leucine Amino Acids g 2.412 1008
40 Lysine Amino Acids g 2.095 1008
41 Methionine Amino Acids g 0.659 1008
42 Cystine Amino Acids g 0.126 1008
43 Phenylalanine Amino Acids g 1.326 1008
44 Tyrosine Amino Acids g 1.216 1008
45 Valine Amino Acids g 1.682 1008
46 Arginine Amino Acids g 0.952 1008
47 Histidine Amino Acids g 0.884 1008
48 Alanine Amino Acids g 0.711 1008
49 Aspartic acid Amino Acids g 1.618 1008
50 Glutamic acid Amino Acids g 6.160 1008
51 Glycine Amino Acids g 0.439 1008
52 Proline Amino Acids g 2.838 1008
53 Serine Amino Acids g 1.472 1008
54 Protein Composition g 25.180 1008
55 Total lipid (fat) Composition g 29.200 1008
56 Carbohydrate, by difference Composition g 3.060 1008
57 Ash Other g 3.280 1008
58 Energy Energy kcal 376.000 1008
59 Water Composition g 39.280 1008
...............
\n", "

389355 rows \u00d7 5 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ " description group units value id\n", "0 Protein Composition g 25.180 1008\n", "1 Total lipid (fat) Composition g 29.200 1008\n", "2 Carbohydrate, by difference Composition g 3.060 1008\n", "3 Ash Other g 3.280 1008\n", "4 Energy Energy kcal 376.000 1008\n", "5 Water Composition g 39.280 1008\n", "6 Energy Energy kJ 1573.000 1008\n", "7 Fiber, total dietary Composition g 0.000 1008\n", "8 Calcium, Ca Elements mg 673.000 1008\n", "9 Iron, Fe Elements mg 0.640 1008\n", "10 Magnesium, Mg Elements mg 22.000 1008\n", "11 Phosphorus, P Elements mg 490.000 1008\n", "12 Potassium, K Elements mg 93.000 1008\n", "13 Sodium, Na Elements mg 690.000 1008\n", "14 Zinc, Zn Elements mg 2.940 1008\n", "15 Copper, Cu Elements mg 0.024 1008\n", "16 Manganese, Mn Elements mg 0.021 1008\n", "17 Selenium, Se Elements mcg 14.500 1008\n", "18 Vitamin A, IU Vitamins IU 1054.000 1008\n", "19 Retinol Vitamins mcg 262.000 1008\n", "20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008\n", "21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008\n", "22 Thiamin Vitamins mg 0.031 1008\n", "23 Riboflavin Vitamins mg 0.450 1008\n", "24 Niacin Vitamins mg 0.180 1008\n", "25 Pantothenic acid Vitamins mg 0.190 1008\n", "26 Vitamin B-6 Vitamins mg 0.074 1008\n", "27 Folate, total Vitamins mcg 18.000 1008\n", "28 Vitamin B-12 Vitamins mcg 0.270 1008\n", "29 Folic acid Vitamins mcg 0.000 1008\n", "30 Folate, food Vitamins mcg 18.000 1008\n", "31 Folate, DFE Vitamins mcg_DFE 18.000 1008\n", "32 Cholesterol Other mg 93.000 1008\n", "33 Fatty acids, total saturated Other g 18.584 1008\n", "34 Fatty acids, total monounsaturated Other g 8.275 1008\n", "35 Fatty acids, total polyunsaturated Other g 0.830 1008\n", "36 Tryptophan Amino Acids g 0.324 1008\n", "37 Threonine Amino Acids g 0.896 1008\n", "38 Isoleucine Amino Acids g 1.563 1008\n", "39 Leucine Amino Acids g 2.412 1008\n", "40 Lysine Amino Acids g 2.095 1008\n", "41 Methionine Amino Acids g 0.659 1008\n", "42 Cystine Amino Acids g 0.126 1008\n", "43 Phenylalanine Amino Acids g 1.326 1008\n", "44 Tyrosine Amino Acids g 1.216 1008\n", "45 Valine Amino Acids g 1.682 1008\n", "46 Arginine Amino Acids g 0.952 1008\n", "47 Histidine Amino Acids g 0.884 1008\n", "48 Alanine Amino Acids g 0.711 1008\n", "49 Aspartic acid Amino Acids g 1.618 1008\n", "50 Glutamic acid Amino Acids g 6.160 1008\n", "51 Glycine Amino Acids g 0.439 1008\n", "52 Proline Amino Acids g 2.838 1008\n", "53 Serine Amino Acids g 1.472 1008\n", "54 Protein Composition g 25.180 1008\n", "55 Total lipid (fat) Composition g 29.200 1008\n", "56 Carbohydrate, by difference Composition g 3.060 1008\n", "57 Ash Other g 3.280 1008\n", "58 Energy Energy kcal 376.000 1008\n", "59 Water Composition g 39.280 1008\n", " ... ... ... ... ...\n", "\n", "[389355 rows x 5 columns]" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients.duplicated().sum()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "14179" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "nutrients = nutrients.drop_duplicates()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "col_mapping = {'description' : 'food', \n", " 'group' : 'fgroup'}\n", "\n", "info = info.rename(columns = col_mapping, copy=False)\n", "info" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
foodfgroupidmanufacturer
0 Cheese, caraway Dairy and Egg Products 1008
1 Cheese, cheddar Dairy and Egg Products 1009
2 Cheese, edam Dairy and Egg Products 1018
3 Cheese, feta Dairy and Egg Products 1019
4 Cheese, mozzarella, part skim milk Dairy and Egg Products 1028
5 Cheese, mozzarella, part skim milk, low moisture Dairy and Egg Products 1029
6 Cheese, romano Dairy and Egg Products 1038
7 Cheese, roquefort Dairy and Egg Products 1039
8 Cheese spread, pasteurized process, american, ... Dairy and Egg Products 1048
9 Cream, fluid, half and half Dairy and Egg Products 1049
10 Sour dressing, non-butterfat, cultured, filled... Dairy and Egg Products 1058
11 Milk, filled, fluid, with blend of hydrogenate... Dairy and Egg Products 1059
12 Cream substitute, liquid, with lauric acid oil... Dairy and Egg Products 1068
13 Cream substitute, powdered Dairy and Egg Products 1069
14 Milk, producer, fluid, 3.7% milkfat Dairy and Egg Products 1078
15 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products 1079 None
16 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products 1080
17 Milk, reduced fat, fluid, 2% milkfat, protein ... Dairy and Egg Products 1081
18 Milk, lowfat, fluid, 1% milkfat, with added vi... Dairy and Egg Products 1082
19 Milk, lowfat, fluid, 1% milkfat, with added no... Dairy and Egg Products 1083
20 Milk, lowfat, fluid, 1% milkfat, protein forti... Dairy and Egg Products 1084
21 Milk, nonfat, fluid, with added vitamin A and ... Dairy and Egg Products 1085
22 Milk, nonfat, fluid, with added nonfat milk so... Dairy and Egg Products 1086
23 Milk, nonfat, fluid, protein fortified, with a... Dairy and Egg Products 1087
24 Milk, buttermilk, fluid, cultured, lowfat Dairy and Egg Products 1088
25 Milk, low sodium, fluid Dairy and Egg Products 1089
26 Milk, dry, whole, with added vitamin D Dairy and Egg Products 1090
27 Milk, dry, nonfat, regular, without added vita... Dairy and Egg Products 1091
28 Milk, dry, nonfat, instant, with added vitamin... Dairy and Egg Products 1092
29 Milk, dry, nonfat, calcium reduced Dairy and Egg Products 1093
30 Milk, buttermilk, dried Dairy and Egg Products 1094
31 Milk, canned, condensed, sweetened Dairy and Egg Products 1095
32 Milk, canned, evaporated, with added vitamin D... Dairy and Egg Products 1096
33 Milk, canned, evaporated, nonfat, with added v... Dairy and Egg Products 1097
34 Milk, indian buffalo, fluid Dairy and Egg Products 1108
35 Milk, sheep, fluid Dairy and Egg Products 1109
36 Yogurt, plain, skim milk, 13 grams protein per... Dairy and Egg Products 1118
37 Yogurt, vanilla, low fat, 11 grams protein per... Dairy and Egg Products 1119
38 Egg, whole, cooked, fried Dairy and Egg Products 1128
39 Egg, whole, cooked, hard-boiled Dairy and Egg Products 1129
40 Egg, duck, whole, fresh, raw Dairy and Egg Products 1138
41 Egg, goose, whole, fresh, raw Dairy and Egg Products 1139
42 Cheese, pasteurized process, swiss, without di... Dairy and Egg Products 1148
43 Cheese food, pasteurized process, american, wi... Dairy and Egg Products 1149
44 Cheese, goat, soft type Dairy and Egg Products 1159
45 Cheese, low fat, cheddar or colby Dairy and Egg Products 1168
46 Cheese, low-sodium, cheddar or colby Dairy and Egg Products 1169
47 Sour cream, reduced fat Dairy and Egg Products 1178 None
48 Sour cream, light Dairy and Egg Products 1179 None
49 Sour cream, fat free Dairy and Egg Products 1180 None
50 USDA Commodity, cheese, cheddar, reduced fat Dairy and Egg Products 1182 None
51 Yogurt, vanilla or lemon flavor, nonfat milk, ... Dairy and Egg Products 1184 None
52 Parmesan cheese topping, fat free Dairy and Egg Products 1185
53 Cheese, cream, fat free Dairy and Egg Products 1186
54 Yogurt, chocolate, nonfat milk Dairy and Egg Products 1187 None
55 KRAFT CHEEZ WHIZ Pasteurized Process Cheese Sauce Dairy and Egg Products 1188 None
56 KRAFT CHEEZ WHIZ LIGHT Pasteurized Process Che... Dairy and Egg Products 1189 None
57 KRAFT FREE Singles American Nonfat Pasteurized... Dairy and Egg Products 1190 None
58 KRAFT VELVEETA Pasteurized Process Cheese Spread Dairy and Egg Products 1191 None
59 KRAFT VELVEETA LIGHT Reduced Fat Pasteurized P... Dairy and Egg Products 1192 None
............
\n", "

6636 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " food fgroup \\\n", "0 Cheese, caraway Dairy and Egg Products \n", "1 Cheese, cheddar Dairy and Egg Products \n", "2 Cheese, edam Dairy and Egg Products \n", "3 Cheese, feta Dairy and Egg Products \n", "4 Cheese, mozzarella, part skim milk Dairy and Egg Products \n", "5 Cheese, mozzarella, part skim milk, low moisture Dairy and Egg Products \n", "6 Cheese, romano Dairy and Egg Products \n", "7 Cheese, roquefort Dairy and Egg Products \n", "8 Cheese spread, pasteurized process, american, ... Dairy and Egg Products \n", "9 Cream, fluid, half and half Dairy and Egg Products \n", "10 Sour dressing, non-butterfat, cultured, filled... Dairy and Egg Products \n", "11 Milk, filled, fluid, with blend of hydrogenate... Dairy and Egg Products \n", "12 Cream substitute, liquid, with lauric acid oil... Dairy and Egg Products \n", "13 Cream substitute, powdered Dairy and Egg Products \n", "14 Milk, producer, fluid, 3.7% milkfat Dairy and Egg Products \n", "15 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products \n", "16 Milk, reduced fat, fluid, 2% milkfat, with add... Dairy and Egg Products \n", "17 Milk, reduced fat, fluid, 2% milkfat, protein ... Dairy and Egg Products \n", "18 Milk, lowfat, fluid, 1% milkfat, with added vi... Dairy and Egg Products \n", "19 Milk, lowfat, fluid, 1% milkfat, with added no... Dairy and Egg Products \n", "20 Milk, lowfat, fluid, 1% milkfat, protein forti... Dairy and Egg Products \n", "21 Milk, nonfat, fluid, with added vitamin A and ... Dairy and Egg Products \n", "22 Milk, nonfat, fluid, with added nonfat milk so... Dairy and Egg Products \n", "23 Milk, nonfat, fluid, protein fortified, with a... Dairy and Egg Products \n", "24 Milk, buttermilk, fluid, cultured, lowfat Dairy and Egg Products \n", "25 Milk, low sodium, fluid Dairy and Egg Products \n", "26 Milk, dry, whole, with added vitamin D Dairy and Egg Products \n", "27 Milk, dry, nonfat, regular, without added vita... Dairy and Egg Products \n", "28 Milk, dry, nonfat, instant, with added vitamin... Dairy and Egg Products \n", "29 Milk, dry, nonfat, calcium reduced Dairy and Egg Products \n", "30 Milk, buttermilk, dried Dairy and Egg Products \n", "31 Milk, canned, condensed, sweetened Dairy and Egg Products \n", "32 Milk, canned, evaporated, with added vitamin D... Dairy and Egg Products \n", "33 Milk, canned, evaporated, nonfat, with added v... Dairy and Egg Products \n", "34 Milk, indian buffalo, fluid Dairy and Egg Products \n", "35 Milk, sheep, fluid Dairy and Egg Products \n", "36 Yogurt, plain, skim milk, 13 grams protein per... Dairy and Egg Products \n", "37 Yogurt, vanilla, low fat, 11 grams protein per... Dairy and Egg Products \n", "38 Egg, whole, cooked, fried Dairy and Egg Products \n", "39 Egg, whole, cooked, hard-boiled Dairy and Egg Products \n", "40 Egg, duck, whole, fresh, raw Dairy and Egg Products \n", "41 Egg, goose, whole, fresh, raw Dairy and Egg Products \n", "42 Cheese, pasteurized process, swiss, without di... Dairy and Egg Products \n", "43 Cheese food, pasteurized process, american, wi... Dairy and Egg Products \n", "44 Cheese, goat, soft type Dairy and Egg Products \n", "45 Cheese, low fat, cheddar or colby Dairy and Egg Products \n", "46 Cheese, low-sodium, cheddar or colby Dairy and Egg Products \n", "47 Sour cream, reduced fat Dairy and Egg Products \n", "48 Sour cream, light Dairy and Egg Products \n", "49 Sour cream, fat free Dairy and Egg Products \n", "50 USDA Commodity, cheese, cheddar, reduced fat Dairy and Egg Products \n", "51 Yogurt, vanilla or lemon flavor, nonfat milk, ... Dairy and Egg Products \n", "52 Parmesan cheese topping, fat free Dairy and Egg Products \n", "53 Cheese, cream, fat free Dairy and Egg Products \n", "54 Yogurt, chocolate, nonfat milk Dairy and Egg Products \n", "55 KRAFT CHEEZ WHIZ Pasteurized Process Cheese Sauce Dairy and Egg Products \n", "56 KRAFT CHEEZ WHIZ LIGHT Pasteurized Process Che... Dairy and Egg Products \n", "57 KRAFT FREE Singles American Nonfat Pasteurized... Dairy and Egg Products \n", "58 KRAFT VELVEETA Pasteurized Process Cheese Spread Dairy and Egg Products \n", "59 KRAFT VELVEETA LIGHT Reduced Fat Pasteurized P... Dairy and Egg Products \n", " ... ... \n", "\n", " id manufacturer \n", "0 1008 \n", "1 1009 \n", "2 1018 \n", "3 1019 \n", "4 1028 \n", "5 1029 \n", "6 1038 \n", "7 1039 \n", "8 1048 \n", "9 1049 \n", "10 1058 \n", "11 1059 \n", "12 1068 \n", "13 1069 \n", "14 1078 \n", "15 1079 None \n", "16 1080 \n", "17 1081 \n", "18 1082 \n", "19 1083 \n", "20 1084 \n", "21 1085 \n", "22 1086 \n", "23 1087 \n", "24 1088 \n", "25 1089 \n", "26 1090 \n", "27 1091 \n", "28 1092 \n", "29 1093 \n", "30 1094 \n", "31 1095 \n", "32 1096 \n", "33 1097 \n", "34 1108 \n", "35 1109 \n", "36 1118 \n", "37 1119 \n", "38 1128 \n", "39 1129 \n", "40 1138 \n", "41 1139 \n", "42 1148 \n", "43 1149 \n", "44 1159 \n", "45 1168 \n", "46 1169 \n", "47 1178 None \n", "48 1179 None \n", "49 1180 None \n", "50 1182 None \n", "51 1184 None \n", "52 1185 \n", "53 1186 \n", "54 1187 None \n", "55 1188 None \n", "56 1189 None \n", "57 1190 None \n", "58 1191 None \n", "59 1192 None \n", " ... ... \n", "\n", "[6636 rows x 4 columns]" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "col_mapping = {'description' : 'nutrient',\n", " 'group' : 'nutgroup'}\n", "nutrients = nutrients.rename(columns=col_mapping, copy=False)\n", "\n", "nutrients" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nutrientnutgroupunitsvalueid
0 Protein Composition g 25.180 1008
1 Total lipid (fat) Composition g 29.200 1008
2 Carbohydrate, by difference Composition g 3.060 1008
3 Ash Other g 3.280 1008
4 Energy Energy kcal 376.000 1008
5 Water Composition g 39.280 1008
6 Energy Energy kJ 1573.000 1008
7 Fiber, total dietary Composition g 0.000 1008
8 Calcium, Ca Elements mg 673.000 1008
9 Iron, Fe Elements mg 0.640 1008
10 Magnesium, Mg Elements mg 22.000 1008
11 Phosphorus, P Elements mg 490.000 1008
12 Potassium, K Elements mg 93.000 1008
13 Sodium, Na Elements mg 690.000 1008
14 Zinc, Zn Elements mg 2.940 1008
15 Copper, Cu Elements mg 0.024 1008
16 Manganese, Mn Elements mg 0.021 1008
17 Selenium, Se Elements mcg 14.500 1008
18 Vitamin A, IU Vitamins IU 1054.000 1008
19 Retinol Vitamins mcg 262.000 1008
20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008
21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008
22 Thiamin Vitamins mg 0.031 1008
23 Riboflavin Vitamins mg 0.450 1008
24 Niacin Vitamins mg 0.180 1008
25 Pantothenic acid Vitamins mg 0.190 1008
26 Vitamin B-6 Vitamins mg 0.074 1008
27 Folate, total Vitamins mcg 18.000 1008
28 Vitamin B-12 Vitamins mcg 0.270 1008
29 Folic acid Vitamins mcg 0.000 1008
30 Folate, food Vitamins mcg 18.000 1008
31 Folate, DFE Vitamins mcg_DFE 18.000 1008
32 Cholesterol Other mg 93.000 1008
33 Fatty acids, total saturated Other g 18.584 1008
34 Fatty acids, total monounsaturated Other g 8.275 1008
35 Fatty acids, total polyunsaturated Other g 0.830 1008
36 Tryptophan Amino Acids g 0.324 1008
37 Threonine Amino Acids g 0.896 1008
38 Isoleucine Amino Acids g 1.563 1008
39 Leucine Amino Acids g 2.412 1008
40 Lysine Amino Acids g 2.095 1008
41 Methionine Amino Acids g 0.659 1008
42 Cystine Amino Acids g 0.126 1008
43 Phenylalanine Amino Acids g 1.326 1008
44 Tyrosine Amino Acids g 1.216 1008
45 Valine Amino Acids g 1.682 1008
46 Arginine Amino Acids g 0.952 1008
47 Histidine Amino Acids g 0.884 1008
48 Alanine Amino Acids g 0.711 1008
49 Aspartic acid Amino Acids g 1.618 1008
50 Glutamic acid Amino Acids g 6.160 1008
51 Glycine Amino Acids g 0.439 1008
52 Proline Amino Acids g 2.838 1008
53 Serine Amino Acids g 1.472 1008
162 Protein Composition g 24.900 1009
163 Total lipid (fat) Composition g 33.140 1009
164 Carbohydrate, by difference Composition g 1.280 1009
165 Ash Other g 3.930 1009
166 Energy Energy kcal 403.000 1009
167 Sucrose Sugars g 0.240 1009
...............
\n", "

375176 rows \u00d7 5 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ " nutrient nutgroup units value id\n", "0 Protein Composition g 25.180 1008\n", "1 Total lipid (fat) Composition g 29.200 1008\n", "2 Carbohydrate, by difference Composition g 3.060 1008\n", "3 Ash Other g 3.280 1008\n", "4 Energy Energy kcal 376.000 1008\n", "5 Water Composition g 39.280 1008\n", "6 Energy Energy kJ 1573.000 1008\n", "7 Fiber, total dietary Composition g 0.000 1008\n", "8 Calcium, Ca Elements mg 673.000 1008\n", "9 Iron, Fe Elements mg 0.640 1008\n", "10 Magnesium, Mg Elements mg 22.000 1008\n", "11 Phosphorus, P Elements mg 490.000 1008\n", "12 Potassium, K Elements mg 93.000 1008\n", "13 Sodium, Na Elements mg 690.000 1008\n", "14 Zinc, Zn Elements mg 2.940 1008\n", "15 Copper, Cu Elements mg 0.024 1008\n", "16 Manganese, Mn Elements mg 0.021 1008\n", "17 Selenium, Se Elements mcg 14.500 1008\n", "18 Vitamin A, IU Vitamins IU 1054.000 1008\n", "19 Retinol Vitamins mcg 262.000 1008\n", "20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008\n", "21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008\n", "22 Thiamin Vitamins mg 0.031 1008\n", "23 Riboflavin Vitamins mg 0.450 1008\n", "24 Niacin Vitamins mg 0.180 1008\n", "25 Pantothenic acid Vitamins mg 0.190 1008\n", "26 Vitamin B-6 Vitamins mg 0.074 1008\n", "27 Folate, total Vitamins mcg 18.000 1008\n", "28 Vitamin B-12 Vitamins mcg 0.270 1008\n", "29 Folic acid Vitamins mcg 0.000 1008\n", "30 Folate, food Vitamins mcg 18.000 1008\n", "31 Folate, DFE Vitamins mcg_DFE 18.000 1008\n", "32 Cholesterol Other mg 93.000 1008\n", "33 Fatty acids, total saturated Other g 18.584 1008\n", "34 Fatty acids, total monounsaturated Other g 8.275 1008\n", "35 Fatty acids, total polyunsaturated Other g 0.830 1008\n", "36 Tryptophan Amino Acids g 0.324 1008\n", "37 Threonine Amino Acids g 0.896 1008\n", "38 Isoleucine Amino Acids g 1.563 1008\n", "39 Leucine Amino Acids g 2.412 1008\n", "40 Lysine Amino Acids g 2.095 1008\n", "41 Methionine Amino Acids g 0.659 1008\n", "42 Cystine Amino Acids g 0.126 1008\n", "43 Phenylalanine Amino Acids g 1.326 1008\n", "44 Tyrosine Amino Acids g 1.216 1008\n", "45 Valine Amino Acids g 1.682 1008\n", "46 Arginine Amino Acids g 0.952 1008\n", "47 Histidine Amino Acids g 0.884 1008\n", "48 Alanine Amino Acids g 0.711 1008\n", "49 Aspartic acid Amino Acids g 1.618 1008\n", "50 Glutamic acid Amino Acids g 6.160 1008\n", "51 Glycine Amino Acids g 0.439 1008\n", "52 Proline Amino Acids g 2.838 1008\n", "53 Serine Amino Acids g 1.472 1008\n", "162 Protein Composition g 24.900 1009\n", "163 Total lipid (fat) Composition g 33.140 1009\n", "164 Carbohydrate, by difference Composition g 1.280 1009\n", "165 Ash Other g 3.930 1009\n", "166 Energy Energy kcal 403.000 1009\n", "167 Sucrose Sugars g 0.240 1009\n", " ... ... ... ... ...\n", "\n", "[375176 rows x 5 columns]" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "ndata = pd.merge(nutrients, info, on='id', how='outer')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "ndata" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nutrientnutgroupunitsvalueidfoodfgroupmanufacturer
0 Protein Composition g 25.180 1008 Cheese, caraway Dairy and Egg Products
1 Total lipid (fat) Composition g 29.200 1008 Cheese, caraway Dairy and Egg Products
2 Carbohydrate, by difference Composition g 3.060 1008 Cheese, caraway Dairy and Egg Products
3 Ash Other g 3.280 1008 Cheese, caraway Dairy and Egg Products
4 Energy Energy kcal 376.000 1008 Cheese, caraway Dairy and Egg Products
5 Water Composition g 39.280 1008 Cheese, caraway Dairy and Egg Products
6 Energy Energy kJ 1573.000 1008 Cheese, caraway Dairy and Egg Products
7 Fiber, total dietary Composition g 0.000 1008 Cheese, caraway Dairy and Egg Products
8 Calcium, Ca Elements mg 673.000 1008 Cheese, caraway Dairy and Egg Products
9 Iron, Fe Elements mg 0.640 1008 Cheese, caraway Dairy and Egg Products
10 Magnesium, Mg Elements mg 22.000 1008 Cheese, caraway Dairy and Egg Products
11 Phosphorus, P Elements mg 490.000 1008 Cheese, caraway Dairy and Egg Products
12 Potassium, K Elements mg 93.000 1008 Cheese, caraway Dairy and Egg Products
13 Sodium, Na Elements mg 690.000 1008 Cheese, caraway Dairy and Egg Products
14 Zinc, Zn Elements mg 2.940 1008 Cheese, caraway Dairy and Egg Products
15 Copper, Cu Elements mg 0.024 1008 Cheese, caraway Dairy and Egg Products
16 Manganese, Mn Elements mg 0.021 1008 Cheese, caraway Dairy and Egg Products
17 Selenium, Se Elements mcg 14.500 1008 Cheese, caraway Dairy and Egg Products
18 Vitamin A, IU Vitamins IU 1054.000 1008 Cheese, caraway Dairy and Egg Products
19 Retinol Vitamins mcg 262.000 1008 Cheese, caraway Dairy and Egg Products
20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008 Cheese, caraway Dairy and Egg Products
21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008 Cheese, caraway Dairy and Egg Products
22 Thiamin Vitamins mg 0.031 1008 Cheese, caraway Dairy and Egg Products
23 Riboflavin Vitamins mg 0.450 1008 Cheese, caraway Dairy and Egg Products
24 Niacin Vitamins mg 0.180 1008 Cheese, caraway Dairy and Egg Products
25 Pantothenic acid Vitamins mg 0.190 1008 Cheese, caraway Dairy and Egg Products
26 Vitamin B-6 Vitamins mg 0.074 1008 Cheese, caraway Dairy and Egg Products
27 Folate, total Vitamins mcg 18.000 1008 Cheese, caraway Dairy and Egg Products
28 Vitamin B-12 Vitamins mcg 0.270 1008 Cheese, caraway Dairy and Egg Products
29 Folic acid Vitamins mcg 0.000 1008 Cheese, caraway Dairy and Egg Products
30 Folate, food Vitamins mcg 18.000 1008 Cheese, caraway Dairy and Egg Products
31 Folate, DFE Vitamins mcg_DFE 18.000 1008 Cheese, caraway Dairy and Egg Products
32 Cholesterol Other mg 93.000 1008 Cheese, caraway Dairy and Egg Products
33 Fatty acids, total saturated Other g 18.584 1008 Cheese, caraway Dairy and Egg Products
34 Fatty acids, total monounsaturated Other g 8.275 1008 Cheese, caraway Dairy and Egg Products
35 Fatty acids, total polyunsaturated Other g 0.830 1008 Cheese, caraway Dairy and Egg Products
36 Tryptophan Amino Acids g 0.324 1008 Cheese, caraway Dairy and Egg Products
37 Threonine Amino Acids g 0.896 1008 Cheese, caraway Dairy and Egg Products
38 Isoleucine Amino Acids g 1.563 1008 Cheese, caraway Dairy and Egg Products
39 Leucine Amino Acids g 2.412 1008 Cheese, caraway Dairy and Egg Products
40 Lysine Amino Acids g 2.095 1008 Cheese, caraway Dairy and Egg Products
41 Methionine Amino Acids g 0.659 1008 Cheese, caraway Dairy and Egg Products
42 Cystine Amino Acids g 0.126 1008 Cheese, caraway Dairy and Egg Products
43 Phenylalanine Amino Acids g 1.326 1008 Cheese, caraway Dairy and Egg Products
44 Tyrosine Amino Acids g 1.216 1008 Cheese, caraway Dairy and Egg Products
45 Valine Amino Acids g 1.682 1008 Cheese, caraway Dairy and Egg Products
46 Arginine Amino Acids g 0.952 1008 Cheese, caraway Dairy and Egg Products
47 Histidine Amino Acids g 0.884 1008 Cheese, caraway Dairy and Egg Products
48 Alanine Amino Acids g 0.711 1008 Cheese, caraway Dairy and Egg Products
49 Aspartic acid Amino Acids g 1.618 1008 Cheese, caraway Dairy and Egg Products
50 Glutamic acid Amino Acids g 6.160 1008 Cheese, caraway Dairy and Egg Products
51 Glycine Amino Acids g 0.439 1008 Cheese, caraway Dairy and Egg Products
52 Proline Amino Acids g 2.838 1008 Cheese, caraway Dairy and Egg Products
53 Serine Amino Acids g 1.472 1008 Cheese, caraway Dairy and Egg Products
54 Protein Composition g 24.900 1009 Cheese, cheddar Dairy and Egg Products
55 Total lipid (fat) Composition g 33.140 1009 Cheese, cheddar Dairy and Egg Products
56 Carbohydrate, by difference Composition g 1.280 1009 Cheese, cheddar Dairy and Egg Products
57 Ash Other g 3.930 1009 Cheese, cheddar Dairy and Egg Products
58 Energy Energy kcal 403.000 1009 Cheese, cheddar Dairy and Egg Products
59 Sucrose Sugars g 0.240 1009 Cheese, cheddar Dairy and Egg Products
........................
\n", "

375176 rows \u00d7 8 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ " nutrient nutgroup units value id \\\n", "0 Protein Composition g 25.180 1008 \n", "1 Total lipid (fat) Composition g 29.200 1008 \n", "2 Carbohydrate, by difference Composition g 3.060 1008 \n", "3 Ash Other g 3.280 1008 \n", "4 Energy Energy kcal 376.000 1008 \n", "5 Water Composition g 39.280 1008 \n", "6 Energy Energy kJ 1573.000 1008 \n", "7 Fiber, total dietary Composition g 0.000 1008 \n", "8 Calcium, Ca Elements mg 673.000 1008 \n", "9 Iron, Fe Elements mg 0.640 1008 \n", "10 Magnesium, Mg Elements mg 22.000 1008 \n", "11 Phosphorus, P Elements mg 490.000 1008 \n", "12 Potassium, K Elements mg 93.000 1008 \n", "13 Sodium, Na Elements mg 690.000 1008 \n", "14 Zinc, Zn Elements mg 2.940 1008 \n", "15 Copper, Cu Elements mg 0.024 1008 \n", "16 Manganese, Mn Elements mg 0.021 1008 \n", "17 Selenium, Se Elements mcg 14.500 1008 \n", "18 Vitamin A, IU Vitamins IU 1054.000 1008 \n", "19 Retinol Vitamins mcg 262.000 1008 \n", "20 Vitamin A, RAE Vitamins mcg_RAE 271.000 1008 \n", "21 Vitamin C, total ascorbic acid Vitamins mg 0.000 1008 \n", "22 Thiamin Vitamins mg 0.031 1008 \n", "23 Riboflavin Vitamins mg 0.450 1008 \n", "24 Niacin Vitamins mg 0.180 1008 \n", "25 Pantothenic acid Vitamins mg 0.190 1008 \n", "26 Vitamin B-6 Vitamins mg 0.074 1008 \n", "27 Folate, total Vitamins mcg 18.000 1008 \n", "28 Vitamin B-12 Vitamins mcg 0.270 1008 \n", "29 Folic acid Vitamins mcg 0.000 1008 \n", "30 Folate, food Vitamins mcg 18.000 1008 \n", "31 Folate, DFE Vitamins mcg_DFE 18.000 1008 \n", "32 Cholesterol Other mg 93.000 1008 \n", "33 Fatty acids, total saturated Other g 18.584 1008 \n", "34 Fatty acids, total monounsaturated Other g 8.275 1008 \n", "35 Fatty acids, total polyunsaturated Other g 0.830 1008 \n", "36 Tryptophan Amino Acids g 0.324 1008 \n", "37 Threonine Amino Acids g 0.896 1008 \n", "38 Isoleucine Amino Acids g 1.563 1008 \n", "39 Leucine Amino Acids g 2.412 1008 \n", "40 Lysine Amino Acids g 2.095 1008 \n", "41 Methionine Amino Acids g 0.659 1008 \n", "42 Cystine Amino Acids g 0.126 1008 \n", "43 Phenylalanine Amino Acids g 1.326 1008 \n", "44 Tyrosine Amino Acids g 1.216 1008 \n", "45 Valine Amino Acids g 1.682 1008 \n", "46 Arginine Amino Acids g 0.952 1008 \n", "47 Histidine Amino Acids g 0.884 1008 \n", "48 Alanine Amino Acids g 0.711 1008 \n", "49 Aspartic acid Amino Acids g 1.618 1008 \n", "50 Glutamic acid Amino Acids g 6.160 1008 \n", "51 Glycine Amino Acids g 0.439 1008 \n", "52 Proline Amino Acids g 2.838 1008 \n", "53 Serine Amino Acids g 1.472 1008 \n", "54 Protein Composition g 24.900 1009 \n", "55 Total lipid (fat) Composition g 33.140 1009 \n", "56 Carbohydrate, by difference Composition g 1.280 1009 \n", "57 Ash Other g 3.930 1009 \n", "58 Energy Energy kcal 403.000 1009 \n", "59 Sucrose Sugars g 0.240 1009 \n", " ... ... ... ... ... \n", "\n", " food fgroup manufacturer \n", "0 Cheese, caraway Dairy and Egg Products \n", "1 Cheese, caraway Dairy and Egg Products \n", "2 Cheese, caraway Dairy and Egg Products \n", "3 Cheese, caraway Dairy and Egg Products \n", "4 Cheese, caraway Dairy and Egg Products \n", "5 Cheese, caraway Dairy and Egg Products \n", "6 Cheese, caraway Dairy and Egg Products \n", "7 Cheese, caraway Dairy and Egg Products \n", "8 Cheese, caraway Dairy and Egg Products \n", "9 Cheese, caraway Dairy and Egg Products \n", "10 Cheese, caraway Dairy and Egg Products \n", "11 Cheese, caraway Dairy and Egg Products \n", "12 Cheese, caraway Dairy and Egg Products \n", "13 Cheese, caraway Dairy and Egg Products \n", "14 Cheese, caraway Dairy and Egg Products \n", "15 Cheese, caraway Dairy and Egg Products \n", "16 Cheese, caraway Dairy and Egg Products \n", "17 Cheese, caraway Dairy and Egg Products \n", "18 Cheese, caraway Dairy and Egg Products \n", "19 Cheese, caraway Dairy and Egg Products \n", "20 Cheese, caraway Dairy and Egg Products \n", "21 Cheese, caraway Dairy and Egg Products \n", "22 Cheese, caraway Dairy and Egg Products \n", "23 Cheese, caraway Dairy and Egg Products \n", "24 Cheese, caraway Dairy and Egg Products \n", "25 Cheese, caraway Dairy and Egg Products \n", "26 Cheese, caraway Dairy and Egg Products \n", "27 Cheese, caraway Dairy and Egg Products \n", "28 Cheese, caraway Dairy and Egg Products \n", "29 Cheese, caraway Dairy and Egg Products \n", "30 Cheese, caraway Dairy and Egg Products \n", "31 Cheese, caraway Dairy and Egg Products \n", "32 Cheese, caraway Dairy and Egg Products \n", "33 Cheese, caraway Dairy and Egg Products \n", "34 Cheese, caraway Dairy and Egg Products \n", "35 Cheese, caraway Dairy and Egg Products \n", "36 Cheese, caraway Dairy and Egg Products \n", "37 Cheese, caraway Dairy and Egg Products \n", "38 Cheese, caraway Dairy and Egg Products \n", "39 Cheese, caraway Dairy and Egg Products \n", "40 Cheese, caraway Dairy and Egg Products \n", "41 Cheese, caraway Dairy and Egg Products \n", "42 Cheese, caraway Dairy and Egg Products \n", "43 Cheese, caraway Dairy and Egg Products \n", "44 Cheese, caraway Dairy and Egg Products \n", "45 Cheese, caraway Dairy and Egg Products \n", "46 Cheese, caraway Dairy and Egg Products \n", "47 Cheese, caraway Dairy and Egg Products \n", "48 Cheese, caraway Dairy and Egg Products \n", "49 Cheese, caraway Dairy and Egg Products \n", "50 Cheese, caraway Dairy and Egg Products \n", "51 Cheese, caraway Dairy and Egg Products \n", "52 Cheese, caraway Dairy and Egg Products \n", "53 Cheese, caraway Dairy and Egg Products \n", "54 Cheese, cheddar Dairy and Egg Products \n", "55 Cheese, cheddar Dairy and Egg Products \n", "56 Cheese, cheddar Dairy and Egg Products \n", "57 Cheese, cheddar Dairy and Egg Products \n", "58 Cheese, cheddar Dairy and Egg Products \n", "59 Cheese, cheddar Dairy and Egg Products \n", " ... ... ... \n", "\n", "[375176 rows x 8 columns]" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "ndata.ix[30000]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "nutrient Glycine\n", "nutgroup Amino Acids\n", "units g\n", "value 0.04\n", "id 6158\n", "food Soup, tomato bisque, canned, condensed\n", "fgroup Soups, Sauces, and Gravies\n", "manufacturer \n", "Name: 30000, dtype: object" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "step 5. \uc2dc\uac01\ud654 " ] }, { "cell_type": "raw", "metadata": {}, "source": [ "- \uc74c\uc2dd \uadf8\ub8f9\uacfc \uc601\uc591\uc18c\uc758 \uc885\ub958\ubcc4 \uc911\uac04 \uac12 \uadf8\ub798\ud504 : Zinc\ub098 Zn \uc601\uc591\uc18c \ucc3e\uc544\ubcf4\uc790" ] }, { "cell_type": "code", "collapsed": false, "input": [ "result = ndata.groupby(['nutrient', 'fgroup'])['value'].quantile(0.5)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "result['Zinc, Zn'].order().plot(kind='barh')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n/wFTeGvpk+gxoAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "raw", "metadata": {}, "source": [ "- \uac01 \uc601\uc591\uc18c\uac00 \uc5b4\ub5a4 \uc74c\uc2dd\uc5d0 \ub9ce\uc774 \ub4e4\uc5b4\uac14\ub294\uac00? : Amino Acids(\uc544\ubbf8\ub178\uc0b0) \uc608\uc81c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "by_nutrient = ndata.groupby(['nutgroup', 'nutrient'])\n", "\n", "get_maximum = lambda x: x.xs(x.value.idxmax())\n", "get_minimum = lambda x: x.xs(x.value.idxmin())\n", "\n", "max_foods = by_nutrient.apply(get_maximum)[['value', 'food']]\n", "\n", "max_foods.food = max_foods.food.str[:50]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "max_foods.ix['Amino Acids']['food']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 23, "text": [ "nutrient\n", "Alanine Gelatins, dry powder, unsweetened\n", "Arginine Seeds, sesame flour, low-fat\n", "Aspartic acid Soy protein isolate\n", "Cystine Seeds, cottonseed flour, low fat (glandless)\n", "Glutamic acid Soy protein isolate\n", "Glycine Gelatins, dry powder, unsweetened\n", "Histidine Whale, beluga, meat, dried (Alaska Native)\n", "Hydroxyproline KENTUCKY FRIED CHICKEN, Fried Chicken, ORIGINA...\n", "Isoleucine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Leucine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Lysine Seal, bearded (Oogruk), meat, dried (Alaska Na...\n", "Methionine Fish, cod, Atlantic, dried and salted\n", "Phenylalanine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Proline Gelatins, dry powder, unsweetened\n", "Serine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Threonine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Tryptophan Sea lion, Steller, meat with fat (Alaska Native)\n", "Tyrosine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Valine Soy protein isolate, PROTEIN TECHNOLOGIES INTE...\n", "Name: food, dtype: object" ] } ], "prompt_number": 23 } ], "metadata": {} } ] }