Logging adaptive split
[cas-master-teacher-training.git] / hangman / hangman-logging.ipynb
index dee08277bf089138f7f2b5f2e52fd0b592664390..b14dd0f7a153013b6299ae1d7d48ec61bc91236d 100644 (file)
@@ -1,7 +1,7 @@
 {
  "metadata": {
   "name": "",
-  "signature": "sha256:38ae0184dcdd428a55c93ae13db3a3e3943b6209ac6e253ac0ff48e1bf4486c5"
+  "signature": "sha256:319787fef945fe728683c1bd9cbdb783efff5e79fec8332f433ebca77395f16d"
  },
  "nbformat": 3,
  "nbformat_minor": 0,
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "import re\n",
-      "import random\n",
-      "import string\n",
-      "import collections\n",
+      "from hangman import *\n",
       "import csv"
      ],
      "language": "python",
      "metadata": {},
      "outputs": [],
-     "prompt_number": 30
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "WORDS = [w.strip() for w in open('/usr/share/dict/british-english').readlines() \n",
-      "         if re.match(r'^[a-z]*$', w.strip())]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 31
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "LETTER_COUNTS = collections.Counter(l.lower() for l in open('sherlock-holmes.txt').read() \n",
-      "                                    if l in string.ascii_letters)\n",
-      "LETTERS_IN_ORDER = [p[0] for p in LETTER_COUNTS.most_common()]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 32
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "DICT_COUNTS = collections.Counter(l.lower() for l in open('/usr/share/dict/british-english').read() \n",
-      "                                  if l in string.ascii_letters)\n",
-      "DICT_LETTERS_IN_ORDER = [p[0] for p in DICT_COUNTS.most_common()]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 33
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "STARTING_LIVES = 10"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 34
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class Game:\n",
-      "    def __init__(self, target, player=None, lives=STARTING_LIVES):\n",
-      "        self.lives = lives\n",
-      "        self.player = player\n",
-      "        self.target = target\n",
-      "        self.discovered = list('_' * len(target))\n",
-      "        self.wrong_letters = []\n",
-      "        self.game_finished = False\n",
-      "        self.game_won = False\n",
-      "        self.game_lost = False\n",
-      "    \n",
-      "    def find_all(self, letter):\n",
-      "        return [p for p, l in enumerate(self.target) if l == letter]\n",
-      "    \n",
-      "    def update_discovered_word(self, guessed_letter):\n",
-      "        locations = self.find_all(guessed_letter)\n",
-      "        for location in locations:\n",
-      "            self.discovered[location] = guessed_letter\n",
-      "        return self.discovered\n",
-      "    \n",
-      "    def do_turn(self):\n",
-      "        if self.player:\n",
-      "            guess = self.player.guess(self.discovered, self.wrong_letters, self.lives)\n",
-      "        else:\n",
-      "            guess = self.ask_for_guess()\n",
-      "        if guess in self.target:\n",
-      "            self.update_discovered_word(guess)\n",
-      "        else:\n",
-      "            self.lives -= 1\n",
-      "            if guess not in self.wrong_letters:\n",
-      "                self.wrong_letters += [guess]\n",
-      "        if self.lives == 0:\n",
-      "            self.game_finished = True\n",
-      "            self.game_lost = True\n",
-      "        if '_' not in self.discovered:\n",
-      "            self.game_finished = True\n",
-      "            self.game_won = True\n",
-      "            \n",
-      "    def ask_for_guess(self):\n",
-      "        print('Word:', ' '.join(self.discovered), \n",
-      "              ' : Lives =', self.lives, \n",
-      "              ', wrong guesses:', ' '.join(sorted(self.wrong_letters)))\n",
-      "        guess = input('Enter letter: ').strip().lower()[0]\n",
-      "        return guess\n",
-      "    \n",
-      "    def play_game(self):\n",
-      "        while not self.game_finished:\n",
-      "            self.do_turn()\n",
-      "        if not self.player:\n",
-      "            self.report_on_game()\n",
-      "        return self.game_won\n",
-      "    \n",
-      "    def report_on_game(self):\n",
-      "        if self.game_won:\n",
-      "            print('You won! The word was', self.target)\n",
-      "        else:\n",
-      "            print('You lost. The word was', self.target)\n",
-      "        return self.game_won"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 35
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerFixedOrder:\n",
-      "    def __init__(self, ordered_letters):\n",
-      "        self.ordered_letters = ordered_letters\n",
-      "        \n",
-      "    def guess(self, discovered, missed, lives):\n",
-      "        guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
-      "        return [l for l in self.ordered_letters if l not in guessed_letters][0]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 36
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAlphabetical(PlayerFixedOrder):\n",
-      "    def __init__(self):\n",
-      "        super().__init__(string.ascii_lowercase)\n",
-      "\n",
-      "class PlayerAlphabeticalReversed(PlayerFixedOrder):\n",
-      "    def __init__(self):\n",
-      "        super().__init__(list(reversed(string.ascii_lowercase)))\n",
-      "\n",
-      "class PlayerFreqOrdered(PlayerFixedOrder):\n",
-      "    def __init__(self):\n",
-      "        super().__init__(LETTERS_IN_ORDER)\n",
-      "\n",
-      "class PlayerDictFreqOrdered(PlayerFixedOrder):\n",
-      "    def __init__(self):\n",
-      "        super().__init__(DICT_LETTERS_IN_ORDER)"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 56
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAdaptive:\n",
-      "    def __init__(self, words):\n",
-      "        self.candidate_words = words\n",
-      "        \n",
-      "    def guess(self, discovered, missed, lives):\n",
-      "        self.filter_candidate_words(discovered, missed)\n",
-      "        self.set_ordered_letters()\n",
-      "        guessed_letters = [l.lower() for l in discovered + missed if l in string.ascii_letters]\n",
-      "        return [l for l in self.ordered_letters if l not in guessed_letters][0]\n",
-      "    \n",
-      "    def filter_candidate_words(self, discovered, missed):\n",
-      "        pass\n",
-      "        \n",
-      "    def set_ordered_letters(self):\n",
-      "        counts = collections.Counter(l.lower() \n",
-      "                                     for l in ''.join(self.candidate_words) + string.ascii_lowercase \n",
-      "                                     if l in string.ascii_letters)\n",
-      "        self.ordered_letters = [p[0] for p in counts.most_common()]\n",
-      "        \n",
-      "    def match(self, pattern, target, excluded=None):\n",
-      "        if not excluded:\n",
-      "            excluded = ''\n",
-      "        if len(pattern) != len(target):\n",
-      "            return False\n",
-      "        for m, c in zip(pattern, target):\n",
-      "            if m == '_' and c not in excluded:\n",
-      "                # true\n",
-      "                pass\n",
-      "            elif m != '_' and m == c:\n",
-      "                # true\n",
-      "                pass\n",
-      "            else:\n",
-      "                return False\n",
-      "        return True        "
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 38
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAdaptiveLength(PlayerAdaptive):\n",
-      "    def __init__(self, words):\n",
-      "        super().__init__(words)\n",
-      "        self.word_len = None\n",
-      "        self.ordered_letters = None\n",
-      "        \n",
-      "    def filter_candidate_words(self, discovered, missed):\n",
-      "        if not self.word_len:\n",
-      "            self.word_len = len(discovered)\n",
-      "            self.candidate_words = [w for w in self.candidate_words if len(w) == self.word_len]\n",
-      "    \n",
-      "    def set_ordered_letters(self):\n",
-      "        if not self.ordered_letters:\n",
-      "            super().set_ordered_letters()"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 39
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAdaptiveIncludedLetters(PlayerAdaptive):\n",
-      "    def filter_candidate_words(self, discovered, missed):        \n",
-      "        self.candidate_words = [w for w in self.candidate_words if self.match(discovered, w, missed)]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 59
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAdaptiveExcludedLetters(PlayerAdaptive):\n",
-      "    def filter_candidate_words(self, discovered, missed):\n",
-      "        if missed:\n",
-      "            empty_target = '_' * len(discovered)\n",
-      "            self.candidate_words = [w for w in self.candidate_words if self.match(empty_target, w, missed)]        "
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 60
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "class PlayerAdaptivePattern(PlayerAdaptive):\n",
-      "    def filter_candidate_words(self, discovered, missed):\n",
-      "        attempted_letters = [l for l in discovered if l != '_'] + missed\n",
-      "        self.candidate_words = [w for w in self.candidate_words if self.match(discovered, w, attempted_letters)]"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [],
-     "prompt_number": 61
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "g = Game(random.choice(WORDS), player=PlayerAdaptive(WORDS))\n",
-      "g.play_game()"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "metadata": {},
-       "output_type": "pyout",
-       "prompt_number": 62,
-       "text": [
-        "False"
-       ]
-      }
-     ],
-     "prompt_number": 62
+     "prompt_number": 5
     },
     {
      "cell_type": "code",
       "           (PlayerAdaptiveLength, WORDS, 'adaptive_length.csv'),\n",
       "           (PlayerAdaptiveIncludedLetters, WORDS, 'adaptive_included.csv'),\n",
       "           (PlayerAdaptiveExcludedLetters, WORDS, 'adaptive_excluded.csv'),\n",
-      "           (PlayerAdaptivePattern, WORDS, 'adaptive_pattern.csv')]\n",
+      "           (PlayerAdaptivePattern, WORDS, 'adaptive_pattern.csv'),\n",
+      "           (PlayerAdaptiveSplit, WORDS, 'adaptive_split.csv')]\n",
       "\n",
       "games_per_player = 1000\n",
       "\n",
      "outputs": [],
      "prompt_number": 64
     },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "players = [(PlayerAdaptiveSplit, WORDS, 'adaptive_split.csv')]\n",
+      "\n",
+      "games_per_player = 1000\n",
+      "\n",
+      "for p, a, f in players:\n",
+      "    with open(f, 'w', newline='') as csvfile:\n",
+      "        gamewriter = csv.writer(csvfile)\n",
+      "        gamewriter.writerow([\"target\", \"discovered\", \"wrong letters\", \"number of hits\", \"lives remaining\", \"game won\"])\n",
+      "        for _ in range(games_per_player):\n",
+      "            if a:\n",
+      "                player = p(a)\n",
+      "            else:\n",
+      "                player=p()\n",
+      "            g = Game(random.choice(WORDS), player=player)\n",
+      "            g.play_game()\n",
+      "            gamewriter.writerow([g.target, g.discovered, g.wrong_letters, \n",
+      "                                len([l for l in g.discovered if l != '_']),\n",
+      "                                g.lives, g.game_won])"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 6
+    },
     {
      "cell_type": "code",
      "collapsed": false,
      "language": "python",
      "metadata": {},
      "outputs": [],
-     "prompt_number": 66
+     "prompt_number": 7
     },
     {
      "cell_type": "code",
        ],
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 67,
+       "prompt_number": 8,
        "text": [
         "             target                                         discovered  \\\n",
         "0        mouldering  ['m', 'o', 'u', 'l', 'd', 'e', 'r', 'i', 'n', ...   \n",
        ]
       }
      ],
-     "prompt_number": 67
+     "prompt_number": 8
     },
     {
      "cell_type": "code",
       {
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 68,
+       "prompt_number": 9,
        "text": [
         "10"
        ]
       }
      ],
-     "prompt_number": 68
+     "prompt_number": 9
     },
     {
      "cell_type": "code",
        ],
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 69,
+       "prompt_number": 10,
        "text": [
         "             target                                         discovered  \\\n",
         "0        mouldering  ['m', 'o', 'u', 'l', 'd', 'e', 'r', 'i', 'n', ...   \n",
        ]
       }
      ],
-     "prompt_number": 69
+     "prompt_number": 10
     },
     {
      "cell_type": "code",
       {
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 70,
+       "prompt_number": 11,
        "text": [
-        "<matplotlib.axes.AxesSubplot at 0x7f6708f506a0>"
+        "<matplotlib.axes.AxesSubplot at 0x7f15a58c0780>"
        ]
       },
       {
        "output_type": "display_data",
        "png": "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\ntnpo7g5vAAAAAElFTkSuQmCC\n",
        "text": [
-        "<matplotlib.figure.Figure at 0x7f6709919fd0>"
+        "<matplotlib.figure.Figure at 0x7f15a58e0fd0>"
        ]
       }
      ],
-     "prompt_number": 70
+     "prompt_number": 11
     },
     {
      "cell_type": "code",
       {
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 71,
+       "prompt_number": 12,
        "text": [
         "lives remaining\n",
         "0                  667\n",
        ]
       }
      ],
-     "prompt_number": 71
+     "prompt_number": 12
     },
     {
      "cell_type": "code",
        ],
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 72,
+       "prompt_number": 18,
        "text": [
         "             target                                         discovered  \\\n",
         "0         toothsome      ['t', 'o', 'o', 't', 'h', 's', 'o', 'm', 'e']   \n",
        ]
       }
      ],
-     "prompt_number": 72
+     "prompt_number": 18
     },
     {
      "cell_type": "code",
        ],
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 73,
+       "prompt_number": 14,
        "text": [
         "             target                                         discovered  \\\n",
         "0         toothsome      ['t', 'o', 'o', 't', 'h', 's', 'o', 'm', 'e']   \n",
        ]
       }
      ],
-     "prompt_number": 73
+     "prompt_number": 14
     },
     {
      "cell_type": "code",
       {
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 74,
+       "prompt_number": 15,
        "text": [
-        "<matplotlib.axes.AxesSubplot at 0x7f672cca9ba8>"
+        "<matplotlib.axes.AxesSubplot at 0x7f1586fb5978>"
        ]
       },
       {
        "output_type": "display_data",
        "png": "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\nwf8D25ze66lP9woAAAAASUVORK5CYII=\n",
        "text": [
-        "<matplotlib.figure.Figure at 0x7f672c353a58>"
+        "<matplotlib.figure.Figure at 0x7f1586fb55f8>"
        ]
       }
      ],
-     "prompt_number": 74
+     "prompt_number": 15
     },
     {
      "cell_type": "code",
       {
        "metadata": {},
        "output_type": "pyout",
-       "prompt_number": 75,
+       "prompt_number": 16,
        "text": [
         "lives remaining\n",
         "0                   11\n",
        ]
       }
      ],
-     "prompt_number": 75
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "adaptive_split = pd.read_csv('adaptive_split.csv')\n",
+      "adaptive_split"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "html": [
+        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
+        "<table border=\"1\" class=\"dataframe\">\n",
+        "  <thead>\n",
+        "    <tr style=\"text-align: right;\">\n",
+        "      <th></th>\n",
+        "      <th>target</th>\n",
+        "      <th>discovered</th>\n",
+        "      <th>wrong letters</th>\n",
+        "      <th>number of hits</th>\n",
+        "      <th>lives remaining</th>\n",
+        "      <th>game won</th>\n",
+        "    </tr>\n",
+        "  </thead>\n",
+        "  <tbody>\n",
+        "    <tr>\n",
+        "      <th>0  </th>\n",
+        "      <td>             punned</td>\n",
+        "      <td>                    ['p', 'u', 'n', 'n', 'e', 'd']</td>\n",
+        "      <td>                         ['s', 'r', 'l', 'a', 'i']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>1  </th>\n",
+        "      <td>              anode</td>\n",
+        "      <td>                         ['a', 'n', 'o', 'd', 'e']</td>\n",
+        "      <td>                                   ['s', 'l', 'b']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>2  </th>\n",
+        "      <td>             passes</td>\n",
+        "      <td>                    ['p', 'a', 's', 's', 'e', 's']</td>\n",
+        "      <td>                                        ['l', 'b']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>3  </th>\n",
+        "      <td>             maxing</td>\n",
+        "      <td>                    ['m', 'a', 'x', 'i', 'n', 'g']</td>\n",
+        "      <td>     ['s', 'r', 'd', 't', 'w', 'l', 'p', 'k', 'c']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  1</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>4  </th>\n",
+        "      <td>           quadrant</td>\n",
+        "      <td>          ['q', 'u', 'a', 'd', 'r', 'a', 'n', 't']</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td>  8</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>5  </th>\n",
+        "      <td>           polygamy</td>\n",
+        "      <td>          ['p', 'o', 'l', 'y', 'g', 'a', 'm', 'y']</td>\n",
+        "      <td>                              ['r', 'i', 's', 'd']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>6  </th>\n",
+        "      <td>      technologists</td>\n",
+        "      <td> ['t', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', ...</td>\n",
+        "      <td>                                             ['r']</td>\n",
+        "      <td> 13</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>7  </th>\n",
+        "      <td>             tussle</td>\n",
+        "      <td>                    ['t', 'u', 's', 's', 'l', 'e']</td>\n",
+        "      <td>                                             ['a']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>8  </th>\n",
+        "      <td>         explicitly</td>\n",
+        "      <td> ['e', 'x', 'p', 'l', 'i', 'c', 'i', 't', 'l', ...</td>\n",
+        "      <td>                         ['o', 'a', 'b', 's', 'm']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>9  </th>\n",
+        "      <td>         moderators</td>\n",
+        "      <td> ['m', 'o', 'd', 'e', 'r', 'a', 't', 'o', 'r', ...</td>\n",
+        "      <td>                                             ['u']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>10 </th>\n",
+        "      <td>              error</td>\n",
+        "      <td>                         ['e', 'r', 'r', 'o', 'r']</td>\n",
+        "      <td>                         ['s', 't', 'n', 'l', 'y']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>11 </th>\n",
+        "      <td>            stamped</td>\n",
+        "      <td>               ['s', 't', 'a', 'm', 'p', 'e', 'd']</td>\n",
+        "      <td>                         ['r', 'i', 'l', 'b', 'c']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>12 </th>\n",
+        "      <td>              dress</td>\n",
+        "      <td>                         ['d', 'r', 'e', 's', 's']</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td>  5</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>13 </th>\n",
+        "      <td>           truckled</td>\n",
+        "      <td>          ['t', 'r', 'u', 'c', 'k', 'l', 'e', 'd']</td>\n",
+        "      <td>                         ['s', 'i', 'a', 'b', 'p']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>14 </th>\n",
+        "      <td>      accommodation</td>\n",
+        "      <td> ['a', 'c', 'c', 'o', 'm', 'm', 'o', 'd', 'a', ...</td>\n",
+        "      <td>                                        ['s', 'g']</td>\n",
+        "      <td> 13</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>15 </th>\n",
+        "      <td>             reload</td>\n",
+        "      <td>                    ['r', 'e', 'l', 'o', 'a', 'd']</td>\n",
+        "      <td>                                        ['s', 'i']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>16 </th>\n",
+        "      <td>         confounded</td>\n",
+        "      <td> ['c', 'o', 'n', 'f', 'o', 'u', 'n', 'd', 'e', ...</td>\n",
+        "      <td>                                             ['p']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>17 </th>\n",
+        "      <td>         racketeers</td>\n",
+        "      <td> ['r', 'a', 'c', 'k', 'e', 't', 'e', 'e', 'r', ...</td>\n",
+        "      <td>                                        ['o', 'l']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>18 </th>\n",
+        "      <td>        ignoramuses</td>\n",
+        "      <td> ['i', 'g', 'n', 'o', 'r', 'a', 'm', 'u', 's', ...</td>\n",
+        "      <td>                                             ['l']</td>\n",
+        "      <td> 11</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>19 </th>\n",
+        "      <td>              party</td>\n",
+        "      <td>                         ['p', 'a', 'r', 't', 'y']</td>\n",
+        "      <td>                              ['s', 'e', 'n', 'd']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>20 </th>\n",
+        "      <td>               rill</td>\n",
+        "      <td>                              ['r', 'i', 'l', 'l']</td>\n",
+        "      <td>                    ['e', 's', 'a', 'o', 'u', 'n']</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>21 </th>\n",
+        "      <td>             player</td>\n",
+        "      <td>                    ['p', 'l', 'a', 'y', 'e', 'r']</td>\n",
+        "      <td>                                        ['s', 'm']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>22 </th>\n",
+        "      <td>          protester</td>\n",
+        "      <td>     ['p', 'r', 'o', 't', 'e', 's', 't', 'e', 'r']</td>\n",
+        "      <td>                                   ['i', 'd', 'l']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>23 </th>\n",
+        "      <td>          asphalted</td>\n",
+        "      <td>     ['a', 's', 'p', 'h', 'a', 'l', 't', 'e', 'd']</td>\n",
+        "      <td>                                        ['r', 'i']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>24 </th>\n",
+        "      <td>           uniforms</td>\n",
+        "      <td>          ['u', 'n', 'i', 'f', 'o', 'r', 'm', 's']</td>\n",
+        "      <td>                                   ['a', 't', 'p']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>25 </th>\n",
+        "      <td>         coniferous</td>\n",
+        "      <td> ['c', 'o', 'n', 'i', 'f', 'e', 'r', 'o', 'u', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 10</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>26 </th>\n",
+        "      <td>         dishearten</td>\n",
+        "      <td> ['d', 'i', 's', 'h', 'e', 'a', 'r', 't', 'e', ...</td>\n",
+        "      <td>                                   ['o', 'l', 'g']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>27 </th>\n",
+        "      <td>              scull</td>\n",
+        "      <td>                         ['s', 'c', 'u', 'l', 'l']</td>\n",
+        "      <td>                         ['e', 'a', 'o', 'i', 'n']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>28 </th>\n",
+        "      <td>             virgin</td>\n",
+        "      <td>                    ['v', 'i', 'r', 'g', 'i', 'n']</td>\n",
+        "      <td>                                   ['s', 'a', 'd']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>29 </th>\n",
+        "      <td>       licentiously</td>\n",
+        "      <td> ['l', 'i', 'c', 'e', 'n', 't', 'i', 'o', 'u', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 12</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>...</th>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>970</th>\n",
+        "      <td>         grindstone</td>\n",
+        "      <td> ['g', 'r', 'i', 'n', 'd', 's', 't', 'o', 'n', ...</td>\n",
+        "      <td>                                   ['a', 'u', 'p']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>971</th>\n",
+        "      <td>       bankruptcies</td>\n",
+        "      <td> ['b', 'a', 'n', 'k', 'r', 'u', 'p', 't', 'c', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 12</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>972</th>\n",
+        "      <td>             smalls</td>\n",
+        "      <td>                    ['s', 'm', 'a', 'l', 'l', 's']</td>\n",
+        "      <td>                              ['e', 't', 'k', 'w']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>973</th>\n",
+        "      <td>            limping</td>\n",
+        "      <td>               ['l', 'i', 'm', 'p', 'i', 'n', 'g']</td>\n",
+        "      <td>               ['s', 'r', 'e', 'a', 'o', 'u', 'k']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  3</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>974</th>\n",
+        "      <td>        interfacing</td>\n",
+        "      <td> ['i', 'n', 't', 'e', 'r', 'f', 'a', 'c', 'i', ...</td>\n",
+        "      <td>                              ['o', 'l', 'd', 's']</td>\n",
+        "      <td> 11</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>975</th>\n",
+        "      <td>               mint</td>\n",
+        "      <td>                              ['_', '_', 'n', 't']</td>\n",
+        "      <td> ['e', 's', 'a', 'o', 'u', 'd', 'k', 'l', 'p', ...</td>\n",
+        "      <td>  2</td>\n",
+        "      <td>  0</td>\n",
+        "      <td> False</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>976</th>\n",
+        "      <td>       romanticises</td>\n",
+        "      <td> ['r', 'o', 'm', 'a', 'n', 't', 'i', 'c', 'i', ...</td>\n",
+        "      <td>                                             ['d']</td>\n",
+        "      <td> 12</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>977</th>\n",
+        "      <td>           cleavage</td>\n",
+        "      <td>          ['c', 'l', 'e', 'a', 'v', 'a', 'g', 'e']</td>\n",
+        "      <td>                                        ['r', 's']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>978</th>\n",
+        "      <td>            revival</td>\n",
+        "      <td>               ['r', 'e', 'v', 'i', 'v', 'a', 'l']</td>\n",
+        "      <td>                              ['s', 'n', 'c', 'm']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>979</th>\n",
+        "      <td>            praying</td>\n",
+        "      <td>               ['p', 'r', 'a', 'y', 'i', 'n', 'g']</td>\n",
+        "      <td>                              ['s', 'd', 'c', 'b']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>980</th>\n",
+        "      <td>             troupe</td>\n",
+        "      <td>                    ['t', 'r', 'o', 'u', 'p', 'e']</td>\n",
+        "      <td>                              ['s', 'g', 'a', 'l']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>981</th>\n",
+        "      <td>             public</td>\n",
+        "      <td>                    ['p', 'u', 'b', 'l', 'i', 'c']</td>\n",
+        "      <td>                    ['s', 'r', 'd', 'n', 'a', 'e']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>982</th>\n",
+        "      <td>         generating</td>\n",
+        "      <td> ['g', 'e', 'n', 'e', 'r', 'a', 't', 'i', 'n', ...</td>\n",
+        "      <td>                                        ['o', 'l']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>983</th>\n",
+        "      <td>            sallies</td>\n",
+        "      <td>               ['s', 'a', 'l', 'l', 'i', 'e', 's']</td>\n",
+        "      <td>                                             ['r']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>984</th>\n",
+        "      <td>              yacht</td>\n",
+        "      <td>                         ['y', 'a', 'c', 'h', 't']</td>\n",
+        "      <td>                                        ['s', 'e']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>985</th>\n",
+        "      <td>            armpits</td>\n",
+        "      <td>               ['a', 'r', 'm', 'p', 'i', 't', 's']</td>\n",
+        "      <td>                                             ['o']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>986</th>\n",
+        "      <td>            oblongs</td>\n",
+        "      <td>               ['o', 'b', 'l', 'o', 'n', 'g', 's']</td>\n",
+        "      <td>                                   ['r', 'i', 'a']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>987</th>\n",
+        "      <td>          developed</td>\n",
+        "      <td>     ['d', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'd']</td>\n",
+        "      <td>                         ['t', 'a', 'r', 'n', 'i']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>988</th>\n",
+        "      <td>           demolish</td>\n",
+        "      <td>          ['d', 'e', 'm', 'o', 'l', 'i', 's', 'h']</td>\n",
+        "      <td>                                   ['r', 'a', 't']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>989</th>\n",
+        "      <td>            pincers</td>\n",
+        "      <td>               ['p', 'i', 'n', 'c', 'e', 'r', 's']</td>\n",
+        "      <td>                         ['a', 'o', 't', 'd', 'l']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>990</th>\n",
+        "      <td> telecommunications</td>\n",
+        "      <td> ['t', 'e', 'l', 'e', 'c', 'o', 'm', 'm', 'u', ...</td>\n",
+        "      <td>                                        ['p', 'r']</td>\n",
+        "      <td> 18</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>991</th>\n",
+        "      <td>             dabble</td>\n",
+        "      <td>                    ['d', 'a', 'b', 'b', 'l', 'e']</td>\n",
+        "      <td>                         ['s', 'r', 'i', 'n', 'y']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>992</th>\n",
+        "      <td>          morticing</td>\n",
+        "      <td>     ['m', 'o', 'r', 't', 'i', 'c', 'i', 'n', 'g']</td>\n",
+        "      <td>                              ['a', 's', 'f', 'd']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>993</th>\n",
+        "      <td>              weals</td>\n",
+        "      <td>                         ['w', 'e', 'a', 'l', 's']</td>\n",
+        "      <td>                         ['r', 'd', 'p', 'm', 'h']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>994</th>\n",
+        "      <td>              dryer</td>\n",
+        "      <td>                         ['d', 'r', 'y', 'e', 'r']</td>\n",
+        "      <td>                                        ['s', 'i']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>995</th>\n",
+        "      <td>     inconclusively</td>\n",
+        "      <td> ['i', 'n', 'c', 'o', 'n', 'c', 'l', 'u', 's', ...</td>\n",
+        "      <td>                                             ['d']</td>\n",
+        "      <td> 14</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>996</th>\n",
+        "      <td>          bubbliest</td>\n",
+        "      <td>     ['_', '_', '_', '_', '_', '_', '_', '_', 't']</td>\n",
+        "      <td> ['n', 'r', 'o', 'c', 'a', 'm', 'h', 'p', 'f', ...</td>\n",
+        "      <td>  1</td>\n",
+        "      <td>  0</td>\n",
+        "      <td> False</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>997</th>\n",
+        "      <td>             graded</td>\n",
+        "      <td>                    ['g', 'r', 'a', 'd', 'e', 'd']</td>\n",
+        "      <td>                    ['s', 'c', 'v', 'y', 't', 'z']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>998</th>\n",
+        "      <td>           carriage</td>\n",
+        "      <td>          ['c', 'a', 'r', 'r', 'i', 'a', 'g', 'e']</td>\n",
+        "      <td>                                   ['s', 'l', 'd']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>999</th>\n",
+        "      <td>         datelining</td>\n",
+        "      <td> ['d', 'a', 't', 'e', 'l', 'i', 'n', 'i', 'n', ...</td>\n",
+        "      <td>                                        ['o', 's']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "    </tr>\n",
+        "  </tbody>\n",
+        "</table>\n",
+        "<p>1000 rows \u00d7 6 columns</p>\n",
+        "</div>"
+       ],
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 19,
+       "text": [
+        "                 target                                         discovered  \\\n",
+        "0                punned                     ['p', 'u', 'n', 'n', 'e', 'd']   \n",
+        "1                 anode                          ['a', 'n', 'o', 'd', 'e']   \n",
+        "2                passes                     ['p', 'a', 's', 's', 'e', 's']   \n",
+        "3                maxing                     ['m', 'a', 'x', 'i', 'n', 'g']   \n",
+        "4              quadrant           ['q', 'u', 'a', 'd', 'r', 'a', 'n', 't']   \n",
+        "5              polygamy           ['p', 'o', 'l', 'y', 'g', 'a', 'm', 'y']   \n",
+        "6         technologists  ['t', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', ...   \n",
+        "7                tussle                     ['t', 'u', 's', 's', 'l', 'e']   \n",
+        "8            explicitly  ['e', 'x', 'p', 'l', 'i', 'c', 'i', 't', 'l', ...   \n",
+        "9            moderators  ['m', 'o', 'd', 'e', 'r', 'a', 't', 'o', 'r', ...   \n",
+        "10                error                          ['e', 'r', 'r', 'o', 'r']   \n",
+        "11              stamped                ['s', 't', 'a', 'm', 'p', 'e', 'd']   \n",
+        "12                dress                          ['d', 'r', 'e', 's', 's']   \n",
+        "13             truckled           ['t', 'r', 'u', 'c', 'k', 'l', 'e', 'd']   \n",
+        "14        accommodation  ['a', 'c', 'c', 'o', 'm', 'm', 'o', 'd', 'a', ...   \n",
+        "15               reload                     ['r', 'e', 'l', 'o', 'a', 'd']   \n",
+        "16           confounded  ['c', 'o', 'n', 'f', 'o', 'u', 'n', 'd', 'e', ...   \n",
+        "17           racketeers  ['r', 'a', 'c', 'k', 'e', 't', 'e', 'e', 'r', ...   \n",
+        "18          ignoramuses  ['i', 'g', 'n', 'o', 'r', 'a', 'm', 'u', 's', ...   \n",
+        "19                party                          ['p', 'a', 'r', 't', 'y']   \n",
+        "20                 rill                               ['r', 'i', 'l', 'l']   \n",
+        "21               player                     ['p', 'l', 'a', 'y', 'e', 'r']   \n",
+        "22            protester      ['p', 'r', 'o', 't', 'e', 's', 't', 'e', 'r']   \n",
+        "23            asphalted      ['a', 's', 'p', 'h', 'a', 'l', 't', 'e', 'd']   \n",
+        "24             uniforms           ['u', 'n', 'i', 'f', 'o', 'r', 'm', 's']   \n",
+        "25           coniferous  ['c', 'o', 'n', 'i', 'f', 'e', 'r', 'o', 'u', ...   \n",
+        "26           dishearten  ['d', 'i', 's', 'h', 'e', 'a', 'r', 't', 'e', ...   \n",
+        "27                scull                          ['s', 'c', 'u', 'l', 'l']   \n",
+        "28               virgin                     ['v', 'i', 'r', 'g', 'i', 'n']   \n",
+        "29         licentiously  ['l', 'i', 'c', 'e', 'n', 't', 'i', 'o', 'u', ...   \n",
+        "..                  ...                                                ...   \n",
+        "970          grindstone  ['g', 'r', 'i', 'n', 'd', 's', 't', 'o', 'n', ...   \n",
+        "971        bankruptcies  ['b', 'a', 'n', 'k', 'r', 'u', 'p', 't', 'c', ...   \n",
+        "972              smalls                     ['s', 'm', 'a', 'l', 'l', 's']   \n",
+        "973             limping                ['l', 'i', 'm', 'p', 'i', 'n', 'g']   \n",
+        "974         interfacing  ['i', 'n', 't', 'e', 'r', 'f', 'a', 'c', 'i', ...   \n",
+        "975                mint                               ['_', '_', 'n', 't']   \n",
+        "976        romanticises  ['r', 'o', 'm', 'a', 'n', 't', 'i', 'c', 'i', ...   \n",
+        "977            cleavage           ['c', 'l', 'e', 'a', 'v', 'a', 'g', 'e']   \n",
+        "978             revival                ['r', 'e', 'v', 'i', 'v', 'a', 'l']   \n",
+        "979             praying                ['p', 'r', 'a', 'y', 'i', 'n', 'g']   \n",
+        "980              troupe                     ['t', 'r', 'o', 'u', 'p', 'e']   \n",
+        "981              public                     ['p', 'u', 'b', 'l', 'i', 'c']   \n",
+        "982          generating  ['g', 'e', 'n', 'e', 'r', 'a', 't', 'i', 'n', ...   \n",
+        "983             sallies                ['s', 'a', 'l', 'l', 'i', 'e', 's']   \n",
+        "984               yacht                          ['y', 'a', 'c', 'h', 't']   \n",
+        "985             armpits                ['a', 'r', 'm', 'p', 'i', 't', 's']   \n",
+        "986             oblongs                ['o', 'b', 'l', 'o', 'n', 'g', 's']   \n",
+        "987           developed      ['d', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'd']   \n",
+        "988            demolish           ['d', 'e', 'm', 'o', 'l', 'i', 's', 'h']   \n",
+        "989             pincers                ['p', 'i', 'n', 'c', 'e', 'r', 's']   \n",
+        "990  telecommunications  ['t', 'e', 'l', 'e', 'c', 'o', 'm', 'm', 'u', ...   \n",
+        "991              dabble                     ['d', 'a', 'b', 'b', 'l', 'e']   \n",
+        "992           morticing      ['m', 'o', 'r', 't', 'i', 'c', 'i', 'n', 'g']   \n",
+        "993               weals                          ['w', 'e', 'a', 'l', 's']   \n",
+        "994               dryer                          ['d', 'r', 'y', 'e', 'r']   \n",
+        "995      inconclusively  ['i', 'n', 'c', 'o', 'n', 'c', 'l', 'u', 's', ...   \n",
+        "996           bubbliest      ['_', '_', '_', '_', '_', '_', '_', '_', 't']   \n",
+        "997              graded                     ['g', 'r', 'a', 'd', 'e', 'd']   \n",
+        "998            carriage           ['c', 'a', 'r', 'r', 'i', 'a', 'g', 'e']   \n",
+        "999          datelining  ['d', 'a', 't', 'e', 'l', 'i', 'n', 'i', 'n', ...   \n",
+        "\n",
+        "                                         wrong letters  number of hits  \\\n",
+        "0                            ['s', 'r', 'l', 'a', 'i']               6   \n",
+        "1                                      ['s', 'l', 'b']               5   \n",
+        "2                                           ['l', 'b']               6   \n",
+        "3        ['s', 'r', 'd', 't', 'w', 'l', 'p', 'k', 'c']               6   \n",
+        "4                                                   []               8   \n",
+        "5                                 ['r', 'i', 's', 'd']               8   \n",
+        "6                                                ['r']              13   \n",
+        "7                                                ['a']               6   \n",
+        "8                            ['o', 'a', 'b', 's', 'm']              10   \n",
+        "9                                                ['u']              10   \n",
+        "10                           ['s', 't', 'n', 'l', 'y']               5   \n",
+        "11                           ['r', 'i', 'l', 'b', 'c']               7   \n",
+        "12                                                  []               5   \n",
+        "13                           ['s', 'i', 'a', 'b', 'p']               8   \n",
+        "14                                          ['s', 'g']              13   \n",
+        "15                                          ['s', 'i']               6   \n",
+        "16                                               ['p']              10   \n",
+        "17                                          ['o', 'l']              10   \n",
+        "18                                               ['l']              11   \n",
+        "19                                ['s', 'e', 'n', 'd']               5   \n",
+        "20                      ['e', 's', 'a', 'o', 'u', 'n']               4   \n",
+        "21                                          ['s', 'm']               6   \n",
+        "22                                     ['i', 'd', 'l']               9   \n",
+        "23                                          ['r', 'i']               9   \n",
+        "24                                     ['a', 't', 'p']               8   \n",
+        "25                                                  []              10   \n",
+        "26                                     ['o', 'l', 'g']              10   \n",
+        "27                           ['e', 'a', 'o', 'i', 'n']               5   \n",
+        "28                                     ['s', 'a', 'd']               6   \n",
+        "29                                                  []              12   \n",
+        "..                                                 ...             ...   \n",
+        "970                                    ['a', 'u', 'p']              10   \n",
+        "971                                                 []              12   \n",
+        "972                               ['e', 't', 'k', 'w']               6   \n",
+        "973                ['s', 'r', 'e', 'a', 'o', 'u', 'k']               7   \n",
+        "974                               ['o', 'l', 'd', 's']              11   \n",
+        "975  ['e', 's', 'a', 'o', 'u', 'd', 'k', 'l', 'p', ...               2   \n",
+        "976                                              ['d']              12   \n",
+        "977                                         ['r', 's']               8   \n",
+        "978                               ['s', 'n', 'c', 'm']               7   \n",
+        "979                               ['s', 'd', 'c', 'b']               7   \n",
+        "980                               ['s', 'g', 'a', 'l']               6   \n",
+        "981                     ['s', 'r', 'd', 'n', 'a', 'e']               6   \n",
+        "982                                         ['o', 'l']              10   \n",
+        "983                                              ['r']               7   \n",
+        "984                                         ['s', 'e']               5   \n",
+        "985                                              ['o']               7   \n",
+        "986                                    ['r', 'i', 'a']               7   \n",
+        "987                          ['t', 'a', 'r', 'n', 'i']               9   \n",
+        "988                                    ['r', 'a', 't']               8   \n",
+        "989                          ['a', 'o', 't', 'd', 'l']               7   \n",
+        "990                                         ['p', 'r']              18   \n",
+        "991                          ['s', 'r', 'i', 'n', 'y']               6   \n",
+        "992                               ['a', 's', 'f', 'd']               9   \n",
+        "993                          ['r', 'd', 'p', 'm', 'h']               5   \n",
+        "994                                         ['s', 'i']               5   \n",
+        "995                                              ['d']              14   \n",
+        "996  ['n', 'r', 'o', 'c', 'a', 'm', 'h', 'p', 'f', ...               1   \n",
+        "997                     ['s', 'c', 'v', 'y', 't', 'z']               6   \n",
+        "998                                    ['s', 'l', 'd']               8   \n",
+        "999                                         ['o', 's']              10   \n",
+        "\n",
+        "     lives remaining game won  \n",
+        "0                  5     True  \n",
+        "1                  7     True  \n",
+        "2                  8     True  \n",
+        "3                  1     True  \n",
+        "4                 10     True  \n",
+        "5                  6     True  \n",
+        "6                  9     True  \n",
+        "7                  9     True  \n",
+        "8                  5     True  \n",
+        "9                  9     True  \n",
+        "10                 5     True  \n",
+        "11                 5     True  \n",
+        "12                10     True  \n",
+        "13                 5     True  \n",
+        "14                 8     True  \n",
+        "15                 8     True  \n",
+        "16                 9     True  \n",
+        "17                 8     True  \n",
+        "18                 9     True  \n",
+        "19                 6     True  \n",
+        "20                 4     True  \n",
+        "21                 8     True  \n",
+        "22                 7     True  \n",
+        "23                 8     True  \n",
+        "24                 7     True  \n",
+        "25                10     True  \n",
+        "26                 7     True  \n",
+        "27                 5     True  \n",
+        "28                 7     True  \n",
+        "29                10     True  \n",
+        "..               ...      ...  \n",
+        "970                7     True  \n",
+        "971               10     True  \n",
+        "972                6     True  \n",
+        "973                3     True  \n",
+        "974                6     True  \n",
+        "975                0    False  \n",
+        "976                9     True  \n",
+        "977                8     True  \n",
+        "978                6     True  \n",
+        "979                6     True  \n",
+        "980                6     True  \n",
+        "981                4     True  \n",
+        "982                8     True  \n",
+        "983                9     True  \n",
+        "984                8     True  \n",
+        "985                9     True  \n",
+        "986                7     True  \n",
+        "987                5     True  \n",
+        "988                7     True  \n",
+        "989                5     True  \n",
+        "990                8     True  \n",
+        "991                5     True  \n",
+        "992                6     True  \n",
+        "993                5     True  \n",
+        "994                8     True  \n",
+        "995                9     True  \n",
+        "996                0    False  \n",
+        "997                4     True  \n",
+        "998                7     True  \n",
+        "999                8     True  \n",
+        "\n",
+        "[1000 rows x 6 columns]"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "adaptive_split['word length'] = adaptive_split.apply(lambda r: len(r['target']), axis=1)\n",
+      "adaptive_split"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "html": [
+        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
+        "<table border=\"1\" class=\"dataframe\">\n",
+        "  <thead>\n",
+        "    <tr style=\"text-align: right;\">\n",
+        "      <th></th>\n",
+        "      <th>target</th>\n",
+        "      <th>discovered</th>\n",
+        "      <th>wrong letters</th>\n",
+        "      <th>number of hits</th>\n",
+        "      <th>lives remaining</th>\n",
+        "      <th>game won</th>\n",
+        "      <th>word length</th>\n",
+        "    </tr>\n",
+        "  </thead>\n",
+        "  <tbody>\n",
+        "    <tr>\n",
+        "      <th>0  </th>\n",
+        "      <td>             punned</td>\n",
+        "      <td>                    ['p', 'u', 'n', 'n', 'e', 'd']</td>\n",
+        "      <td>                         ['s', 'r', 'l', 'a', 'i']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>1  </th>\n",
+        "      <td>              anode</td>\n",
+        "      <td>                         ['a', 'n', 'o', 'd', 'e']</td>\n",
+        "      <td>                                   ['s', 'l', 'b']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>2  </th>\n",
+        "      <td>             passes</td>\n",
+        "      <td>                    ['p', 'a', 's', 's', 'e', 's']</td>\n",
+        "      <td>                                        ['l', 'b']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>3  </th>\n",
+        "      <td>             maxing</td>\n",
+        "      <td>                    ['m', 'a', 'x', 'i', 'n', 'g']</td>\n",
+        "      <td>     ['s', 'r', 'd', 't', 'w', 'l', 'p', 'k', 'c']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  1</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>4  </th>\n",
+        "      <td>           quadrant</td>\n",
+        "      <td>          ['q', 'u', 'a', 'd', 'r', 'a', 'n', 't']</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td>  8</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>5  </th>\n",
+        "      <td>           polygamy</td>\n",
+        "      <td>          ['p', 'o', 'l', 'y', 'g', 'a', 'm', 'y']</td>\n",
+        "      <td>                              ['r', 'i', 's', 'd']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>6  </th>\n",
+        "      <td>      technologists</td>\n",
+        "      <td> ['t', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', ...</td>\n",
+        "      <td>                                             ['r']</td>\n",
+        "      <td> 13</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 13</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>7  </th>\n",
+        "      <td>             tussle</td>\n",
+        "      <td>                    ['t', 'u', 's', 's', 'l', 'e']</td>\n",
+        "      <td>                                             ['a']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>8  </th>\n",
+        "      <td>         explicitly</td>\n",
+        "      <td> ['e', 'x', 'p', 'l', 'i', 'c', 'i', 't', 'l', ...</td>\n",
+        "      <td>                         ['o', 'a', 'b', 's', 'm']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>9  </th>\n",
+        "      <td>         moderators</td>\n",
+        "      <td> ['m', 'o', 'd', 'e', 'r', 'a', 't', 'o', 'r', ...</td>\n",
+        "      <td>                                             ['u']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>10 </th>\n",
+        "      <td>              error</td>\n",
+        "      <td>                         ['e', 'r', 'r', 'o', 'r']</td>\n",
+        "      <td>                         ['s', 't', 'n', 'l', 'y']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>11 </th>\n",
+        "      <td>            stamped</td>\n",
+        "      <td>               ['s', 't', 'a', 'm', 'p', 'e', 'd']</td>\n",
+        "      <td>                         ['r', 'i', 'l', 'b', 'c']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>12 </th>\n",
+        "      <td>              dress</td>\n",
+        "      <td>                         ['d', 'r', 'e', 's', 's']</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td>  5</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>13 </th>\n",
+        "      <td>           truckled</td>\n",
+        "      <td>          ['t', 'r', 'u', 'c', 'k', 'l', 'e', 'd']</td>\n",
+        "      <td>                         ['s', 'i', 'a', 'b', 'p']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>14 </th>\n",
+        "      <td>      accommodation</td>\n",
+        "      <td> ['a', 'c', 'c', 'o', 'm', 'm', 'o', 'd', 'a', ...</td>\n",
+        "      <td>                                        ['s', 'g']</td>\n",
+        "      <td> 13</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 13</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>15 </th>\n",
+        "      <td>             reload</td>\n",
+        "      <td>                    ['r', 'e', 'l', 'o', 'a', 'd']</td>\n",
+        "      <td>                                        ['s', 'i']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>16 </th>\n",
+        "      <td>         confounded</td>\n",
+        "      <td> ['c', 'o', 'n', 'f', 'o', 'u', 'n', 'd', 'e', ...</td>\n",
+        "      <td>                                             ['p']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>17 </th>\n",
+        "      <td>         racketeers</td>\n",
+        "      <td> ['r', 'a', 'c', 'k', 'e', 't', 'e', 'e', 'r', ...</td>\n",
+        "      <td>                                        ['o', 'l']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>18 </th>\n",
+        "      <td>        ignoramuses</td>\n",
+        "      <td> ['i', 'g', 'n', 'o', 'r', 'a', 'm', 'u', 's', ...</td>\n",
+        "      <td>                                             ['l']</td>\n",
+        "      <td> 11</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 11</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>19 </th>\n",
+        "      <td>              party</td>\n",
+        "      <td>                         ['p', 'a', 'r', 't', 'y']</td>\n",
+        "      <td>                              ['s', 'e', 'n', 'd']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>20 </th>\n",
+        "      <td>               rill</td>\n",
+        "      <td>                              ['r', 'i', 'l', 'l']</td>\n",
+        "      <td>                    ['e', 's', 'a', 'o', 'u', 'n']</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  4</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>21 </th>\n",
+        "      <td>             player</td>\n",
+        "      <td>                    ['p', 'l', 'a', 'y', 'e', 'r']</td>\n",
+        "      <td>                                        ['s', 'm']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>22 </th>\n",
+        "      <td>          protester</td>\n",
+        "      <td>     ['p', 'r', 'o', 't', 'e', 's', 't', 'e', 'r']</td>\n",
+        "      <td>                                   ['i', 'd', 'l']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  9</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>23 </th>\n",
+        "      <td>          asphalted</td>\n",
+        "      <td>     ['a', 's', 'p', 'h', 'a', 'l', 't', 'e', 'd']</td>\n",
+        "      <td>                                        ['r', 'i']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  9</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>24 </th>\n",
+        "      <td>           uniforms</td>\n",
+        "      <td>          ['u', 'n', 'i', 'f', 'o', 'r', 'm', 's']</td>\n",
+        "      <td>                                   ['a', 't', 'p']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>25 </th>\n",
+        "      <td>         coniferous</td>\n",
+        "      <td> ['c', 'o', 'n', 'i', 'f', 'e', 'r', 'o', 'u', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 10</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>26 </th>\n",
+        "      <td>         dishearten</td>\n",
+        "      <td> ['d', 'i', 's', 'h', 'e', 'a', 'r', 't', 'e', ...</td>\n",
+        "      <td>                                   ['o', 'l', 'g']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>27 </th>\n",
+        "      <td>              scull</td>\n",
+        "      <td>                         ['s', 'c', 'u', 'l', 'l']</td>\n",
+        "      <td>                         ['e', 'a', 'o', 'i', 'n']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>28 </th>\n",
+        "      <td>             virgin</td>\n",
+        "      <td>                    ['v', 'i', 'r', 'g', 'i', 'n']</td>\n",
+        "      <td>                                   ['s', 'a', 'd']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>29 </th>\n",
+        "      <td>       licentiously</td>\n",
+        "      <td> ['l', 'i', 'c', 'e', 'n', 't', 'i', 'o', 'u', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 12</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 12</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>...</th>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "      <td>...</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>970</th>\n",
+        "      <td>         grindstone</td>\n",
+        "      <td> ['g', 'r', 'i', 'n', 'd', 's', 't', 'o', 'n', ...</td>\n",
+        "      <td>                                   ['a', 'u', 'p']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>971</th>\n",
+        "      <td>       bankruptcies</td>\n",
+        "      <td> ['b', 'a', 'n', 'k', 'r', 'u', 'p', 't', 'c', ...</td>\n",
+        "      <td>                                                []</td>\n",
+        "      <td> 12</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 12</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>972</th>\n",
+        "      <td>             smalls</td>\n",
+        "      <td>                    ['s', 'm', 'a', 'l', 'l', 's']</td>\n",
+        "      <td>                              ['e', 't', 'k', 'w']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>973</th>\n",
+        "      <td>            limping</td>\n",
+        "      <td>               ['l', 'i', 'm', 'p', 'i', 'n', 'g']</td>\n",
+        "      <td>               ['s', 'r', 'e', 'a', 'o', 'u', 'k']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  3</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>974</th>\n",
+        "      <td>        interfacing</td>\n",
+        "      <td> ['i', 'n', 't', 'e', 'r', 'f', 'a', 'c', 'i', ...</td>\n",
+        "      <td>                              ['o', 'l', 'd', 's']</td>\n",
+        "      <td> 11</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 11</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>975</th>\n",
+        "      <td>               mint</td>\n",
+        "      <td>                              ['_', '_', 'n', 't']</td>\n",
+        "      <td> ['e', 's', 'a', 'o', 'u', 'd', 'k', 'l', 'p', ...</td>\n",
+        "      <td>  2</td>\n",
+        "      <td>  0</td>\n",
+        "      <td> False</td>\n",
+        "      <td>  4</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>976</th>\n",
+        "      <td>       romanticises</td>\n",
+        "      <td> ['r', 'o', 'm', 'a', 'n', 't', 'i', 'c', 'i', ...</td>\n",
+        "      <td>                                             ['d']</td>\n",
+        "      <td> 12</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 12</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>977</th>\n",
+        "      <td>           cleavage</td>\n",
+        "      <td>          ['c', 'l', 'e', 'a', 'v', 'a', 'g', 'e']</td>\n",
+        "      <td>                                        ['r', 's']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>978</th>\n",
+        "      <td>            revival</td>\n",
+        "      <td>               ['r', 'e', 'v', 'i', 'v', 'a', 'l']</td>\n",
+        "      <td>                              ['s', 'n', 'c', 'm']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>979</th>\n",
+        "      <td>            praying</td>\n",
+        "      <td>               ['p', 'r', 'a', 'y', 'i', 'n', 'g']</td>\n",
+        "      <td>                              ['s', 'd', 'c', 'b']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>980</th>\n",
+        "      <td>             troupe</td>\n",
+        "      <td>                    ['t', 'r', 'o', 'u', 'p', 'e']</td>\n",
+        "      <td>                              ['s', 'g', 'a', 'l']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>981</th>\n",
+        "      <td>             public</td>\n",
+        "      <td>                    ['p', 'u', 'b', 'l', 'i', 'c']</td>\n",
+        "      <td>                    ['s', 'r', 'd', 'n', 'a', 'e']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>982</th>\n",
+        "      <td>         generating</td>\n",
+        "      <td> ['g', 'e', 'n', 'e', 'r', 'a', 't', 'i', 'n', ...</td>\n",
+        "      <td>                                        ['o', 'l']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>983</th>\n",
+        "      <td>            sallies</td>\n",
+        "      <td>               ['s', 'a', 'l', 'l', 'i', 'e', 's']</td>\n",
+        "      <td>                                             ['r']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>984</th>\n",
+        "      <td>              yacht</td>\n",
+        "      <td>                         ['y', 'a', 'c', 'h', 't']</td>\n",
+        "      <td>                                        ['s', 'e']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>985</th>\n",
+        "      <td>            armpits</td>\n",
+        "      <td>               ['a', 'r', 'm', 'p', 'i', 't', 's']</td>\n",
+        "      <td>                                             ['o']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>986</th>\n",
+        "      <td>            oblongs</td>\n",
+        "      <td>               ['o', 'b', 'l', 'o', 'n', 'g', 's']</td>\n",
+        "      <td>                                   ['r', 'i', 'a']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>987</th>\n",
+        "      <td>          developed</td>\n",
+        "      <td>     ['d', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'd']</td>\n",
+        "      <td>                         ['t', 'a', 'r', 'n', 'i']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  9</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>988</th>\n",
+        "      <td>           demolish</td>\n",
+        "      <td>          ['d', 'e', 'm', 'o', 'l', 'i', 's', 'h']</td>\n",
+        "      <td>                                   ['r', 'a', 't']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>989</th>\n",
+        "      <td>            pincers</td>\n",
+        "      <td>               ['p', 'i', 'n', 'c', 'e', 'r', 's']</td>\n",
+        "      <td>                         ['a', 'o', 't', 'd', 'l']</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  7</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>990</th>\n",
+        "      <td> telecommunications</td>\n",
+        "      <td> ['t', 'e', 'l', 'e', 'c', 'o', 'm', 'm', 'u', ...</td>\n",
+        "      <td>                                        ['p', 'r']</td>\n",
+        "      <td> 18</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 18</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>991</th>\n",
+        "      <td>             dabble</td>\n",
+        "      <td>                    ['d', 'a', 'b', 'b', 'l', 'e']</td>\n",
+        "      <td>                         ['s', 'r', 'i', 'n', 'y']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>992</th>\n",
+        "      <td>          morticing</td>\n",
+        "      <td>     ['m', 'o', 'r', 't', 'i', 'c', 'i', 'n', 'g']</td>\n",
+        "      <td>                              ['a', 's', 'f', 'd']</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  9</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>993</th>\n",
+        "      <td>              weals</td>\n",
+        "      <td>                         ['w', 'e', 'a', 'l', 's']</td>\n",
+        "      <td>                         ['r', 'd', 'p', 'm', 'h']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>994</th>\n",
+        "      <td>              dryer</td>\n",
+        "      <td>                         ['d', 'r', 'y', 'e', 'r']</td>\n",
+        "      <td>                                        ['s', 'i']</td>\n",
+        "      <td>  5</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  5</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>995</th>\n",
+        "      <td>     inconclusively</td>\n",
+        "      <td> ['i', 'n', 'c', 'o', 'n', 'c', 'l', 'u', 's', ...</td>\n",
+        "      <td>                                             ['d']</td>\n",
+        "      <td> 14</td>\n",
+        "      <td>  9</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 14</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>996</th>\n",
+        "      <td>          bubbliest</td>\n",
+        "      <td>     ['_', '_', '_', '_', '_', '_', '_', '_', 't']</td>\n",
+        "      <td> ['n', 'r', 'o', 'c', 'a', 'm', 'h', 'p', 'f', ...</td>\n",
+        "      <td>  1</td>\n",
+        "      <td>  0</td>\n",
+        "      <td> False</td>\n",
+        "      <td>  9</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>997</th>\n",
+        "      <td>             graded</td>\n",
+        "      <td>                    ['g', 'r', 'a', 'd', 'e', 'd']</td>\n",
+        "      <td>                    ['s', 'c', 'v', 'y', 't', 'z']</td>\n",
+        "      <td>  6</td>\n",
+        "      <td>  4</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  6</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>998</th>\n",
+        "      <td>           carriage</td>\n",
+        "      <td>          ['c', 'a', 'r', 'r', 'i', 'a', 'g', 'e']</td>\n",
+        "      <td>                                   ['s', 'l', 'd']</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  7</td>\n",
+        "      <td>  True</td>\n",
+        "      <td>  8</td>\n",
+        "    </tr>\n",
+        "    <tr>\n",
+        "      <th>999</th>\n",
+        "      <td>         datelining</td>\n",
+        "      <td> ['d', 'a', 't', 'e', 'l', 'i', 'n', 'i', 'n', ...</td>\n",
+        "      <td>                                        ['o', 's']</td>\n",
+        "      <td> 10</td>\n",
+        "      <td>  8</td>\n",
+        "      <td>  True</td>\n",
+        "      <td> 10</td>\n",
+        "    </tr>\n",
+        "  </tbody>\n",
+        "</table>\n",
+        "<p>1000 rows \u00d7 7 columns</p>\n",
+        "</div>"
+       ],
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 20,
+       "text": [
+        "                 target                                         discovered  \\\n",
+        "0                punned                     ['p', 'u', 'n', 'n', 'e', 'd']   \n",
+        "1                 anode                          ['a', 'n', 'o', 'd', 'e']   \n",
+        "2                passes                     ['p', 'a', 's', 's', 'e', 's']   \n",
+        "3                maxing                     ['m', 'a', 'x', 'i', 'n', 'g']   \n",
+        "4              quadrant           ['q', 'u', 'a', 'd', 'r', 'a', 'n', 't']   \n",
+        "5              polygamy           ['p', 'o', 'l', 'y', 'g', 'a', 'm', 'y']   \n",
+        "6         technologists  ['t', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', ...   \n",
+        "7                tussle                     ['t', 'u', 's', 's', 'l', 'e']   \n",
+        "8            explicitly  ['e', 'x', 'p', 'l', 'i', 'c', 'i', 't', 'l', ...   \n",
+        "9            moderators  ['m', 'o', 'd', 'e', 'r', 'a', 't', 'o', 'r', ...   \n",
+        "10                error                          ['e', 'r', 'r', 'o', 'r']   \n",
+        "11              stamped                ['s', 't', 'a', 'm', 'p', 'e', 'd']   \n",
+        "12                dress                          ['d', 'r', 'e', 's', 's']   \n",
+        "13             truckled           ['t', 'r', 'u', 'c', 'k', 'l', 'e', 'd']   \n",
+        "14        accommodation  ['a', 'c', 'c', 'o', 'm', 'm', 'o', 'd', 'a', ...   \n",
+        "15               reload                     ['r', 'e', 'l', 'o', 'a', 'd']   \n",
+        "16           confounded  ['c', 'o', 'n', 'f', 'o', 'u', 'n', 'd', 'e', ...   \n",
+        "17           racketeers  ['r', 'a', 'c', 'k', 'e', 't', 'e', 'e', 'r', ...   \n",
+        "18          ignoramuses  ['i', 'g', 'n', 'o', 'r', 'a', 'm', 'u', 's', ...   \n",
+        "19                party                          ['p', 'a', 'r', 't', 'y']   \n",
+        "20                 rill                               ['r', 'i', 'l', 'l']   \n",
+        "21               player                     ['p', 'l', 'a', 'y', 'e', 'r']   \n",
+        "22            protester      ['p', 'r', 'o', 't', 'e', 's', 't', 'e', 'r']   \n",
+        "23            asphalted      ['a', 's', 'p', 'h', 'a', 'l', 't', 'e', 'd']   \n",
+        "24             uniforms           ['u', 'n', 'i', 'f', 'o', 'r', 'm', 's']   \n",
+        "25           coniferous  ['c', 'o', 'n', 'i', 'f', 'e', 'r', 'o', 'u', ...   \n",
+        "26           dishearten  ['d', 'i', 's', 'h', 'e', 'a', 'r', 't', 'e', ...   \n",
+        "27                scull                          ['s', 'c', 'u', 'l', 'l']   \n",
+        "28               virgin                     ['v', 'i', 'r', 'g', 'i', 'n']   \n",
+        "29         licentiously  ['l', 'i', 'c', 'e', 'n', 't', 'i', 'o', 'u', ...   \n",
+        "..                  ...                                                ...   \n",
+        "970          grindstone  ['g', 'r', 'i', 'n', 'd', 's', 't', 'o', 'n', ...   \n",
+        "971        bankruptcies  ['b', 'a', 'n', 'k', 'r', 'u', 'p', 't', 'c', ...   \n",
+        "972              smalls                     ['s', 'm', 'a', 'l', 'l', 's']   \n",
+        "973             limping                ['l', 'i', 'm', 'p', 'i', 'n', 'g']   \n",
+        "974         interfacing  ['i', 'n', 't', 'e', 'r', 'f', 'a', 'c', 'i', ...   \n",
+        "975                mint                               ['_', '_', 'n', 't']   \n",
+        "976        romanticises  ['r', 'o', 'm', 'a', 'n', 't', 'i', 'c', 'i', ...   \n",
+        "977            cleavage           ['c', 'l', 'e', 'a', 'v', 'a', 'g', 'e']   \n",
+        "978             revival                ['r', 'e', 'v', 'i', 'v', 'a', 'l']   \n",
+        "979             praying                ['p', 'r', 'a', 'y', 'i', 'n', 'g']   \n",
+        "980              troupe                     ['t', 'r', 'o', 'u', 'p', 'e']   \n",
+        "981              public                     ['p', 'u', 'b', 'l', 'i', 'c']   \n",
+        "982          generating  ['g', 'e', 'n', 'e', 'r', 'a', 't', 'i', 'n', ...   \n",
+        "983             sallies                ['s', 'a', 'l', 'l', 'i', 'e', 's']   \n",
+        "984               yacht                          ['y', 'a', 'c', 'h', 't']   \n",
+        "985             armpits                ['a', 'r', 'm', 'p', 'i', 't', 's']   \n",
+        "986             oblongs                ['o', 'b', 'l', 'o', 'n', 'g', 's']   \n",
+        "987           developed      ['d', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'd']   \n",
+        "988            demolish           ['d', 'e', 'm', 'o', 'l', 'i', 's', 'h']   \n",
+        "989             pincers                ['p', 'i', 'n', 'c', 'e', 'r', 's']   \n",
+        "990  telecommunications  ['t', 'e', 'l', 'e', 'c', 'o', 'm', 'm', 'u', ...   \n",
+        "991              dabble                     ['d', 'a', 'b', 'b', 'l', 'e']   \n",
+        "992           morticing      ['m', 'o', 'r', 't', 'i', 'c', 'i', 'n', 'g']   \n",
+        "993               weals                          ['w', 'e', 'a', 'l', 's']   \n",
+        "994               dryer                          ['d', 'r', 'y', 'e', 'r']   \n",
+        "995      inconclusively  ['i', 'n', 'c', 'o', 'n', 'c', 'l', 'u', 's', ...   \n",
+        "996           bubbliest      ['_', '_', '_', '_', '_', '_', '_', '_', 't']   \n",
+        "997              graded                     ['g', 'r', 'a', 'd', 'e', 'd']   \n",
+        "998            carriage           ['c', 'a', 'r', 'r', 'i', 'a', 'g', 'e']   \n",
+        "999          datelining  ['d', 'a', 't', 'e', 'l', 'i', 'n', 'i', 'n', ...   \n",
+        "\n",
+        "                                         wrong letters  number of hits  \\\n",
+        "0                            ['s', 'r', 'l', 'a', 'i']               6   \n",
+        "1                                      ['s', 'l', 'b']               5   \n",
+        "2                                           ['l', 'b']               6   \n",
+        "3        ['s', 'r', 'd', 't', 'w', 'l', 'p', 'k', 'c']               6   \n",
+        "4                                                   []               8   \n",
+        "5                                 ['r', 'i', 's', 'd']               8   \n",
+        "6                                                ['r']              13   \n",
+        "7                                                ['a']               6   \n",
+        "8                            ['o', 'a', 'b', 's', 'm']              10   \n",
+        "9                                                ['u']              10   \n",
+        "10                           ['s', 't', 'n', 'l', 'y']               5   \n",
+        "11                           ['r', 'i', 'l', 'b', 'c']               7   \n",
+        "12                                                  []               5   \n",
+        "13                           ['s', 'i', 'a', 'b', 'p']               8   \n",
+        "14                                          ['s', 'g']              13   \n",
+        "15                                          ['s', 'i']               6   \n",
+        "16                                               ['p']              10   \n",
+        "17                                          ['o', 'l']              10   \n",
+        "18                                               ['l']              11   \n",
+        "19                                ['s', 'e', 'n', 'd']               5   \n",
+        "20                      ['e', 's', 'a', 'o', 'u', 'n']               4   \n",
+        "21                                          ['s', 'm']               6   \n",
+        "22                                     ['i', 'd', 'l']               9   \n",
+        "23                                          ['r', 'i']               9   \n",
+        "24                                     ['a', 't', 'p']               8   \n",
+        "25                                                  []              10   \n",
+        "26                                     ['o', 'l', 'g']              10   \n",
+        "27                           ['e', 'a', 'o', 'i', 'n']               5   \n",
+        "28                                     ['s', 'a', 'd']               6   \n",
+        "29                                                  []              12   \n",
+        "..                                                 ...             ...   \n",
+        "970                                    ['a', 'u', 'p']              10   \n",
+        "971                                                 []              12   \n",
+        "972                               ['e', 't', 'k', 'w']               6   \n",
+        "973                ['s', 'r', 'e', 'a', 'o', 'u', 'k']               7   \n",
+        "974                               ['o', 'l', 'd', 's']              11   \n",
+        "975  ['e', 's', 'a', 'o', 'u', 'd', 'k', 'l', 'p', ...               2   \n",
+        "976                                              ['d']              12   \n",
+        "977                                         ['r', 's']               8   \n",
+        "978                               ['s', 'n', 'c', 'm']               7   \n",
+        "979                               ['s', 'd', 'c', 'b']               7   \n",
+        "980                               ['s', 'g', 'a', 'l']               6   \n",
+        "981                     ['s', 'r', 'd', 'n', 'a', 'e']               6   \n",
+        "982                                         ['o', 'l']              10   \n",
+        "983                                              ['r']               7   \n",
+        "984                                         ['s', 'e']               5   \n",
+        "985                                              ['o']               7   \n",
+        "986                                    ['r', 'i', 'a']               7   \n",
+        "987                          ['t', 'a', 'r', 'n', 'i']               9   \n",
+        "988                                    ['r', 'a', 't']               8   \n",
+        "989                          ['a', 'o', 't', 'd', 'l']               7   \n",
+        "990                                         ['p', 'r']              18   \n",
+        "991                          ['s', 'r', 'i', 'n', 'y']               6   \n",
+        "992                               ['a', 's', 'f', 'd']               9   \n",
+        "993                          ['r', 'd', 'p', 'm', 'h']               5   \n",
+        "994                                         ['s', 'i']               5   \n",
+        "995                                              ['d']              14   \n",
+        "996  ['n', 'r', 'o', 'c', 'a', 'm', 'h', 'p', 'f', ...               1   \n",
+        "997                     ['s', 'c', 'v', 'y', 't', 'z']               6   \n",
+        "998                                    ['s', 'l', 'd']               8   \n",
+        "999                                         ['o', 's']              10   \n",
+        "\n",
+        "     lives remaining game won  word length  \n",
+        "0                  5     True            6  \n",
+        "1                  7     True            5  \n",
+        "2                  8     True            6  \n",
+        "3                  1     True            6  \n",
+        "4                 10     True            8  \n",
+        "5                  6     True            8  \n",
+        "6                  9     True           13  \n",
+        "7                  9     True            6  \n",
+        "8                  5     True           10  \n",
+        "9                  9     True           10  \n",
+        "10                 5     True            5  \n",
+        "11                 5     True            7  \n",
+        "12                10     True            5  \n",
+        "13                 5     True            8  \n",
+        "14                 8     True           13  \n",
+        "15                 8     True            6  \n",
+        "16                 9     True           10  \n",
+        "17                 8     True           10  \n",
+        "18                 9     True           11  \n",
+        "19                 6     True            5  \n",
+        "20                 4     True            4  \n",
+        "21                 8     True            6  \n",
+        "22                 7     True            9  \n",
+        "23                 8     True            9  \n",
+        "24                 7     True            8  \n",
+        "25                10     True           10  \n",
+        "26                 7     True           10  \n",
+        "27                 5     True            5  \n",
+        "28                 7     True            6  \n",
+        "29                10     True           12  \n",
+        "..               ...      ...          ...  \n",
+        "970                7     True           10  \n",
+        "971               10     True           12  \n",
+        "972                6     True            6  \n",
+        "973                3     True            7  \n",
+        "974                6     True           11  \n",
+        "975                0    False            4  \n",
+        "976                9     True           12  \n",
+        "977                8     True            8  \n",
+        "978                6     True            7  \n",
+        "979                6     True            7  \n",
+        "980                6     True            6  \n",
+        "981                4     True            6  \n",
+        "982                8     True           10  \n",
+        "983                9     True            7  \n",
+        "984                8     True            5  \n",
+        "985                9     True            7  \n",
+        "986                7     True            7  \n",
+        "987                5     True            9  \n",
+        "988                7     True            8  \n",
+        "989                5     True            7  \n",
+        "990                8     True           18  \n",
+        "991                5     True            6  \n",
+        "992                6     True            9  \n",
+        "993                5     True            5  \n",
+        "994                8     True            5  \n",
+        "995                9     True           14  \n",
+        "996                0    False            9  \n",
+        "997                4     True            6  \n",
+        "998                7     True            8  \n",
+        "999                8     True           10  \n",
+        "\n",
+        "[1000 rows x 7 columns]"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "adaptive_split['lives remaining'].hist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 21,
+       "text": [
+        "<matplotlib.axes.AxesSubplot at 0x7f1586ed5470>"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nLwAAAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7f1586eb5da0>"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "adaptive_split.groupby('lives remaining').size()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 22,
+       "text": [
+        "lives remaining\n",
+        "0                   19\n",
+        "1                    9\n",
+        "2                   22\n",
+        "3                   56\n",
+        "4                   68\n",
+        "5                  105\n",
+        "6                  165\n",
+        "7                  172\n",
+        "8                  183\n",
+        "9                  124\n",
+        "10                  77\n",
+        "dtype: int64"
+       ]
+      }
+     ],
+     "prompt_number": 22
     },
     {
      "cell_type": "code",