Skip to content

Instantly share code, notes, and snippets.

@jalexandre0
Last active October 29, 2017 14:34
Show Gist options
  • Save jalexandre0/aa67d17ef82ea7ec0482fa1701c6582f to your computer and use it in GitHub Desktop.
Save jalexandre0/aa67d17ef82ea7ec0482fa1701c6582f to your computer and use it in GitHub Desktop.
Experimental data analysis on brewersfriend recipe database. Work in progress
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Homebrew Recipes Exploratory Data Analysis \n",
"\n",
"This is a pet project without any comercial or business interest. Anyway, I, as a homebrewer and data science enthusiast, have a lots of unansewerd questions about ammateur craft beer: \n",
"\n",
"#### How many fermentables people are prone to use?\n",
"#### What the biggest OG beer recipe available? \n",
"#### Is possible to use a recipe database to design a perfect IPA? \n",
"#### Can I use info about winning recipes to craft my own winning award beers? How are the chances of my recipe?\n",
"#### How \"Not your (father|mother|nephew|uncle) IPA\" we have here? \n",
"#### How many brewers name your beers with \"clone\" word?\n",
"#### Mostly used hops/malts combination? \n",
"#### How many '(tottaly) awesome (recipe|beer|bier) we have here?\n",
"\n",
"To awswer that and other questions, I scrapped, parsed and cleaned about 65 toushand recipes from www.brewersfriend.com site, and now we have a very enjoyable dataset. \n",
"\n",
"Lets do some exploratory analysis on the amazing craft beer scene. :D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Understanding the data\n",
"\n",
"All these recipes are scrapped from www.brewersfriend.com site. After look the HTML of my own recipes, I notice a JSON-object recipe inside the HTML. \n",
"\n",
"I design a script to download and extract JSON information. After a couple of days, the 65K recipes are waiting in my hard drive. Le"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lets start importing 'data science workbench' "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import os, os.path\n",
"import pandas as pd\n",
"import numpy as np\n",
"import json\n",
"from pprint import pprint\n",
"import glob\n",
"import csv\n",
"import matplotlib.pyplot as plt\n",
"\n",
"%matplotlib inline "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### How many files we have?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"65267\r\n"
]
}
],
"source": [
"# Easiest way to count files things in unix\n",
"!ls ./recipes/*.json | wc -l"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### How the JSON File looks like?"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'batchsizeunit': 'gallons',\n",
" 'fermentables': [{'0': '395538',\n",
" '1': '2208',\n",
" '10': '3',\n",
" '11': '37',\n",
" '12': '0',\n",
" '13': '1',\n",
" '14': '0',\n",
" '15': '2012-11-17 07:16:50',\n",
" '16': '2012-11-17 07:16:50',\n",
" '2': '142',\n",
" '3': None,\n",
" '4': '0',\n",
" '5': 'Golden Promise',\n",
" '6': '8.25',\n",
" '7': 'lb',\n",
" '8': 'Grain',\n",
" '9': 'United Kingdom',\n",
" 'amount': '8.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'diastatic': '0',\n",
" 'fermentableid': '142',\n",
" 'inventoryid': None,\n",
" 'lateaddition': '0',\n",
" 'lovibond': '3',\n",
" 'mashable': '1',\n",
" 'name': 'Golden Promise',\n",
" 'percent_weight': 84.6,\n",
" 'position': '0',\n",
" 'ppg': '37',\n",
" 'unit': 'lb'},\n",
" {'0': '395539',\n",
" '1': '2208',\n",
" '10': '160',\n",
" '11': '33',\n",
" '12': '0',\n",
" '13': '1',\n",
" '14': '0',\n",
" '15': '2012-11-17 07:16:50',\n",
" '16': '2012-11-17 07:16:50',\n",
" '2': '140',\n",
" '3': None,\n",
" '4': '1',\n",
" '5': 'Extra Dark Crystal 160L',\n",
" '6': '0.25',\n",
" '7': 'lb',\n",
" '8': 'Grain',\n",
" '9': 'United Kingdom',\n",
" 'amount': '0.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'diastatic': '0',\n",
" 'fermentableid': '140',\n",
" 'inventoryid': None,\n",
" 'lateaddition': '0',\n",
" 'lovibond': '160',\n",
" 'mashable': '1',\n",
" 'name': 'Extra Dark Crystal 160L',\n",
" 'percent_weight': 2.6,\n",
" 'position': '1',\n",
" 'ppg': '33',\n",
" 'unit': 'lb'},\n",
" {'0': '395540',\n",
" '1': '2208',\n",
" '10': '0.5',\n",
" '11': '46',\n",
" '12': '0',\n",
" '13': '0',\n",
" '14': '1',\n",
" '15': '2012-11-17 07:16:50',\n",
" '16': '2012-11-17 07:16:50',\n",
" '2': '173',\n",
" '3': None,\n",
" '4': '2',\n",
" '5': 'Corn Sugar - Dextrose ',\n",
" '6': '1.25',\n",
" '7': 'lb',\n",
" '8': 'Sugar',\n",
" '9': None,\n",
" 'amount': '1.25',\n",
" 'category': 'Sugar',\n",
" 'country': None,\n",
" 'diastatic': '0',\n",
" 'fermentableid': '173',\n",
" 'inventoryid': None,\n",
" 'lateaddition': '1',\n",
" 'lovibond': '0.5',\n",
" 'mashable': '0',\n",
" 'name': 'Corn Sugar - Dextrose ',\n",
" 'percent_weight': 12.8,\n",
" 'position': '2',\n",
" 'ppg': '46',\n",
" 'unit': 'lb'}],\n",
" 'hops': [{'0': '356804',\n",
" '1': '2208',\n",
" '10': 'g',\n",
" '11': '60',\n",
" '12': None,\n",
" '13': None,\n",
" '14': '2012-11-17 07:16:50',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '24',\n",
" '3': '0',\n",
" '4': 'Fuggles',\n",
" '5': 'Leaf/Whole',\n",
" '6': '5.2',\n",
" '7': None,\n",
" '8': 'Boil',\n",
" '9': '26',\n",
" 'aa': '5.2',\n",
" 'amount': '26',\n",
" 'hopstand_temp': None,\n",
" 'hopstand_utilization': None,\n",
" 'hoptime': '60',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'hopuse': 'Boil',\n",
" 'ibu': None,\n",
" 'name': 'Fuggles',\n",
" 'position': '0',\n",
" 'unit': 'g'},\n",
" {'0': '356805',\n",
" '1': '2208',\n",
" '10': 'g',\n",
" '11': '30',\n",
" '12': None,\n",
" '13': None,\n",
" '14': '2012-11-17 07:16:50',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '34',\n",
" '3': '1',\n",
" '4': 'Kent Goldings',\n",
" '5': 'Leaf/Whole',\n",
" '6': '6.3',\n",
" '7': None,\n",
" '8': 'Boil',\n",
" '9': '26',\n",
" 'aa': '6.3',\n",
" 'amount': '26',\n",
" 'hopstand_temp': None,\n",
" 'hopstand_utilization': None,\n",
" 'hoptime': '30',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'hopuse': 'Boil',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'position': '1',\n",
" 'unit': 'g'},\n",
" {'0': '356806',\n",
" '1': '2208',\n",
" '10': 'g',\n",
" '11': '10',\n",
" '12': None,\n",
" '13': None,\n",
" '14': '2012-11-17 07:16:50',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '34',\n",
" '3': '2',\n",
" '4': 'Kent Goldings',\n",
" '5': 'Leaf/Whole',\n",
" '6': '6.3',\n",
" '7': None,\n",
" '8': 'Boil',\n",
" '9': '26',\n",
" 'aa': '6.3',\n",
" 'amount': '26',\n",
" 'hopstand_temp': None,\n",
" 'hopstand_utilization': None,\n",
" 'hoptime': '10',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'hopuse': 'Boil',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'position': '2',\n",
" 'unit': 'g'}],\n",
" 'hopsSummary': [{'0': '26',\n",
" '1': 'Fuggles',\n",
" '2': 'Leaf/Whole',\n",
" '3': '5.2',\n",
" '4': 'g',\n",
" 'aa': '5.2',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'name': 'Fuggles',\n",
" 'totalAmount': '26',\n",
" 'unit': 'g'},\n",
" {'0': '52',\n",
" '1': 'Kent Goldings',\n",
" '2': 'Leaf/Whole',\n",
" '3': '6.3',\n",
" '4': 'g',\n",
" 'aa': '6.3',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'name': 'Kent Goldings',\n",
" 'totalAmount': '52',\n",
" 'unit': 'g'}],\n",
" 'mashamountunit': 'qt',\n",
" 'mashsteps': [],\n",
" 'masterGrainUnit': 'lb',\n",
" 'message': 'success',\n",
" 'others': [],\n",
" 'recipe': {'0': '2208',\n",
" '1': '4f3315678b739',\n",
" '10': '8',\n",
" '11': '90',\n",
" '12': None,\n",
" '13': '66',\n",
" '14': 'us',\n",
" '15': None,\n",
" '16': 'sg',\n",
" '17': '1.044',\n",
" '18': '1.011',\n",
" '19': '4.28',\n",
" '2': '455',\n",
" '20': '40.44',\n",
" '21': '35.52',\n",
" '22': '7.68',\n",
" '23': '10.58',\n",
" '24': '7.97',\n",
" '25': '15.13',\n",
" '26': 'standard',\n",
" '27': 'rager',\n",
" '28': 'morey',\n",
" '29': None,\n",
" '3': 'Clone - Landlord',\n",
" '30': '0',\n",
" '31': '0',\n",
" '32': '0',\n",
" '33': '0',\n",
" '34': '0',\n",
" '35': '0',\n",
" '36': '0',\n",
" '37': None,\n",
" '38': '74% Att - 4.20% ABV',\n",
" '39': '0',\n",
" '4': None,\n",
" '40': '1',\n",
" '41': None,\n",
" '42': None,\n",
" '43': None,\n",
" '44': None,\n",
" '45': None,\n",
" '46': None,\n",
" '47': '-1',\n",
" '48': None,\n",
" '49': None,\n",
" '5': 'David Schatschneider',\n",
" '50': None,\n",
" '51': None,\n",
" '52': '1',\n",
" '53': '1',\n",
" '54': '0',\n",
" '55': '0',\n",
" '56': None,\n",
" '57': '0',\n",
" '58': '2624',\n",
" '59': '3',\n",
" '6': 'allgrain',\n",
" '60': '2013-02-06 19:09:19',\n",
" '61': '2012-02-09 00:37:59',\n",
" '62': None,\n",
" '63': None,\n",
" '64': None,\n",
" '65': None,\n",
" '66': '0',\n",
" '67': 'Special/Best/Premium Bitter',\n",
" '68': 'English Pale Ale',\n",
" '69': 'English Pale Ale',\n",
" '7': '27',\n",
" '70': '8',\n",
" '71': 'B',\n",
" '72': 'Ale',\n",
" '73': '1.04',\n",
" '74': '1.048',\n",
" '75': '1.008',\n",
" '76': '1.012',\n",
" '77': '3.8',\n",
" '78': '4.6',\n",
" '79': '25',\n",
" '8': '6',\n",
" '80': '40',\n",
" '81': '5',\n",
" '82': '16',\n",
" '83': 'Shatinator',\n",
" '84': '2012_11/455_x4t5k4dpqx_sm.jpg',\n",
" '85': '2012_11/455_x4t5k4dpqx_lg.jpg',\n",
" '86': 'active',\n",
" '87': 'public',\n",
" '88': None,\n",
" '89': None,\n",
" '9': 'f',\n",
" 'abv': '4.28',\n",
" 'abvequation': 'standard',\n",
" 'abvhigh': '4.6',\n",
" 'abvlow': '3.8',\n",
" 'author': 'David Schatschneider',\n",
" 'avatar': '2012_11/455_x4t5k4dpqx_sm.jpg',\n",
" 'avatar_large': '2012_11/455_x4t5k4dpqx_lg.jpg',\n",
" 'avatarstatus': 'active',\n",
" 'average_rating': None,\n",
" 'awardwinning': '0',\n",
" 'batch_size_mode': 'f',\n",
" 'batchsize': '6',\n",
" 'beerXML': None,\n",
" 'boilgravity': None,\n",
" 'boilsize': '8',\n",
" 'boiltime': '90',\n",
" 'brewcount': '3',\n",
" 'brewmethod': 'allgrain',\n",
" 'brewprint_id': None,\n",
" 'ca2': '0',\n",
" 'categoryletter': 'B',\n",
" 'categorynumber': '8',\n",
" 'cl': '0',\n",
" 'co2level': None,\n",
" 'co2unit': None,\n",
" 'displayunits': 'us',\n",
" 'efficiency': '66',\n",
" 'equipment_profile_id': '-1',\n",
" 'fg': '1.011',\n",
" 'fghigh': '1.012',\n",
" 'fglow': '1.008',\n",
" 'folder_id': None,\n",
" 'hco3': '0',\n",
" 'hop_utilization_factor': None,\n",
" 'ibuequation': 'rager',\n",
" 'ibuhigh': '40',\n",
" 'ibulow': '25',\n",
" 'iburager': '35.52',\n",
" 'ibutinseth': '40.44',\n",
" 'id': '2208',\n",
" 'just_imported': '0',\n",
" 'mash_thickness': None,\n",
" 'mg2': '0',\n",
" 'na': '0',\n",
" 'nochillextraminutes': None,\n",
" 'notes': '74% Att - 4.20% ABV',\n",
" 'og': '1.044',\n",
" 'oghigh': '1.048',\n",
" 'oglow': '1.04',\n",
" 'pitchrate': None,\n",
" 'primary_temp': None,\n",
" 'primingamount': None,\n",
" 'primingmethod': None,\n",
" 'profilestatus': 'public',\n",
" 'public': '1',\n",
" 'recipeViewUrl': 'https://www.brewersfriend.com/homebrew/recipe/view/2208/clone-landlord',\n",
" 'recipeparent_brewer_author_id': None,\n",
" 'recipeparent_public': None,\n",
" 'recipetoken': '4f3315678b739',\n",
" 'screenname': 'Shatinator',\n",
" 'searchable': '1',\n",
" 'share_following': '0',\n",
" 'snapshot': '0',\n",
" 'so4': '0',\n",
" 'srmdaniels': '10.58',\n",
" 'srmecbmorey': '15.13',\n",
" 'srmequation': 'morey',\n",
" 'srmhigh': '16',\n",
" 'srmlow': '5',\n",
" 'srmmorey': '7.68',\n",
" 'srmmosher': '7.97',\n",
" 'stylecategory': 'English Pale Ale',\n",
" 'stylename': 'Special/Best/Premium Bitter',\n",
" 'styletype': 'Ale',\n",
" 'sugar_scale': 'sg',\n",
" 'title': 'Clone - Landlord',\n",
" 'total_rating': None,\n",
" 'total_ratings': None,\n",
" 'updated_at': '2013-02-06 19:09:19',\n",
" 'url': None,\n",
" 'waternotes': None,\n",
" 'waterprofile': None,\n",
" 'waterprofile_custom': '0',\n",
" 'yeaststarter': '1'},\n",
" 'recipeEditPermission': False,\n",
" 'steepinggrains': [],\n",
" 'tempunit': 'F',\n",
" 'yeasts': [{'0': '103908',\n",
" '1': '2208',\n",
" '10': 'Wyeast',\n",
" '11': '1469',\n",
" '12': '72',\n",
" '13': '64',\n",
" '14': '2012-12-14 07:28:19',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '148',\n",
" '3': '1',\n",
" '4': 'West Yorkshire 1469',\n",
" '5': 'Liquid',\n",
" '6': 'Ale',\n",
" '7': 'High',\n",
" '8': '74',\n",
" '9': '1',\n",
" 'attenuation': '74',\n",
" 'custom_attenuation': '1',\n",
" 'flocculation': 'High',\n",
" 'form': 'Liquid',\n",
" 'laboratory': 'Wyeast',\n",
" 'maxtemp': '72',\n",
" 'mintemp': '64',\n",
" 'name': 'West Yorkshire 1469',\n",
" 'position': '1',\n",
" 'productid': '1469',\n",
" 'yeastid': '148',\n",
" 'yeasttype': 'Ale'}]}\n"
]
}
],
"source": [
"with open('recipes/2208.json') as data_file: \n",
" data = json.load(data_file)\n",
"\n",
"pprint(data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The ingredients are JSON-Nested. I'll break 'fermentables' apart and inspect first one."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'0': '395538',\n",
" '1': '2208',\n",
" '10': '3',\n",
" '11': '37',\n",
" '12': '0',\n",
" '13': '1',\n",
" '14': '0',\n",
" '15': '2012-11-17 07:16:50',\n",
" '16': '2012-11-17 07:16:50',\n",
" '2': '142',\n",
" '3': None,\n",
" '4': '0',\n",
" '5': 'Golden Promise',\n",
" '6': '8.25',\n",
" '7': 'lb',\n",
" '8': 'Grain',\n",
" '9': 'United Kingdom',\n",
" 'amount': '8.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'diastatic': '0',\n",
" 'fermentableid': '142',\n",
" 'inventoryid': None,\n",
" 'lateaddition': '0',\n",
" 'lovibond': '3',\n",
" 'mashable': '1',\n",
" 'name': 'Golden Promise',\n",
" 'percent_weight': 84.6,\n",
" 'position': '0',\n",
" 'ppg': '37',\n",
" 'unit': 'lb'}\n",
"Total Fermentables: 3\n",
"\n"
]
}
],
"source": [
"pprint(data['fermentables'][0])\n",
"print('Total Fermentables: ' + str(len(data['fermentables'])) + '\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### We have numerical and named indexes. The named ones are useful. Lets extract them."
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'amount': '8.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'lateaddition': '0',\n",
" 'mashable': '1',\n",
" 'name': 'Golden Promise',\n",
" 'percent': 84.6,\n",
" 'ppg': '37',\n",
" 'unit': 'lb'},\n",
" {'amount': '0.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'lateaddition': '0',\n",
" 'mashable': '1',\n",
" 'name': 'Extra Dark Crystal 160L',\n",
" 'percent': 2.6,\n",
" 'ppg': '33',\n",
" 'unit': 'lb'},\n",
" {'amount': '1.25',\n",
" 'category': 'Sugar',\n",
" 'country': None,\n",
" 'lateaddition': '1',\n",
" 'mashable': '0',\n",
" 'name': 'Corn Sugar - Dextrose ',\n",
" 'percent': 12.8,\n",
" 'ppg': '46',\n",
" 'unit': 'lb'}]\n"
]
}
],
"source": [
"def fermentables_to_list():\n",
" f_list = []\n",
" for i in range(len(data['fermentables'])):\n",
" f = {}\n",
" f['name'] = data['fermentables'][i]['name']\n",
" f['percent'] = data['fermentables'][i]['percent_weight']\n",
" f['category'] = data['fermentables'][i]['category']\n",
" f['amount'] = data['fermentables'][i]['amount']\n",
" f['unit'] = data['fermentables'][i]['unit']\n",
" f['mashable'] = data['fermentables'][i]['mashable'] \n",
" f['country'] = data['fermentables'][i]['country']\n",
" f['lateaddition'] = data['fermentables'][i]['lateaddition']\n",
" f['ppg'] = data['fermentables'][i]['ppg']\n",
" f_list.append(f)\n",
" return f_list\n",
"\n",
"pprint(fermentables_to_list())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Hops and yeasts follow the same structure. We will use the previous function, changing only the labels and indexes"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'0': '356804',\n",
" '1': '2208',\n",
" '10': 'g',\n",
" '11': '60',\n",
" '12': None,\n",
" '13': None,\n",
" '14': '2012-11-17 07:16:50',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '24',\n",
" '3': '0',\n",
" '4': 'Fuggles',\n",
" '5': 'Leaf/Whole',\n",
" '6': '5.2',\n",
" '7': None,\n",
" '8': 'Boil',\n",
" '9': '26',\n",
" 'aa': '5.2',\n",
" 'amount': '26',\n",
" 'hopstand_temp': None,\n",
" 'hopstand_utilization': None,\n",
" 'hoptime': '60',\n",
" 'hoptype': 'Leaf/Whole',\n",
" 'hopuse': 'Boil',\n",
" 'ibu': None,\n",
" 'name': 'Fuggles',\n",
" 'position': '0',\n",
" 'unit': 'g'}\n",
"Total Hops: 3\n",
"\n"
]
}
],
"source": [
"pprint(data['hops'][0])\n",
"print('Total Hops: ' + str(len(data['hops'])) + '\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Again, I will repeat a function to extract hops and put them into a list"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'aa': '5.2',\n",
" 'addition': '0',\n",
" 'amount': '26',\n",
" 'hoptime': '60',\n",
" 'ibu': None,\n",
" 'name': 'Fuggles',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'},\n",
" {'aa': '6.3',\n",
" 'addition': '1',\n",
" 'amount': '26',\n",
" 'hoptime': '30',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'},\n",
" {'aa': '6.3',\n",
" 'addition': '2',\n",
" 'amount': '26',\n",
" 'hoptime': '10',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'}]\n"
]
}
],
"source": [
"def hops_to_list():\n",
" h_list = []\n",
" for i in range(len(data['hops'])):\n",
" h = {}\n",
" h['name'] = data['hops'][i]['name'] \n",
" h['type'] = data['hops'][i]['hoptype']\n",
" h['amount'] = data['hops'][i]['amount']\n",
" h['unit'] = data['hops'][i]['unit']\n",
" h['hoptime'] = data['hops'][i]['hoptime']\n",
" h['use'] = data['hops'][i]['hopuse']\n",
" h['aa'] = data['hops'][i]['aa']\n",
" h['ibu'] = data['hops'][i]['ibu']\n",
" h['addition'] = data['hops'][i]['position']\n",
" h_list.append(h)\n",
" return h_list\n",
"\n",
"pprint(hops_to_list())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Same process to yeast. Look and extract useful information"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'0': '103908',\n",
" '1': '2208',\n",
" '10': 'Wyeast',\n",
" '11': '1469',\n",
" '12': '72',\n",
" '13': '64',\n",
" '14': '2012-12-14 07:28:19',\n",
" '15': '2012-11-17 07:16:50',\n",
" '2': '148',\n",
" '3': '1',\n",
" '4': 'West Yorkshire 1469',\n",
" '5': 'Liquid',\n",
" '6': 'Ale',\n",
" '7': 'High',\n",
" '8': '74',\n",
" '9': '1',\n",
" 'attenuation': '74',\n",
" 'custom_attenuation': '1',\n",
" 'flocculation': 'High',\n",
" 'form': 'Liquid',\n",
" 'laboratory': 'Wyeast',\n",
" 'maxtemp': '72',\n",
" 'mintemp': '64',\n",
" 'name': 'West Yorkshire 1469',\n",
" 'position': '1',\n",
" 'productid': '1469',\n",
" 'yeastid': '148',\n",
" 'yeasttype': 'Ale'}\n"
]
}
],
"source": [
"pprint(data['yeasts'][0])"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{'att': '74',\n",
" 'floc': 'High',\n",
" 'form': 'Liquid',\n",
" 'lab': 'Wyeast',\n",
" 'maxtemp': '72',\n",
" 'mintemp': '64',\n",
" 'name': 'West Yorkshire 1469',\n",
" 'tempunit': 'F'}]\n"
]
}
],
"source": [
"def yeasts_to_list():\n",
" y_list = []\n",
" for i in range(len(data['yeasts'])):\n",
" y ={}\n",
" y['name'] = data['yeasts'][i]['name'] \n",
" y['form'] = data['yeasts'][i]['form']\n",
" y['floc'] = data['yeasts'][i]['flocculation']\n",
" y['att'] = data['yeasts'][i]['attenuation']\n",
" y['lab'] = data['yeasts'][i]['laboratory']\n",
" y['mintemp'] = data['yeasts'][i]['mintemp']\n",
" y['maxtemp'] = data['yeasts'][i]['maxtemp']\n",
" y['tempunit'] = data['tempunit']\n",
" y_list.append(y)\n",
" return y_list\n",
"\n",
"pprint(yeasts_to_list())"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### Lets look at recipe"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'0': '2208',\n",
" '1': '4f3315678b739',\n",
" '10': '8',\n",
" '11': '90',\n",
" '12': None,\n",
" '13': '66',\n",
" '14': 'us',\n",
" '15': None,\n",
" '16': 'sg',\n",
" '17': '1.044',\n",
" '18': '1.011',\n",
" '19': '4.28',\n",
" '2': '455',\n",
" '20': '40.44',\n",
" '21': '35.52',\n",
" '22': '7.68',\n",
" '23': '10.58',\n",
" '24': '7.97',\n",
" '25': '15.13',\n",
" '26': 'standard',\n",
" '27': 'rager',\n",
" '28': 'morey',\n",
" '29': None,\n",
" '3': 'Clone - Landlord',\n",
" '30': '0',\n",
" '31': '0',\n",
" '32': '0',\n",
" '33': '0',\n",
" '34': '0',\n",
" '35': '0',\n",
" '36': '0',\n",
" '37': None,\n",
" '38': '74% Att - 4.20% ABV',\n",
" '39': '0',\n",
" '4': None,\n",
" '40': '1',\n",
" '41': None,\n",
" '42': None,\n",
" '43': None,\n",
" '44': None,\n",
" '45': None,\n",
" '46': None,\n",
" '47': '-1',\n",
" '48': None,\n",
" '49': None,\n",
" '5': 'David Schatschneider',\n",
" '50': None,\n",
" '51': None,\n",
" '52': '1',\n",
" '53': '1',\n",
" '54': '0',\n",
" '55': '0',\n",
" '56': None,\n",
" '57': '0',\n",
" '58': '2624',\n",
" '59': '3',\n",
" '6': 'allgrain',\n",
" '60': '2013-02-06 19:09:19',\n",
" '61': '2012-02-09 00:37:59',\n",
" '62': None,\n",
" '63': None,\n",
" '64': None,\n",
" '65': None,\n",
" '66': '0',\n",
" '67': 'Special/Best/Premium Bitter',\n",
" '68': 'English Pale Ale',\n",
" '69': 'English Pale Ale',\n",
" '7': '27',\n",
" '70': '8',\n",
" '71': 'B',\n",
" '72': 'Ale',\n",
" '73': '1.04',\n",
" '74': '1.048',\n",
" '75': '1.008',\n",
" '76': '1.012',\n",
" '77': '3.8',\n",
" '78': '4.6',\n",
" '79': '25',\n",
" '8': '6',\n",
" '80': '40',\n",
" '81': '5',\n",
" '82': '16',\n",
" '83': 'Shatinator',\n",
" '84': '2012_11/455_x4t5k4dpqx_sm.jpg',\n",
" '85': '2012_11/455_x4t5k4dpqx_lg.jpg',\n",
" '86': 'active',\n",
" '87': 'public',\n",
" '88': None,\n",
" '89': None,\n",
" '9': 'f',\n",
" 'abv': '4.28',\n",
" 'abvequation': 'standard',\n",
" 'abvhigh': '4.6',\n",
" 'abvlow': '3.8',\n",
" 'author': 'David Schatschneider',\n",
" 'avatar': '2012_11/455_x4t5k4dpqx_sm.jpg',\n",
" 'avatar_large': '2012_11/455_x4t5k4dpqx_lg.jpg',\n",
" 'avatarstatus': 'active',\n",
" 'average_rating': None,\n",
" 'awardwinning': '0',\n",
" 'batch_size_mode': 'f',\n",
" 'batchsize': '6',\n",
" 'beerXML': None,\n",
" 'boilgravity': None,\n",
" 'boilsize': '8',\n",
" 'boiltime': '90',\n",
" 'brewcount': '3',\n",
" 'brewmethod': 'allgrain',\n",
" 'brewprint_id': None,\n",
" 'ca2': '0',\n",
" 'categoryletter': 'B',\n",
" 'categorynumber': '8',\n",
" 'cl': '0',\n",
" 'co2level': None,\n",
" 'co2unit': None,\n",
" 'displayunits': 'us',\n",
" 'efficiency': '66',\n",
" 'equipment_profile_id': '-1',\n",
" 'fg': '1.011',\n",
" 'fghigh': '1.012',\n",
" 'fglow': '1.008',\n",
" 'folder_id': None,\n",
" 'hco3': '0',\n",
" 'hop_utilization_factor': None,\n",
" 'ibuequation': 'rager',\n",
" 'ibuhigh': '40',\n",
" 'ibulow': '25',\n",
" 'iburager': '35.52',\n",
" 'ibutinseth': '40.44',\n",
" 'id': '2208',\n",
" 'just_imported': '0',\n",
" 'mash_thickness': None,\n",
" 'mg2': '0',\n",
" 'na': '0',\n",
" 'nochillextraminutes': None,\n",
" 'notes': '74% Att - 4.20% ABV',\n",
" 'og': '1.044',\n",
" 'oghigh': '1.048',\n",
" 'oglow': '1.04',\n",
" 'pitchrate': None,\n",
" 'primary_temp': None,\n",
" 'primingamount': None,\n",
" 'primingmethod': None,\n",
" 'profilestatus': 'public',\n",
" 'public': '1',\n",
" 'recipeViewUrl': 'https://www.brewersfriend.com/homebrew/recipe/view/2208/clone-landlord',\n",
" 'recipeparent_brewer_author_id': None,\n",
" 'recipeparent_public': None,\n",
" 'recipetoken': '4f3315678b739',\n",
" 'screenname': 'Shatinator',\n",
" 'searchable': '1',\n",
" 'share_following': '0',\n",
" 'snapshot': '0',\n",
" 'so4': '0',\n",
" 'srmdaniels': '10.58',\n",
" 'srmecbmorey': '15.13',\n",
" 'srmequation': 'morey',\n",
" 'srmhigh': '16',\n",
" 'srmlow': '5',\n",
" 'srmmorey': '7.68',\n",
" 'srmmosher': '7.97',\n",
" 'stylecategory': 'English Pale Ale',\n",
" 'stylename': 'Special/Best/Premium Bitter',\n",
" 'styletype': 'Ale',\n",
" 'sugar_scale': 'sg',\n",
" 'title': 'Clone - Landlord',\n",
" 'total_rating': None,\n",
" 'total_ratings': None,\n",
" 'updated_at': '2013-02-06 19:09:19',\n",
" 'url': None,\n",
" 'waternotes': None,\n",
" 'waterprofile': None,\n",
" 'waterprofile_custom': '0',\n",
" 'yeaststarter': '1'}\n"
]
}
],
"source": [
"pprint(data['recipe'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Confirm extracted recipe (We will work ingrediends later)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Recipe ID 2208\n",
"Name: Clone - Landlord\n",
"Last Update: 2013-02-06 19:09:19\n",
"Award Winning: 0\n",
"Brew Method: allgrain\n",
"Batch Size: 6\n",
"Batch Size Unit: gallons\n",
"Brew Efficiency 66\n",
"ABV: 4.28\n",
"OG: 1.044\n",
"FG: 1.011\n",
"SRM(Morey): 7.68\n",
"IBUs(Tinseth): 40.44\n",
"Yeast Starter: 1\n",
"Style Name: English Pale Ale\n",
"Style Category: Special/Best/Premium Bitter\n",
"Brew Count: 3\n",
"Total Rating: None\n",
"\n",
"Fermentables: [{'name': 'Golden Promise', 'percent': 84.6, 'category': 'Grain', 'amount': '8.25', 'unit': 'lb', 'mashable': '1', 'country': 'United Kingdom', 'lateaddition': '0', 'ppg': '37'}, {'name': 'Extra Dark Crystal 160L', 'percent': 2.6, 'category': 'Grain', 'amount': '0.25', 'unit': 'lb', 'mashable': '1', 'country': 'United Kingdom', 'lateaddition': '0', 'ppg': '33'}, {'name': 'Corn Sugar - Dextrose ', 'percent': 12.8, 'category': 'Sugar', 'amount': '1.25', 'unit': 'lb', 'mashable': '0', 'country': None, 'lateaddition': '1', 'ppg': '46'}]\n",
"\n",
"Hops: [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '60', 'use': 'Boil', 'aa': '5.2', 'ibu': None, 'addition': '0'}, {'name': 'Kent Goldings', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '30', 'use': 'Boil', 'aa': '6.3', 'ibu': None, 'addition': '1'}, {'name': 'Kent Goldings', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '10', 'use': 'Boil', 'aa': '6.3', 'ibu': None, 'addition': '2'}]\n",
"\n",
"Yeasts: [{'name': 'West Yorkshire 1469', 'form': 'Liquid', 'floc': 'High', 'att': '74', 'lab': 'Wyeast', 'mintemp': '64', 'maxtemp': '72', 'tempunit': 'F'}]\n"
]
}
],
"source": [
"print(\"Recipe ID {}\".format(data['recipe']['id']))\n",
"print(\"Name: {}\".format(data['recipe']['title']))\n",
"print(\"Last Update: {}\".format(data['recipe']['updated_at']))\n",
"print(\"Award Winning: {}\".format(data['recipe']['awardwinning']))\n",
"print(\"Brew Method: {}\".format(data['recipe']['brewmethod']))\n",
"print(\"Batch Size: {}\".format(data['recipe']['batchsize']))\n",
"print(\"Batch Size Unit: {}\".format(data['batchsizeunit']))\n",
"print(\"Brew Efficiency {}\".format(data['recipe']['efficiency']))\n",
"print(\"ABV: {}\".format(data['recipe']['abv']))\n",
"print(\"OG: {}\".format(data['recipe']['og']))\n",
"print(\"FG: {}\".format(data['recipe']['fg']))\n",
"print(\"SRM(Morey): {}\".format(data['recipe']['srmmorey']))\n",
"print(\"IBUs(Tinseth): {}\".format(data['recipe']['ibutinseth']))\n",
"print(\"Yeast Starter: {}\".format(data['recipe']['yeaststarter']))\n",
"print(\"Style Name: {}\".format(data['recipe']['stylecategory']))\n",
"print(\"Style Category: {}\".format(data['recipe']['stylename']))\n",
"print(\"Brew Count: {}\".format(data['recipe']['brewcount']))\n",
"print(\"Total Rating: {}\".format(data['recipe']['total_rating']))\n",
"print(\"\")\n",
"print(\"Fermentables: {}\".format(fermentables_to_list()))\n",
"print(\"\")\n",
"print(\"Hops: {}\".format(hops_to_list()))\n",
"print(\"\")\n",
"print(\"Yeasts: {}\".format(yeasts_to_list()))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Write a CSV file with our model (Easier to digest with pandas and not so memory/io hungry) "
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['552250',\n",
" 'Golden Ale 1',\n",
" '2017-10-13 05:56:31',\n",
" '0',\n",
" 'allgrain',\n",
" '9200',\n",
" 'liters',\n",
" '80',\n",
" '4.63',\n",
" '11.541',\n",
" '2.85193',\n",
" 'plato',\n",
" '5.39',\n",
" '20.29',\n",
" '0',\n",
" 'British Golden Ale',\n",
" 'Pale Commonwealth Beer',\n",
" 5,\n",
" 7,\n",
" 1,\n",
" [{'aa': '5.2',\n",
" 'addition': '0',\n",
" 'amount': '26',\n",
" 'hoptime': '60',\n",
" 'ibu': None,\n",
" 'name': 'Fuggles',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'},\n",
" {'aa': '6.3',\n",
" 'addition': '1',\n",
" 'amount': '26',\n",
" 'hoptime': '30',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'},\n",
" {'aa': '6.3',\n",
" 'addition': '2',\n",
" 'amount': '26',\n",
" 'hoptime': '10',\n",
" 'ibu': None,\n",
" 'name': 'Kent Goldings',\n",
" 'type': 'Leaf/Whole',\n",
" 'unit': 'g',\n",
" 'use': 'Boil'}],\n",
" [{'amount': '8.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'lateaddition': '0',\n",
" 'mashable': '1',\n",
" 'name': 'Golden Promise',\n",
" 'percent': 84.6,\n",
" 'ppg': '37',\n",
" 'unit': 'lb'},\n",
" {'amount': '0.25',\n",
" 'category': 'Grain',\n",
" 'country': 'United Kingdom',\n",
" 'lateaddition': '0',\n",
" 'mashable': '1',\n",
" 'name': 'Extra Dark Crystal 160L',\n",
" 'percent': 2.6,\n",
" 'ppg': '33',\n",
" 'unit': 'lb'},\n",
" {'amount': '1.25',\n",
" 'category': 'Sugar',\n",
" 'country': None,\n",
" 'lateaddition': '1',\n",
" 'mashable': '0',\n",
" 'name': 'Corn Sugar - Dextrose ',\n",
" 'percent': 12.8,\n",
" 'ppg': '46',\n",
" 'unit': 'lb'}],\n",
" [{'att': '74',\n",
" 'floc': 'High',\n",
" 'form': 'Liquid',\n",
" 'lab': 'Wyeast',\n",
" 'maxtemp': '72',\n",
" 'mintemp': '64',\n",
" 'name': 'West Yorkshire 1469',\n",
" 'tempunit': 'F'}],\n",
" '0',\n",
" None]"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def modelRecipe(_file):\n",
" handler = open(_file, 'r')\n",
" data = json.load(handler)\n",
" handler.close()\n",
" recipe_id = data['recipe']['id']\n",
" recipe_name = data['recipe']['title'].replace(\";\",\"|\")\n",
" recipe_method = data['recipe']['brewmethod']\n",
" last_update = data['recipe']['updated_at']\n",
" award = data['recipe']['awardwinning']\n",
" rating = data['recipe']['total_rating']\n",
" abv = data['recipe']['abv']\n",
" og = data['recipe']['og']\n",
" fg = data['recipe']['fg']\n",
" sugar_scale = data['recipe']['sugar_scale']\n",
" srm = data['recipe']['srmmorey']\n",
" ibu = data['recipe']['ibutinseth']\n",
" starter = data['recipe']['yeaststarter']\n",
" brewcount = data['recipe']['brewcount']\n",
" style_name = data['recipe']['stylename']\n",
" style_category = data['recipe']['stylecategory']\n",
" batch_size = data['recipe']['batchsize']\n",
" batch_size_unit = data['batchsizeunit']\n",
" batch_efficiency = data['recipe']['efficiency']\n",
" hop_count = len(data['hops'])\n",
" yeast_count = len(data['yeasts'])\n",
" fermentables_count = len(data['fermentables'])\n",
" fermentables = fermentables_to_list()\n",
" hops = hops_to_list()\n",
" yeasts = yeasts_to_list() \n",
" \n",
" recipe = [recipe_id, recipe_name, last_update, award, recipe_method, batch_size, batch_size_unit, \n",
" batch_efficiency, abv, og, fg, sugar_scale ,srm, ibu, starter, style_name, style_category,\n",
" hop_count, fermentables_count, yeast_count, hops, fermentables, yeasts, brewcount, rating]\n",
" \n",
" handler.close()\n",
" return recipe \n",
"\n",
"#Test the output\n",
"#modelRecipe('./recipes/2208.json')\n",
"modelRecipe('./recipes/552250.json')"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def jsonToCsv():\n",
" handler = open('recipes.csv', 'w')\n",
" #write a header to file. It is ugly, but it is easy to read and maintain\n",
" handler.write((\"recipe_id;\" +\n",
" \"recipe_name;\" +\n",
" \"last_update;\" +\n",
" \"award_winning;\" +\n",
" \"brew_method;\" +\n",
" \"batch_size;\" +\n",
" \"batch_size_unit;\" +\n",
" \"efficiency;\" +\n",
" \"abv;\" +\n",
" \"og;\" +\n",
" \"fg;\" +\n",
" \"sugar_scale;\" +\n",
" \"srm;\" +\n",
" \"ibu;\" +\n",
" \"starter;\" +\n",
" \"bjcp_name;\" +\n",
" \"bjcp_category;\" +\n",
" \"total_hops;\" +\n",
" \"total_fermentables;\" +\n",
" \"total_yeasts;\" +\n",
" \"hops;\" +\n",
" \"fermentables;\" +\n",
" \"yeasts;\" +\n",
" \"times_brewed;\" +\n",
" \"rating\"+\n",
" \"\\n\"))\n",
" for f in glob.glob('./recipes/*.json'):\n",
" handler.write(';'.join([str(x) for x in modelRecipe(f)]) + '\\n')\n",
" handler.close()\n",
"\n",
"#Run only once, them comment. \n",
"#jsonToCsv()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### After conversion, we should have a total recipes plus header. Lets check"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total Recipes = 65267\n",
"Total Lines = 65268\n",
"recipe_id;recipe_name;last_update;award_winning;brew_method;batch_size;batch_size_unit;efficiency;abv;og;fg;sugar_scale;srm;ibu;starter;bjcp_name;bjcp_category;total_hops;total_fermentables;total_yeasts;hops;fermentables;yeasts;times_brewed;rating\n",
"380343;JWS IPA Special Series 003;2016-07-24 04:17:00;0;biab;5.5;gallons;59;4.35;1.04;1.007;sg;6.69;95.23;0;American IPA;IPA;10;5;1;[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '60', 'use': 'Boil', 'aa': '5.2', 'ibu': None, 'addition': '0'}, {'name': 'Kent Goldings', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '30', 'use': 'Boil', 'aa': '6.3', 'ibu': None, 'addition': '1'}, {'name': 'Kent Goldings', 'type': 'Leaf/Whole', 'amount': '26', 'unit': 'g', 'hoptime': '10', 'use': 'Boil', 'aa': '6.3', 'ibu': None, 'addition': '2'}];[{'name': 'Golden Promise', 'percent': 84.6, 'category': 'Grain', 'amount': '8.25', 'unit': 'lb', 'mashable': '1', 'country': 'United Kingdom', 'lateaddition': '0', 'ppg': '37'}, {'name': 'Extra Dark Crystal 160L', 'percent': 2.6, 'category': 'Grain', 'amount': '0.25', 'unit': 'lb', 'mashable': '1', 'country': 'United Kingdom', 'lateaddition': '0', 'ppg': '33'}, {'name': 'Corn Sugar - Dextrose ', 'percent': 12.8, 'category': 'Sugar', 'amount': '1.25', 'unit': 'lb', 'mashable': '0', 'country': None, 'lateaddition': '1', 'ppg': '46'}];[{'name': 'West Yorkshire 1469', 'form': 'Liquid', 'floc': 'High', 'att': '74', 'lab': 'Wyeast', 'mintemp': '64', 'maxtemp': '72', 'tempunit': 'F'}];0;None\n"
]
}
],
"source": [
"# <3 Unix! \n",
"!echo \"Total Recipes = $(ls ./recipes/ | wc -l)\" \n",
"!echo \"Total Lines = $(cat recipes.csv | wc -l)\"\n",
"!head -n2 recipes.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# We need to perform an initial cleaning to remove errors, tests and off charts values. We will use pandas because pandas rox a lot! "
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df = pd.read_csv('recipes.csv', sep=';')"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(65267, 25)"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>recipe_name</th>\n",
" <th>last_update</th>\n",
" <th>award_winning</th>\n",
" <th>brew_method</th>\n",
" <th>batch_size</th>\n",
" <th>batch_size_unit</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>...</th>\n",
" <th>bjcp_name</th>\n",
" <th>bjcp_category</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>hops</th>\n",
" <th>fermentables</th>\n",
" <th>yeasts</th>\n",
" <th>times_brewed</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>380343</td>\n",
" <td>JWS IPA Special Series 003</td>\n",
" <td>2016-07-24 04:17:00</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>5.5</td>\n",
" <td>gallons</td>\n",
" <td>59.0</td>\n",
" <td>4.35</td>\n",
" <td>1.040</td>\n",
" <td>...</td>\n",
" <td>American IPA</td>\n",
" <td>IPA</td>\n",
" <td>10</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>143835</td>\n",
" <td>CFB Ale</td>\n",
" <td>2014-11-04 10:33:54</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>20.0</td>\n",
" <td>liters</td>\n",
" <td>50.0</td>\n",
" <td>3.83</td>\n",
" <td>1.041</td>\n",
" <td>...</td>\n",
" <td>Southern English Brown</td>\n",
" <td>English Brown Ale</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" recipe_id recipe_name last_update award_winning \\\n",
"0 380343 JWS IPA Special Series 003 2016-07-24 04:17:00 0 \n",
"1 143835 CFB Ale 2014-11-04 10:33:54 0 \n",
"\n",
" brew_method batch_size batch_size_unit efficiency abv og ... \\\n",
"0 biab 5.5 gallons 59.0 4.35 1.040 ... \n",
"1 allgrain 20.0 liters 50.0 3.83 1.041 ... \n",
"\n",
" bjcp_name bjcp_category total_hops total_fermentables \\\n",
"0 American IPA IPA 10 5 \n",
"1 Southern English Brown English Brown Ale 2 3 \n",
"\n",
" total_yeasts hops \\\n",
"0 1 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"1 1 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"\n",
" fermentables \\\n",
"0 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"1 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"\n",
" yeasts times_brewed rating \n",
"0 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"1 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"\n",
"[2 rows x 25 columns]"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>recipe_name</th>\n",
" <th>last_update</th>\n",
" <th>award_winning</th>\n",
" <th>brew_method</th>\n",
" <th>batch_size</th>\n",
" <th>batch_size_unit</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>...</th>\n",
" <th>bjcp_name</th>\n",
" <th>bjcp_category</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>hops</th>\n",
" <th>fermentables</th>\n",
" <th>yeasts</th>\n",
" <th>times_brewed</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>65265</th>\n",
" <td>506095</td>\n",
" <td>Laurier</td>\n",
" <td>2017-06-19 18:56:17</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.5</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>3.99</td>\n",
" <td>1.037</td>\n",
" <td>...</td>\n",
" <td>Brett Beer</td>\n",
" <td>American Wild Ale</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65266</th>\n",
" <td>259087</td>\n",
" <td>Litter Critters Bitter</td>\n",
" <td>2015-10-14 22:53:45</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>70.0</td>\n",
" <td>liters</td>\n",
" <td>75.0</td>\n",
" <td>4.04</td>\n",
" <td>1.046</td>\n",
" <td>...</td>\n",
" <td>Special/Best/Premium Bitter</td>\n",
" <td>English Pale Ale</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" recipe_id recipe_name last_update award_winning \\\n",
"65265 506095 Laurier 2017-06-19 18:56:17 0 \n",
"65266 259087 Litter Critters Bitter 2015-10-14 22:53:45 0 \n",
"\n",
" brew_method batch_size batch_size_unit efficiency abv og \\\n",
"65265 allgrain 5.5 gallons 35.0 3.99 1.037 \n",
"65266 allgrain 70.0 liters 75.0 4.04 1.046 \n",
"\n",
" ... bjcp_name bjcp_category total_hops \\\n",
"65265 ... Brett Beer American Wild Ale 3 \n",
"65266 ... Special/Best/Premium Bitter English Pale Ale 3 \n",
"\n",
" total_fermentables total_yeasts \\\n",
"65265 5 1 \n",
"65266 3 1 \n",
"\n",
" hops \\\n",
"65265 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"65266 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"\n",
" fermentables \\\n",
"65265 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"65266 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"\n",
" yeasts times_brewed rating \n",
"65265 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"65266 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"\n",
"[2 rows x 25 columns]"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.tail(2)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>award_winning</th>\n",
" <th>batch_size</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>fg</th>\n",
" <th>srm</th>\n",
" <th>ibu</th>\n",
" <th>starter</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>times_brewed</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" <td>65267.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>337246.118529</td>\n",
" <td>0.007814</td>\n",
" <td>25.594959</td>\n",
" <td>66.273023</td>\n",
" <td>6.134628</td>\n",
" <td>1.396432</td>\n",
" <td>1.074871</td>\n",
" <td>13.366361</td>\n",
" <td>43.136668</td>\n",
" <td>0.244672</td>\n",
" <td>3.805522</td>\n",
" <td>3.914428</td>\n",
" <td>1.028146</td>\n",
" <td>0.373205</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>131573.381974</td>\n",
" <td>0.088052</td>\n",
" <td>136.931850</td>\n",
" <td>14.164625</td>\n",
" <td>2.373892</td>\n",
" <td>2.160917</td>\n",
" <td>0.430278</td>\n",
" <td>11.852512</td>\n",
" <td>36.969984</td>\n",
" <td>0.429896</td>\n",
" <td>2.826971</td>\n",
" <td>1.843355</td>\n",
" <td>0.176852</td>\n",
" <td>1.332764</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>36.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>-2.350000</td>\n",
" <td>0.976000</td>\n",
" <td>0.425441</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>246281.500000</td>\n",
" <td>0.000000</td>\n",
" <td>5.250000</td>\n",
" <td>65.000000</td>\n",
" <td>5.070000</td>\n",
" <td>1.051000</td>\n",
" <td>1.011000</td>\n",
" <td>5.210000</td>\n",
" <td>23.320000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>340149.000000</td>\n",
" <td>0.000000</td>\n",
" <td>6.000000</td>\n",
" <td>70.000000</td>\n",
" <td>5.780000</td>\n",
" <td>1.058000</td>\n",
" <td>1.013000</td>\n",
" <td>8.500000</td>\n",
" <td>35.200000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>444377.500000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>75.000000</td>\n",
" <td>6.830000</td>\n",
" <td>1.069000</td>\n",
" <td>1.017000</td>\n",
" <td>16.700000</td>\n",
" <td>55.400000</td>\n",
" <td>0.000000</td>\n",
" <td>5.000000</td>\n",
" <td>5.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>556041.000000</td>\n",
" <td>1.000000</td>\n",
" <td>9200.000000</td>\n",
" <td>100.000000</td>\n",
" <td>300.650000</td>\n",
" <td>34.034500</td>\n",
" <td>23.424600</td>\n",
" <td>186.000000</td>\n",
" <td>2673.830000</td>\n",
" <td>1.000000</td>\n",
" <td>50.000000</td>\n",
" <td>22.000000</td>\n",
" <td>8.000000</td>\n",
" <td>218.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" recipe_id award_winning batch_size efficiency abv \\\n",
"count 65267.000000 65267.000000 65267.000000 65267.000000 65267.000000 \n",
"mean 337246.118529 0.007814 25.594959 66.273023 6.134628 \n",
"std 131573.381974 0.088052 136.931850 14.164625 2.373892 \n",
"min 36.000000 0.000000 0.500000 0.000000 -2.350000 \n",
"25% 246281.500000 0.000000 5.250000 65.000000 5.070000 \n",
"50% 340149.000000 0.000000 6.000000 70.000000 5.780000 \n",
"75% 444377.500000 0.000000 20.000000 75.000000 6.830000 \n",
"max 556041.000000 1.000000 9200.000000 100.000000 300.650000 \n",
"\n",
" og fg srm ibu starter \\\n",
"count 65267.000000 65267.000000 65267.000000 65267.000000 65267.000000 \n",
"mean 1.396432 1.074871 13.366361 43.136668 0.244672 \n",
"std 2.160917 0.430278 11.852512 36.969984 0.429896 \n",
"min 0.976000 0.425441 0.000000 0.000000 0.000000 \n",
"25% 1.051000 1.011000 5.210000 23.320000 0.000000 \n",
"50% 1.058000 1.013000 8.500000 35.200000 0.000000 \n",
"75% 1.069000 1.017000 16.700000 55.400000 0.000000 \n",
"max 34.034500 23.424600 186.000000 2673.830000 1.000000 \n",
"\n",
" total_hops total_fermentables total_yeasts times_brewed \n",
"count 65267.000000 65267.000000 65267.000000 65267.000000 \n",
"mean 3.805522 3.914428 1.028146 0.373205 \n",
"std 2.826971 1.843355 0.176852 1.332764 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 2.000000 3.000000 1.000000 0.000000 \n",
"50% 3.000000 4.000000 1.000000 0.000000 \n",
"75% 5.000000 5.000000 1.000000 1.000000 \n",
"max 50.000000 22.000000 8.000000 218.000000 "
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# First, we will look at those values "
]
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>recipe_name</th>\n",
" <th>last_update</th>\n",
" <th>award_winning</th>\n",
" <th>brew_method</th>\n",
" <th>batch_size</th>\n",
" <th>batch_size_unit</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>...</th>\n",
" <th>bjcp_name</th>\n",
" <th>bjcp_category</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>hops</th>\n",
" <th>fermentables</th>\n",
" <th>yeasts</th>\n",
" <th>times_brewed</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1628</th>\n",
" <td>541914</td>\n",
" <td>Blond Ale</td>\n",
" <td>2017-09-18 12:21:43</td>\n",
" <td>0</td>\n",
" <td>partialmash</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>50.77</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Blonde Ale</td>\n",
" <td>Pale American Ale</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1987</th>\n",
" <td>435411</td>\n",
" <td>Rye Whiskey Ginger</td>\n",
" <td>2017-09-25 00:35:48</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>24.28</td>\n",
" <td>1.159</td>\n",
" <td>...</td>\n",
" <td>Experimental Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3049</th>\n",
" <td>271078</td>\n",
" <td>Caramel Apple Hard Cider</td>\n",
" <td>2015-08-23 00:09:15</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>42.03</td>\n",
" <td>1.416</td>\n",
" <td>...</td>\n",
" <td>Common Cider</td>\n",
" <td>Cider or Perry</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5366</th>\n",
" <td>396522</td>\n",
" <td>IPA famous Sinaloa</td>\n",
" <td>2016-09-10 22:40:12</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>20.22</td>\n",
" <td>1.192</td>\n",
" <td>...</td>\n",
" <td>American IPA</td>\n",
" <td>IPA</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6747</th>\n",
" <td>316773</td>\n",
" <td>Gunslinger Graf</td>\n",
" <td>2016-01-20 16:05:47</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>30.80</td>\n",
" <td>1.313</td>\n",
" <td>...</td>\n",
" <td>Experimental Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7607</th>\n",
" <td>485211</td>\n",
" <td>Black ipa</td>\n",
" <td>2017-04-27 14:19:00</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>75.0</td>\n",
" <td>50.86</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Specialty IPA: Black IPA</td>\n",
" <td>IPA</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7853</th>\n",
" <td>511347</td>\n",
" <td>CATALINA WEIZENBOCK</td>\n",
" <td>2017-07-03 10:41:16</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>25.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>49.22</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Weizenbock</td>\n",
" <td>German Wheat Beer</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8514</th>\n",
" <td>468121</td>\n",
" <td>Behold The Colossus</td>\n",
" <td>2017-03-21 06:19:40</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>18.00</td>\n",
" <td>liters</td>\n",
" <td>65.0</td>\n",
" <td>23.98</td>\n",
" <td>1.222</td>\n",
" <td>...</td>\n",
" <td>English Barleywine</td>\n",
" <td>Strong British Ale</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8782</th>\n",
" <td>433138</td>\n",
" <td>DFH 120-Minute IPA</td>\n",
" <td>2016-12-22 20:27:48</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>22.84</td>\n",
" <td>1.175</td>\n",
" <td>...</td>\n",
" <td>Double IPA</td>\n",
" <td>Strong American Ale</td>\n",
" <td>6</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8872</th>\n",
" <td>305576</td>\n",
" <td>34C. Experimental Beer - 25% ABV</td>\n",
" <td>2016-02-09 22:34:32</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>1.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>24.82</td>\n",
" <td>1.222</td>\n",
" <td>...</td>\n",
" <td>Experimental Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9711</th>\n",
" <td>279584</td>\n",
" <td>CBK porter</td>\n",
" <td>2015-09-25 17:07:57</td>\n",
" <td>0</td>\n",
" <td>partialmash</td>\n",
" <td>25.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>23.03</td>\n",
" <td>1.233</td>\n",
" <td>...</td>\n",
" <td>Robust Porter</td>\n",
" <td>Porter</td>\n",
" <td>9</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10900</th>\n",
" <td>376695</td>\n",
" <td>The Mighty Barley Wine</td>\n",
" <td>2016-07-12 11:27:32</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>12.00</td>\n",
" <td>liters</td>\n",
" <td>54.0</td>\n",
" <td>20.86</td>\n",
" <td>1.152</td>\n",
" <td>...</td>\n",
" <td>American Barleywine</td>\n",
" <td>Strong American Ale</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12213</th>\n",
" <td>368144</td>\n",
" <td>Trælaramp IPA 002</td>\n",
" <td>2016-06-14 17:55:47</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>12.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>45.16</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>American IPA</td>\n",
" <td>IPA</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12875</th>\n",
" <td>189206</td>\n",
" <td>Pete Roberts's Recipe</td>\n",
" <td>2011-07-06 20:52:40</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>242.67</td>\n",
" <td>3.470</td>\n",
" <td>...</td>\n",
" <td>American Pale Ale</td>\n",
" <td>American Ale</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13061</th>\n",
" <td>477653</td>\n",
" <td>Tuna Beer</td>\n",
" <td>2017-04-09 11:37:41</td>\n",
" <td>1</td>\n",
" <td>extract</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>51.34</td>\n",
" <td>1.440</td>\n",
" <td>...</td>\n",
" <td>Witbier</td>\n",
" <td>Belgian Ale</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15350</th>\n",
" <td>192545</td>\n",
" <td>Birthday Barleywine</td>\n",
" <td>2017-04-08 21:14:13</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>83.0</td>\n",
" <td>22.33</td>\n",
" <td>1.209</td>\n",
" <td>...</td>\n",
" <td>American Barleywine</td>\n",
" <td>Strong Ale</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>2</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15645</th>\n",
" <td>325293</td>\n",
" <td>piv a</td>\n",
" <td>2016-02-13 22:55:33</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>20.51</td>\n",
" <td>1.188</td>\n",
" <td>...</td>\n",
" <td>American Amber Ale</td>\n",
" <td>Amber and Brown American Beer</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18530</th>\n",
" <td>231258</td>\n",
" <td>Awesome Recipe</td>\n",
" <td>2015-04-03 09:51:51</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>49.22</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>California Common Beer</td>\n",
" <td>Amber Hybrid Beer</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21541</th>\n",
" <td>413015</td>\n",
" <td>Whaout?!</td>\n",
" <td>2016-10-29 12:36:56</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>4.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>22.71</td>\n",
" <td>1.228</td>\n",
" <td>...</td>\n",
" <td>Imperial Stout</td>\n",
" <td>American Porter and Stout</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22548</th>\n",
" <td>5017</td>\n",
" <td>Jimmie's Graff version 1</td>\n",
" <td>2012-03-25 21:47:43</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>27.12</td>\n",
" <td>1.230</td>\n",
" <td>...</td>\n",
" <td>Other Specialty Cider or Perry</td>\n",
" <td>Cider or Perry</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25387</th>\n",
" <td>495894</td>\n",
" <td>Test</td>\n",
" <td>2017-05-24 00:22:59</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>15.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>23.08</td>\n",
" <td>1.200</td>\n",
" <td>...</td>\n",
" <td>Spice, Herb, or Vegetable Beer</td>\n",
" <td>Spiced Beer</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26096</th>\n",
" <td>413691</td>\n",
" <td>FBTCZECHBEER</td>\n",
" <td>2016-11-03 01:43:40</td>\n",
" <td>1</td>\n",
" <td>allgrain</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>53.81</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Czech Premium Pale Lager</td>\n",
" <td>Czech Lager</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26108</th>\n",
" <td>286297</td>\n",
" <td>#50 Jopenbier</td>\n",
" <td>2016-10-27 12:50:25</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>11.00</td>\n",
" <td>liters</td>\n",
" <td>80.0</td>\n",
" <td>40.75</td>\n",
" <td>1.402</td>\n",
" <td>...</td>\n",
" <td>Clone Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27642</th>\n",
" <td>305142</td>\n",
" <td>Sorghum \"rum\"</td>\n",
" <td>2015-12-13 20:08:20</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>4.00</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>26.85</td>\n",
" <td>1.264</td>\n",
" <td>...</td>\n",
" <td>American Light Lager</td>\n",
" <td>Standard American Beer</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27744</th>\n",
" <td>547317</td>\n",
" <td>Common cider</td>\n",
" <td>2017-10-01 01:51:39</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>27.17</td>\n",
" <td>1.228</td>\n",
" <td>...</td>\n",
" <td>Common Cider</td>\n",
" <td>Cider or Perry</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28147</th>\n",
" <td>302686</td>\n",
" <td>vedo triplo</td>\n",
" <td>2015-12-04 22:35:51</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>23.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>50.48</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Belgian Tripel</td>\n",
" <td>Trappist Ale</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32863</th>\n",
" <td>498778</td>\n",
" <td>Skåpsrens</td>\n",
" <td>2017-05-31 10:59:18</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>18.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>54.72</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>American Pale Ale</td>\n",
" <td>American Ale</td>\n",
" <td>5</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34162</th>\n",
" <td>30836</td>\n",
" <td>Mead - Mulling Spices</td>\n",
" <td>2013-01-14 15:58:20</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>3.60</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>20.12</td>\n",
" <td>1.161</td>\n",
" <td>...</td>\n",
" <td>Dry Mead</td>\n",
" <td>Mead</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>2</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34937</th>\n",
" <td>191477</td>\n",
" <td>Pomegranate Beer</td>\n",
" <td>2017-06-11 00:59:28</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>300.65</td>\n",
" <td>4.060</td>\n",
" <td>...</td>\n",
" <td>No Profile Selected</td>\n",
" <td>NO PROFILE SELECTED ------</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35110</th>\n",
" <td>420259</td>\n",
" <td>Boltmaker</td>\n",
" <td>2016-11-15 19:23:52</td>\n",
" <td>0</td>\n",
" <td>partialmash</td>\n",
" <td>23.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>47.25</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Best Bitter</td>\n",
" <td>British Bitter</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39715</th>\n",
" <td>539533</td>\n",
" <td>maple mead</td>\n",
" <td>2017-09-17 00:26:28</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>21.22</td>\n",
" <td>1.162</td>\n",
" <td>...</td>\n",
" <td>Semi-Sweet Mead</td>\n",
" <td>Mead</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42364</th>\n",
" <td>375575</td>\n",
" <td>Mystic Cat - Imperial English Barleywine (2.75...</td>\n",
" <td>2016-08-09 20:01:58</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>2.75</td>\n",
" <td>gallons</td>\n",
" <td>52.0</td>\n",
" <td>20.61</td>\n",
" <td>1.199</td>\n",
" <td>...</td>\n",
" <td>English Barleywine</td>\n",
" <td>Strong British Ale</td>\n",
" <td>5</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42396</th>\n",
" <td>492104</td>\n",
" <td>San Antonio Imperial Stout</td>\n",
" <td>2017-05-14 03:38:54</td>\n",
" <td>0</td>\n",
" <td>partialmash</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>35.10</td>\n",
" <td>1.351</td>\n",
" <td>...</td>\n",
" <td>Russian Imperial Stout</td>\n",
" <td>Stout</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42613</th>\n",
" <td>408053</td>\n",
" <td>Cherry Mead</td>\n",
" <td>2016-10-13 20:06:51</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>3.00</td>\n",
" <td>gallons</td>\n",
" <td>100.0</td>\n",
" <td>23.36</td>\n",
" <td>1.237</td>\n",
" <td>...</td>\n",
" <td>Other Fruit Melomel</td>\n",
" <td>Mead</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42817</th>\n",
" <td>398626</td>\n",
" <td>Cider</td>\n",
" <td>2017-04-25 11:51:22</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>1.00</td>\n",
" <td>gallons</td>\n",
" <td>70.0</td>\n",
" <td>22.05</td>\n",
" <td>1.224</td>\n",
" <td>...</td>\n",
" <td>American Light Lager</td>\n",
" <td>Standard American Beer</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>8</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42871</th>\n",
" <td>318683</td>\n",
" <td>Maximus</td>\n",
" <td>2016-01-26 02:50:15</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>8.00</td>\n",
" <td>gallons</td>\n",
" <td>70.0</td>\n",
" <td>20.44</td>\n",
" <td>1.183</td>\n",
" <td>...</td>\n",
" <td>American Barleywine</td>\n",
" <td>Strong Ale</td>\n",
" <td>4</td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42902</th>\n",
" <td>512660</td>\n",
" <td>Batch 003</td>\n",
" <td>2017-07-07 01:08:44</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>1.25</td>\n",
" <td>gallons</td>\n",
" <td>65.0</td>\n",
" <td>21.17</td>\n",
" <td>1.203</td>\n",
" <td>...</td>\n",
" <td>Double IPA</td>\n",
" <td>Strong American Ale</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45964</th>\n",
" <td>128241</td>\n",
" <td>CHEESE SNACK</td>\n",
" <td>2014-07-14 17:32:33</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>49.22</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Specialty Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48221</th>\n",
" <td>366354</td>\n",
" <td>Mystic Cat - Imperial English Barleywine</td>\n",
" <td>2017-02-17 15:11:45</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>52.0</td>\n",
" <td>20.74</td>\n",
" <td>1.200</td>\n",
" <td>...</td>\n",
" <td>English Barleywine</td>\n",
" <td>Strong British Ale</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49689</th>\n",
" <td>412044</td>\n",
" <td>Brown</td>\n",
" <td>2016-11-11 03:44:34</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>75.0</td>\n",
" <td>49.22</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Sahti</td>\n",
" <td>Historical Beer</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50627</th>\n",
" <td>361726</td>\n",
" <td>monster brew</td>\n",
" <td>2016-05-27 11:20:28</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>19.00</td>\n",
" <td>liters</td>\n",
" <td>60.0</td>\n",
" <td>25.35</td>\n",
" <td>1.222</td>\n",
" <td>...</td>\n",
" <td>American Light Lager</td>\n",
" <td>Standard American Beer</td>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51657</th>\n",
" <td>375227</td>\n",
" <td>Awesome Recipe</td>\n",
" <td>2016-07-06 18:04:47</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>36.47</td>\n",
" <td>1.371</td>\n",
" <td>...</td>\n",
" <td>Dunkles Weissbier</td>\n",
" <td>German Wheat Beer</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54187</th>\n",
" <td>259756</td>\n",
" <td>Plum mead</td>\n",
" <td>2015-07-11 19:11:23</td>\n",
" <td>0</td>\n",
" <td>biab</td>\n",
" <td>1.00</td>\n",
" <td>gallons</td>\n",
" <td>70.0</td>\n",
" <td>21.16</td>\n",
" <td>1.215</td>\n",
" <td>...</td>\n",
" <td>Sweet Mead</td>\n",
" <td>Mead</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>1</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55606</th>\n",
" <td>332509</td>\n",
" <td>Mad Elf Clone</td>\n",
" <td>2017-01-20 11:02:42</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.50</td>\n",
" <td>gallons</td>\n",
" <td>70.0</td>\n",
" <td>20.99</td>\n",
" <td>1.210</td>\n",
" <td>...</td>\n",
" <td>Experimental Beer</td>\n",
" <td>Specialty Beer</td>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" <td>2</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55996</th>\n",
" <td>396547</td>\n",
" <td>Mead</td>\n",
" <td>2017-10-16 15:41:32</td>\n",
" <td>0</td>\n",
" <td>partialmash</td>\n",
" <td>5.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>21.61</td>\n",
" <td>1.192</td>\n",
" <td>...</td>\n",
" <td>Sweet Mead</td>\n",
" <td>Mead</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56074</th>\n",
" <td>546002</td>\n",
" <td>BCBD RIS</td>\n",
" <td>2017-09-27 20:42:03</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>70.0</td>\n",
" <td>52.16</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Imperial Stout</td>\n",
" <td>American Porter and Stout</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56551</th>\n",
" <td>477641</td>\n",
" <td>Awesome Recipe</td>\n",
" <td>2017-04-09 10:48:04</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>35.0</td>\n",
" <td>32.86</td>\n",
" <td>1.334</td>\n",
" <td>...</td>\n",
" <td>Weissbier</td>\n",
" <td>German Wheat Beer</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58452</th>\n",
" <td>281832</td>\n",
" <td>Festive Spawn 2015</td>\n",
" <td>2015-09-28 20:03:46</td>\n",
" <td>0</td>\n",
" <td>extract</td>\n",
" <td>5.00</td>\n",
" <td>gallons</td>\n",
" <td>35.0</td>\n",
" <td>47.25</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Holiday/Winter Special Spiced Beer</td>\n",
" <td>Spice/Herb/Vegetable Beer</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61625</th>\n",
" <td>307929</td>\n",
" <td>Belgbert</td>\n",
" <td>2015-12-23 23:57:25</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>21.00</td>\n",
" <td>liters</td>\n",
" <td>70.0</td>\n",
" <td>50.04</td>\n",
" <td>1.500</td>\n",
" <td>...</td>\n",
" <td>Belgian Dark Strong Ale</td>\n",
" <td>Belgian Strong Ale</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>49 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" recipe_id recipe_name \\\n",
"1628 541914 Blond Ale \n",
"1987 435411 Rye Whiskey Ginger \n",
"3049 271078 Caramel Apple Hard Cider \n",
"5366 396522 IPA famous Sinaloa \n",
"6747 316773 Gunslinger Graf \n",
"7607 485211 Black ipa \n",
"7853 511347 CATALINA WEIZENBOCK \n",
"8514 468121 Behold The Colossus \n",
"8782 433138 DFH 120-Minute IPA \n",
"8872 305576 34C. Experimental Beer - 25% ABV \n",
"9711 279584 CBK porter \n",
"10900 376695 The Mighty Barley Wine \n",
"12213 368144 Trælaramp IPA 002 \n",
"12875 189206 Pete Roberts's Recipe \n",
"13061 477653 Tuna Beer \n",
"15350 192545 Birthday Barleywine \n",
"15645 325293 piv a \n",
"18530 231258 Awesome Recipe \n",
"21541 413015 Whaout?! \n",
"22548 5017 Jimmie's Graff version 1 \n",
"25387 495894 Test \n",
"26096 413691 FBTCZECHBEER \n",
"26108 286297 #50 Jopenbier \n",
"27642 305142 Sorghum \"rum\" \n",
"27744 547317 Common cider \n",
"28147 302686 vedo triplo \n",
"32863 498778 Skåpsrens \n",
"34162 30836 Mead - Mulling Spices \n",
"34937 191477 Pomegranate Beer \n",
"35110 420259 Boltmaker \n",
"39715 539533 maple mead \n",
"42364 375575 Mystic Cat - Imperial English Barleywine (2.75... \n",
"42396 492104 San Antonio Imperial Stout \n",
"42613 408053 Cherry Mead \n",
"42817 398626 Cider \n",
"42871 318683 Maximus \n",
"42902 512660 Batch 003 \n",
"45964 128241 CHEESE SNACK \n",
"48221 366354 Mystic Cat - Imperial English Barleywine \n",
"49689 412044 Brown \n",
"50627 361726 monster brew \n",
"51657 375227 Awesome Recipe \n",
"54187 259756 Plum mead \n",
"55606 332509 Mad Elf Clone \n",
"55996 396547 Mead \n",
"56074 546002 BCBD RIS \n",
"56551 477641 Awesome Recipe \n",
"58452 281832 Festive Spawn 2015 \n",
"61625 307929 Belgbert \n",
"\n",
" last_update award_winning brew_method batch_size \\\n",
"1628 2017-09-18 12:21:43 0 partialmash 21.00 \n",
"1987 2017-09-25 00:35:48 0 extract 5.00 \n",
"3049 2015-08-23 00:09:15 0 extract 5.50 \n",
"5366 2016-09-10 22:40:12 0 allgrain 5.00 \n",
"6747 2016-01-20 16:05:47 0 biab 5.50 \n",
"7607 2017-04-27 14:19:00 0 allgrain 21.00 \n",
"7853 2017-07-03 10:41:16 0 allgrain 25.00 \n",
"8514 2017-03-21 06:19:40 0 allgrain 18.00 \n",
"8782 2016-12-22 20:27:48 0 allgrain 5.50 \n",
"8872 2016-02-09 22:34:32 0 allgrain 1.00 \n",
"9711 2015-09-25 17:07:57 0 partialmash 25.00 \n",
"10900 2016-07-12 11:27:32 0 allgrain 12.00 \n",
"12213 2016-06-14 17:55:47 0 biab 12.00 \n",
"12875 2011-07-06 20:52:40 0 allgrain 5.00 \n",
"13061 2017-04-09 11:37:41 1 extract 21.00 \n",
"15350 2017-04-08 21:14:13 0 allgrain 5.50 \n",
"15645 2016-02-13 22:55:33 0 allgrain 21.00 \n",
"18530 2015-04-03 09:51:51 0 allgrain 21.00 \n",
"21541 2016-10-29 12:36:56 0 biab 4.00 \n",
"22548 2012-03-25 21:47:43 0 allgrain 5.00 \n",
"25387 2017-05-24 00:22:59 0 biab 15.00 \n",
"26096 2016-11-03 01:43:40 1 allgrain 21.00 \n",
"26108 2016-10-27 12:50:25 0 allgrain 11.00 \n",
"27642 2015-12-13 20:08:20 0 extract 4.00 \n",
"27744 2017-10-01 01:51:39 0 extract 5.50 \n",
"28147 2015-12-04 22:35:51 0 allgrain 23.00 \n",
"32863 2017-05-31 10:59:18 0 biab 18.00 \n",
"34162 2013-01-14 15:58:20 0 extract 3.60 \n",
"34937 2017-06-11 00:59:28 0 allgrain 5.00 \n",
"35110 2016-11-15 19:23:52 0 partialmash 23.00 \n",
"39715 2017-09-17 00:26:28 0 allgrain 5.00 \n",
"42364 2016-08-09 20:01:58 0 allgrain 2.75 \n",
"42396 2017-05-14 03:38:54 0 partialmash 21.00 \n",
"42613 2016-10-13 20:06:51 0 allgrain 3.00 \n",
"42817 2017-04-25 11:51:22 0 allgrain 1.00 \n",
"42871 2016-01-26 02:50:15 0 allgrain 8.00 \n",
"42902 2017-07-07 01:08:44 0 biab 1.25 \n",
"45964 2014-07-14 17:32:33 0 extract 5.50 \n",
"48221 2017-02-17 15:11:45 0 allgrain 5.50 \n",
"49689 2016-11-11 03:44:34 0 allgrain 5.00 \n",
"50627 2016-05-27 11:20:28 0 allgrain 19.00 \n",
"51657 2016-07-06 18:04:47 0 biab 21.00 \n",
"54187 2015-07-11 19:11:23 0 biab 1.00 \n",
"55606 2017-01-20 11:02:42 0 allgrain 5.50 \n",
"55996 2017-10-16 15:41:32 0 partialmash 5.00 \n",
"56074 2017-09-27 20:42:03 0 allgrain 5.00 \n",
"56551 2017-04-09 10:48:04 0 extract 21.00 \n",
"58452 2015-09-28 20:03:46 0 extract 5.00 \n",
"61625 2015-12-23 23:57:25 0 allgrain 21.00 \n",
"\n",
" batch_size_unit efficiency abv og ... \\\n",
"1628 liters 35.0 50.77 1.500 ... \n",
"1987 gallons 75.0 24.28 1.159 ... \n",
"3049 gallons 35.0 42.03 1.416 ... \n",
"5366 liters 70.0 20.22 1.192 ... \n",
"6747 gallons 75.0 30.80 1.313 ... \n",
"7607 liters 75.0 50.86 1.500 ... \n",
"7853 liters 70.0 49.22 1.500 ... \n",
"8514 liters 65.0 23.98 1.222 ... \n",
"8782 gallons 75.0 22.84 1.175 ... \n",
"8872 gallons 75.0 24.82 1.222 ... \n",
"9711 liters 70.0 23.03 1.233 ... \n",
"10900 liters 54.0 20.86 1.152 ... \n",
"12213 liters 70.0 45.16 1.500 ... \n",
"12875 gallons 75.0 242.67 3.470 ... \n",
"13061 liters 35.0 51.34 1.440 ... \n",
"15350 gallons 83.0 22.33 1.209 ... \n",
"15645 liters 35.0 20.51 1.188 ... \n",
"18530 liters 70.0 49.22 1.500 ... \n",
"21541 liters 70.0 22.71 1.228 ... \n",
"22548 gallons 75.0 27.12 1.230 ... \n",
"25387 liters 35.0 23.08 1.200 ... \n",
"26096 liters 35.0 53.81 1.500 ... \n",
"26108 liters 80.0 40.75 1.402 ... \n",
"27642 gallons 35.0 26.85 1.264 ... \n",
"27744 gallons 35.0 27.17 1.228 ... \n",
"28147 liters 70.0 50.48 1.500 ... \n",
"32863 liters 35.0 54.72 1.500 ... \n",
"34162 liters 35.0 20.12 1.161 ... \n",
"34937 gallons 75.0 300.65 4.060 ... \n",
"35110 liters 35.0 47.25 1.500 ... \n",
"39715 gallons 35.0 21.22 1.162 ... \n",
"42364 gallons 52.0 20.61 1.199 ... \n",
"42396 liters 35.0 35.10 1.351 ... \n",
"42613 gallons 100.0 23.36 1.237 ... \n",
"42817 gallons 70.0 22.05 1.224 ... \n",
"42871 gallons 70.0 20.44 1.183 ... \n",
"42902 gallons 65.0 21.17 1.203 ... \n",
"45964 gallons 35.0 49.22 1.500 ... \n",
"48221 gallons 52.0 20.74 1.200 ... \n",
"49689 gallons 75.0 49.22 1.500 ... \n",
"50627 liters 60.0 25.35 1.222 ... \n",
"51657 liters 35.0 36.47 1.371 ... \n",
"54187 gallons 70.0 21.16 1.215 ... \n",
"55606 gallons 70.0 20.99 1.210 ... \n",
"55996 liters 35.0 21.61 1.192 ... \n",
"56074 gallons 70.0 52.16 1.500 ... \n",
"56551 liters 35.0 32.86 1.334 ... \n",
"58452 gallons 35.0 47.25 1.500 ... \n",
"61625 liters 70.0 50.04 1.500 ... \n",
"\n",
" bjcp_name bjcp_category \\\n",
"1628 Blonde Ale Pale American Ale \n",
"1987 Experimental Beer Specialty Beer \n",
"3049 Common Cider Cider or Perry \n",
"5366 American IPA IPA \n",
"6747 Experimental Beer Specialty Beer \n",
"7607 Specialty IPA: Black IPA IPA \n",
"7853 Weizenbock German Wheat Beer \n",
"8514 English Barleywine Strong British Ale \n",
"8782 Double IPA Strong American Ale \n",
"8872 Experimental Beer Specialty Beer \n",
"9711 Robust Porter Porter \n",
"10900 American Barleywine Strong American Ale \n",
"12213 American IPA IPA \n",
"12875 American Pale Ale American Ale \n",
"13061 Witbier Belgian Ale \n",
"15350 American Barleywine Strong Ale \n",
"15645 American Amber Ale Amber and Brown American Beer \n",
"18530 California Common Beer Amber Hybrid Beer \n",
"21541 Imperial Stout American Porter and Stout \n",
"22548 Other Specialty Cider or Perry Cider or Perry \n",
"25387 Spice, Herb, or Vegetable Beer Spiced Beer \n",
"26096 Czech Premium Pale Lager Czech Lager \n",
"26108 Clone Beer Specialty Beer \n",
"27642 American Light Lager Standard American Beer \n",
"27744 Common Cider Cider or Perry \n",
"28147 Belgian Tripel Trappist Ale \n",
"32863 American Pale Ale American Ale \n",
"34162 Dry Mead Mead \n",
"34937 No Profile Selected NO PROFILE SELECTED ------ \n",
"35110 Best Bitter British Bitter \n",
"39715 Semi-Sweet Mead Mead \n",
"42364 English Barleywine Strong British Ale \n",
"42396 Russian Imperial Stout Stout \n",
"42613 Other Fruit Melomel Mead \n",
"42817 American Light Lager Standard American Beer \n",
"42871 American Barleywine Strong Ale \n",
"42902 Double IPA Strong American Ale \n",
"45964 Specialty Beer Specialty Beer \n",
"48221 English Barleywine Strong British Ale \n",
"49689 Sahti Historical Beer \n",
"50627 American Light Lager Standard American Beer \n",
"51657 Dunkles Weissbier German Wheat Beer \n",
"54187 Sweet Mead Mead \n",
"55606 Experimental Beer Specialty Beer \n",
"55996 Sweet Mead Mead \n",
"56074 Imperial Stout American Porter and Stout \n",
"56551 Weissbier German Wheat Beer \n",
"58452 Holiday/Winter Special Spiced Beer Spice/Herb/Vegetable Beer \n",
"61625 Belgian Dark Strong Ale Belgian Strong Ale \n",
"\n",
" total_hops total_fermentables total_yeasts \\\n",
"1628 3 5 1 \n",
"1987 0 2 1 \n",
"3049 0 4 1 \n",
"5366 1 2 1 \n",
"6747 0 5 1 \n",
"7607 0 4 1 \n",
"7853 0 5 1 \n",
"8514 3 5 1 \n",
"8782 6 3 2 \n",
"8872 1 5 1 \n",
"9711 9 7 1 \n",
"10900 4 4 1 \n",
"12213 0 4 1 \n",
"12875 4 2 1 \n",
"13061 1 2 1 \n",
"15350 2 7 1 \n",
"15645 3 6 1 \n",
"18530 0 2 1 \n",
"21541 2 7 1 \n",
"22548 1 4 1 \n",
"25387 0 2 1 \n",
"26096 1 2 1 \n",
"26108 1 1 1 \n",
"27642 0 1 1 \n",
"27744 0 2 1 \n",
"28147 4 3 1 \n",
"32863 5 6 1 \n",
"34162 0 2 1 \n",
"34937 1 2 1 \n",
"35110 1 2 1 \n",
"39715 0 3 1 \n",
"42364 5 6 1 \n",
"42396 5 1 1 \n",
"42613 0 2 1 \n",
"42817 0 1 1 \n",
"42871 4 10 1 \n",
"42902 2 3 1 \n",
"45964 0 2 1 \n",
"48221 5 7 1 \n",
"49689 0 1 1 \n",
"50627 0 6 1 \n",
"51657 2 2 1 \n",
"54187 0 2 1 \n",
"55606 0 9 2 \n",
"55996 0 4 1 \n",
"56074 2 5 1 \n",
"56551 0 2 1 \n",
"58452 2 2 1 \n",
"61625 4 4 1 \n",
"\n",
" hops \\\n",
"1628 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"1987 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"3049 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"5366 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"6747 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"7607 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"7853 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"8514 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"8782 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"8872 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"9711 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"10900 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"12213 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"12875 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"13061 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"15350 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"15645 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"18530 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"21541 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"22548 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"25387 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"26096 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"26108 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"27642 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"27744 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"28147 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"32863 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"34162 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"34937 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"35110 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"39715 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42364 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42396 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42613 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42817 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42871 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"42902 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"45964 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"48221 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"49689 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"50627 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"51657 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"54187 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"55606 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"55996 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"56074 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"56551 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"58452 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"61625 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"\n",
" fermentables \\\n",
"1628 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"1987 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"3049 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"5366 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"6747 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"7607 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"7853 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"8514 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"8782 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"8872 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"9711 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"10900 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"12213 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"12875 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"13061 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"15350 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"15645 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"18530 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"21541 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"22548 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"25387 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"26096 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"26108 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"27642 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"27744 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"28147 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"32863 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"34162 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"34937 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"35110 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"39715 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42364 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42396 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42613 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42817 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42871 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"42902 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"45964 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"48221 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"49689 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"50627 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"51657 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"54187 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"55606 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"55996 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"56074 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"56551 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"58452 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"61625 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"\n",
" yeasts times_brewed rating \n",
"1628 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"1987 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"3049 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"5366 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"6747 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"7607 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"7853 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"8514 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"8782 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"8872 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"9711 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"10900 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"12213 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"12875 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"13061 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"15350 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 2 None \n",
"15645 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"18530 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"21541 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"22548 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"25387 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"26096 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"26108 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"27642 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"27744 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"28147 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"32863 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"34162 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 2 None \n",
"34937 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 2 \n",
"35110 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"39715 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"42364 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"42396 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"42613 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"42817 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 8 1 \n",
"42871 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"42902 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"45964 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"48221 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"49689 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"50627 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"51657 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"54187 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 1 None \n",
"55606 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"55996 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"56074 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"56551 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"58452 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"61625 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"\n",
"[49 rows x 25 columns]"
]
},
"execution_count": 138,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.query('abv > 20')"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>recipe_name</th>\n",
" <th>last_update</th>\n",
" <th>award_winning</th>\n",
" <th>brew_method</th>\n",
" <th>batch_size</th>\n",
" <th>batch_size_unit</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>...</th>\n",
" <th>bjcp_name</th>\n",
" <th>bjcp_category</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>hops</th>\n",
" <th>fermentables</th>\n",
" <th>yeasts</th>\n",
" <th>times_brewed</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>16413</th>\n",
" <td>191866</td>\n",
" <td>Dark Passenger Blood Orange Hefeweizen</td>\n",
" <td>2013-05-22 20:17:24</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.75895</td>\n",
" <td>gallons</td>\n",
" <td>78.0</td>\n",
" <td>-2.08</td>\n",
" <td>0.979</td>\n",
" <td>...</td>\n",
" <td>No Profile Selected</td>\n",
" <td>NO PROFILE SELECTED ------</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19582</th>\n",
" <td>191864</td>\n",
" <td>5 Hoppiness Wheat IPA 201302</td>\n",
" <td>2013-05-22 20:20:21</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.79990</td>\n",
" <td>gallons</td>\n",
" <td>80.0</td>\n",
" <td>-2.13</td>\n",
" <td>0.978</td>\n",
" <td>...</td>\n",
" <td>No Profile Selected</td>\n",
" <td>NO PROFILE SELECTED ------</td>\n",
" <td>5</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36535</th>\n",
" <td>191868</td>\n",
" <td>Raj Wheat - Garam Masala Wheat</td>\n",
" <td>2013-05-22 20:12:48</td>\n",
" <td>0</td>\n",
" <td>allgrain</td>\n",
" <td>5.99987</td>\n",
" <td>gallons</td>\n",
" <td>82.0</td>\n",
" <td>-2.35</td>\n",
" <td>0.976</td>\n",
" <td>...</td>\n",
" <td>No Profile Selected</td>\n",
" <td>NO PROFILE SELECTED ------</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>[{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am...</td>\n",
" <td>[{'name': 'Golden Promise', 'percent': 84.6, '...</td>\n",
" <td>[{'name': 'West Yorkshire 1469', 'form': 'Liqu...</td>\n",
" <td>0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" recipe_id recipe_name last_update \\\n",
"16413 191866 Dark Passenger Blood Orange Hefeweizen 2013-05-22 20:17:24 \n",
"19582 191864 5 Hoppiness Wheat IPA 201302 2013-05-22 20:20:21 \n",
"36535 191868 Raj Wheat - Garam Masala Wheat 2013-05-22 20:12:48 \n",
"\n",
" award_winning brew_method batch_size batch_size_unit efficiency \\\n",
"16413 0 allgrain 5.75895 gallons 78.0 \n",
"19582 0 allgrain 5.79990 gallons 80.0 \n",
"36535 0 allgrain 5.99987 gallons 82.0 \n",
"\n",
" abv og ... bjcp_name bjcp_category \\\n",
"16413 -2.08 0.979 ... No Profile Selected NO PROFILE SELECTED ------ \n",
"19582 -2.13 0.978 ... No Profile Selected NO PROFILE SELECTED ------ \n",
"36535 -2.35 0.976 ... No Profile Selected NO PROFILE SELECTED ------ \n",
"\n",
" total_hops total_fermentables total_yeasts \\\n",
"16413 3 6 1 \n",
"19582 5 6 1 \n",
"36535 3 6 1 \n",
"\n",
" hops \\\n",
"16413 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"19582 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"36535 [{'name': 'Fuggles', 'type': 'Leaf/Whole', 'am... \n",
"\n",
" fermentables \\\n",
"16413 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"19582 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"36535 [{'name': 'Golden Promise', 'percent': 84.6, '... \n",
"\n",
" yeasts times_brewed rating \n",
"16413 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"19582 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"36535 [{'name': 'West Yorkshire 1469', 'form': 'Liqu... 0 None \n",
"\n",
"[3 rows x 25 columns]"
]
},
"execution_count": 139,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.query('abv < 0')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#And now, we kill them"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>award_winning</th>\n",
" <th>batch_size</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>fg</th>\n",
" <th>srm</th>\n",
" <th>ibu</th>\n",
" <th>starter</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>times_brewed</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" <td>64963.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>337203.726198</td>\n",
" <td>0.007820</td>\n",
" <td>25.616773</td>\n",
" <td>66.320065</td>\n",
" <td>6.127639</td>\n",
" <td>1.397569</td>\n",
" <td>1.074800</td>\n",
" <td>13.382512</td>\n",
" <td>43.189104</td>\n",
" <td>0.245355</td>\n",
" <td>3.816957</td>\n",
" <td>3.921786</td>\n",
" <td>1.028339</td>\n",
" <td>0.373998</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>131621.360230</td>\n",
" <td>0.088084</td>\n",
" <td>137.106799</td>\n",
" <td>14.112760</td>\n",
" <td>1.646407</td>\n",
" <td>2.163993</td>\n",
" <td>0.422228</td>\n",
" <td>11.826067</td>\n",
" <td>35.143057</td>\n",
" <td>0.430301</td>\n",
" <td>2.822697</td>\n",
" <td>1.838595</td>\n",
" <td>0.176287</td>\n",
" <td>1.334818</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>36.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.470666</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>246272.000000</td>\n",
" <td>0.000000</td>\n",
" <td>5.250000</td>\n",
" <td>65.000000</td>\n",
" <td>5.080000</td>\n",
" <td>1.051000</td>\n",
" <td>1.011000</td>\n",
" <td>5.230000</td>\n",
" <td>23.430000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>340059.000000</td>\n",
" <td>0.000000</td>\n",
" <td>6.000000</td>\n",
" <td>70.000000</td>\n",
" <td>5.790000</td>\n",
" <td>1.058000</td>\n",
" <td>1.013000</td>\n",
" <td>8.510000</td>\n",
" <td>35.280000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>444414.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>75.000000</td>\n",
" <td>6.830000</td>\n",
" <td>1.069000</td>\n",
" <td>1.017000</td>\n",
" <td>16.720000</td>\n",
" <td>55.460000</td>\n",
" <td>0.000000</td>\n",
" <td>5.000000</td>\n",
" <td>5.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>556041.000000</td>\n",
" <td>1.000000</td>\n",
" <td>9200.000000</td>\n",
" <td>100.000000</td>\n",
" <td>19.850000</td>\n",
" <td>34.034500</td>\n",
" <td>10.341400</td>\n",
" <td>186.000000</td>\n",
" <td>2197.070000</td>\n",
" <td>1.000000</td>\n",
" <td>50.000000</td>\n",
" <td>22.000000</td>\n",
" <td>8.000000</td>\n",
" <td>218.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" recipe_id award_winning batch_size efficiency abv \\\n",
"count 64963.000000 64963.000000 64963.000000 64963.000000 64963.000000 \n",
"mean 337203.726198 0.007820 25.616773 66.320065 6.127639 \n",
"std 131621.360230 0.088084 137.106799 14.112760 1.646407 \n",
"min 36.000000 0.000000 0.500000 0.000000 2.000000 \n",
"25% 246272.000000 0.000000 5.250000 65.000000 5.080000 \n",
"50% 340059.000000 0.000000 6.000000 70.000000 5.790000 \n",
"75% 444414.000000 0.000000 20.000000 75.000000 6.830000 \n",
"max 556041.000000 1.000000 9200.000000 100.000000 19.850000 \n",
"\n",
" og fg srm ibu starter \\\n",
"count 64963.000000 64963.000000 64963.000000 64963.000000 64963.000000 \n",
"mean 1.397569 1.074800 13.382512 43.189104 0.245355 \n",
"std 2.163993 0.422228 11.826067 35.143057 0.430301 \n",
"min 1.000000 0.470666 0.000000 0.000000 0.000000 \n",
"25% 1.051000 1.011000 5.230000 23.430000 0.000000 \n",
"50% 1.058000 1.013000 8.510000 35.280000 0.000000 \n",
"75% 1.069000 1.017000 16.720000 55.460000 0.000000 \n",
"max 34.034500 10.341400 186.000000 2197.070000 1.000000 \n",
"\n",
" total_hops total_fermentables total_yeasts times_brewed \n",
"count 64963.000000 64963.000000 64963.000000 64963.000000 \n",
"mean 3.816957 3.921786 1.028339 0.373998 \n",
"std 2.822697 1.838595 0.176287 1.334818 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 2.000000 3.000000 1.000000 0.000000 \n",
"50% 3.000000 4.000000 1.000000 0.000000 \n",
"75% 5.000000 5.000000 1.000000 1.000000 \n",
"max 50.000000 22.000000 8.000000 218.000000 "
]
},
"execution_count": 140,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(df.query('abv < 2').index)\n",
"df = df.drop(df.query('abv > 20').index)\n",
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"64963"
]
},
"execution_count": 141,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lets clear the IBU table"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>recipe_name</th>\n",
" <th>last_update</th>\n",
" <th>award_winning</th>\n",
" <th>brew_method</th>\n",
" <th>batch_size</th>\n",
" <th>batch_size_unit</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>...</th>\n",
" <th>bjcp_name</th>\n",
" <th>bjcp_category</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>hops</th>\n",
" <th>fermentables</th>\n",
" <th>yeasts</th>\n",
" <th>times_brewed</th>\n",
" <th>rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"<p>0 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [recipe_id, recipe_name, last_update, award_winning, brew_method, batch_size, batch_size_unit, efficiency, abv, og, fg, sugar_scale, srm, ibu, starter, bjcp_name, bjcp_category, total_hops, total_fermentables, total_yeasts, hops, fermentables, yeasts, times_brewed, rating]\n",
"Index: []\n",
"\n",
"[0 rows x 25 columns]"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(df.query('ibu > 150').index)\n",
"df.query('ibu > 150')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Only 36 beers have SRM above 50, which is a pretty high value, even for a very dark beer"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"36"
]
},
"execution_count": 143,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df.query('srm > 50'))"
]
},
{
"cell_type": "code",
"execution_count": 144,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 144,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(df.query('srm > 50').index)\n",
"len(df.query('srm > 50'))"
]
},
{
"cell_type": "code",
"execution_count": 145,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>recipe_id</th>\n",
" <th>award_winning</th>\n",
" <th>batch_size</th>\n",
" <th>efficiency</th>\n",
" <th>abv</th>\n",
" <th>og</th>\n",
" <th>fg</th>\n",
" <th>srm</th>\n",
" <th>ibu</th>\n",
" <th>starter</th>\n",
" <th>total_hops</th>\n",
" <th>total_fermentables</th>\n",
" <th>total_yeasts</th>\n",
" <th>times_brewed</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" <td>64927.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>337285.593528</td>\n",
" <td>0.007824</td>\n",
" <td>25.627919</td>\n",
" <td>66.316099</td>\n",
" <td>6.125900</td>\n",
" <td>1.397738</td>\n",
" <td>1.074829</td>\n",
" <td>13.351818</td>\n",
" <td>43.177589</td>\n",
" <td>0.245491</td>\n",
" <td>3.817333</td>\n",
" <td>3.920172</td>\n",
" <td>1.028186</td>\n",
" <td>0.374143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>131611.904109</td>\n",
" <td>0.088108</td>\n",
" <td>137.143978</td>\n",
" <td>14.115252</td>\n",
" <td>1.644148</td>\n",
" <td>2.164581</td>\n",
" <td>0.422343</td>\n",
" <td>11.744708</td>\n",
" <td>35.138336</td>\n",
" <td>0.430381</td>\n",
" <td>2.823248</td>\n",
" <td>1.837184</td>\n",
" <td>0.175442</td>\n",
" <td>1.335142</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>36.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.470666</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>246416.500000</td>\n",
" <td>0.000000</td>\n",
" <td>5.250000</td>\n",
" <td>65.000000</td>\n",
" <td>5.080000</td>\n",
" <td>1.051000</td>\n",
" <td>1.011000</td>\n",
" <td>5.230000</td>\n",
" <td>23.415000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>340191.000000</td>\n",
" <td>0.000000</td>\n",
" <td>6.000000</td>\n",
" <td>70.000000</td>\n",
" <td>5.790000</td>\n",
" <td>1.058000</td>\n",
" <td>1.013000</td>\n",
" <td>8.510000</td>\n",
" <td>35.270000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>444471.500000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>75.000000</td>\n",
" <td>6.830000</td>\n",
" <td>1.069000</td>\n",
" <td>1.017000</td>\n",
" <td>16.700000</td>\n",
" <td>55.450000</td>\n",
" <td>0.000000</td>\n",
" <td>5.000000</td>\n",
" <td>5.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>556041.000000</td>\n",
" <td>1.000000</td>\n",
" <td>9200.000000</td>\n",
" <td>100.000000</td>\n",
" <td>19.850000</td>\n",
" <td>34.034500</td>\n",
" <td>10.341400</td>\n",
" <td>50.000000</td>\n",
" <td>2197.070000</td>\n",
" <td>1.000000</td>\n",
" <td>50.000000</td>\n",
" <td>22.000000</td>\n",
" <td>8.000000</td>\n",
" <td>218.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" recipe_id award_winning batch_size efficiency abv \\\n",
"count 64927.000000 64927.000000 64927.000000 64927.000000 64927.000000 \n",
"mean 337285.593528 0.007824 25.627919 66.316099 6.125900 \n",
"std 131611.904109 0.088108 137.143978 14.115252 1.644148 \n",
"min 36.000000 0.000000 0.500000 0.000000 2.000000 \n",
"25% 246416.500000 0.000000 5.250000 65.000000 5.080000 \n",
"50% 340191.000000 0.000000 6.000000 70.000000 5.790000 \n",
"75% 444471.500000 0.000000 20.000000 75.000000 6.830000 \n",
"max 556041.000000 1.000000 9200.000000 100.000000 19.850000 \n",
"\n",
" og fg srm ibu starter \\\n",
"count 64927.000000 64927.000000 64927.000000 64927.000000 64927.000000 \n",
"mean 1.397738 1.074829 13.351818 43.177589 0.245491 \n",
"std 2.164581 0.422343 11.744708 35.138336 0.430381 \n",
"min 1.000000 0.470666 0.000000 0.000000 0.000000 \n",
"25% 1.051000 1.011000 5.230000 23.415000 0.000000 \n",
"50% 1.058000 1.013000 8.510000 35.270000 0.000000 \n",
"75% 1.069000 1.017000 16.700000 55.450000 0.000000 \n",
"max 34.034500 10.341400 50.000000 2197.070000 1.000000 \n",
"\n",
" total_hops total_fermentables total_yeasts times_brewed \n",
"count 64927.000000 64927.000000 64927.000000 64927.000000 \n",
"mean 3.817333 3.920172 1.028186 0.374143 \n",
"std 2.823248 1.837184 0.175442 1.335142 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 2.000000 3.000000 1.000000 0.000000 \n",
"50% 3.000000 4.000000 1.000000 0.000000 \n",
"75% 5.000000 5.000000 1.000000 1.000000 \n",
"max 50.000000 22.000000 8.000000 218.000000 "
]
},
"execution_count": 145,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Little sanity check before start analysis"
]
},
{
"cell_type": "code",
"execution_count": 191,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"gallons 42225\n",
"liters 22702\n",
"Name: batch_size_unit, dtype: int64"
]
},
"execution_count": 191,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.batch_size_unit.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 192,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"allgrain 43708\n",
"biab 10244\n",
"extract 7819\n",
"partialmash 3156\n",
"Name: brew_method, dtype: int64"
]
},
"execution_count": 192,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.brew_method.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 193,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sg 63294\n",
"plato 1633\n",
"Name: sugar_scale, dtype: int64"
]
},
"execution_count": 193,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sugar_scale.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 195,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 63088\n",
"2 1793\n",
"0 25\n",
"3 12\n",
"4 5\n",
"8 2\n",
"6 1\n",
"5 1\n",
"Name: total_yeasts, dtype: int64"
]
},
"execution_count": 195,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.total_yeasts.value_counts()\n",
"#Drop those recipes without yeast :)"
]
},
{
"cell_type": "code",
"execution_count": 197,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 63088\n",
"2 1793\n",
"3 12\n",
"4 5\n",
"8 2\n",
"6 1\n",
"5 1\n",
"Name: total_yeasts, dtype: int64"
]
},
"execution_count": 197,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(df.query('total_yeasts == 0 ').index)\n",
"df.total_yeasts.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment