{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove_input" ] }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "path_data = '../../../../../data/'\n", "import matplotlib\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('fivethirtyeight')\n", "import warnings\n", "warnings.simplefilter(action=\"ignore\", category=FutureWarning)\n", "\n", "from urllib.request import urlopen \n", "import re\n", "def read_url(url): \n", " return re.sub('\\\\s+', ' ', urlopen(url).read().decode())" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "remove_input" ] }, "outputs": [], "source": [ "# Read two books, fast (again)!\n", "\n", "huck_finn_path = path_data + 'huck_finn.txt'\n", "with open(huck_finn_path, 'r') as ff:\n", " huck_finn_text = ff.read()\n", "huck_finn_chapters = huck_finn_text.split('CHAPTER ')[44:]\n", "\n", "little_women_path = path_data + 'little_women.txt'\n", "with open(little_women_path, 'r') as ff:\n", " little_women_text = ff.read()\n", "little_women_chapters = little_women_text.split('CHAPTER ')[1:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Literary Characters\n", "\n", "*The Adventures of Huckleberry Finn* describes a journey that Huck and Jim take along the Mississippi River. Tom Sawyer joins them towards the end as the action heats up. Having loaded the text, we can quickly visualize how many times these characters have each been mentioned at any point in the book." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Jim Tom Huck\n", "0 0 6 3\n", "1 16 30 5\n", "2 16 35 7\n", "3 24 35 8\n", "4 24 35 8\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "varA = np.char.count(huck_finn_chapters, 'Jim')\n", "varB = np.char.count(huck_finn_chapters, 'Tom')\n", "varC = np.char.count(huck_finn_chapters, 'Huck')\n", "\n", "chapter_mentions = pd.DataFrame({'Jim': varA.cumsum(), 'Tom': varB.cumsum(), 'Huck':varC.cumsum()})\n", "print(chapter_mentions.head())\n", "chapter_mentions.plot()\n", "\n", "plt.show()\n", "\n", "# when creating this chart we have used both pandas 'plot' and matplotlib 'plt'. This is quite common." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the plot above, the horizontal axis shows chapter numbers and the vertical axis shows how many times each character has been mentioned up to and including that chapter. \n", "\n", "You can see that Jim is a central character by the large number of times his name appears. Notice how Tom is hardly mentioned for much of the book until he arrives and joins Huck and Jim, after Chapter 30. His curve and Jim's rise sharply at that point, as the action involving both of them intensifies. As for Huck, his name hardly appears at all, because he is the narrator. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Little Women* is a story of four sisters growing up together during the civil war. In this book, chapter numbers are spelled out and chapter titles are written in all capital letters." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Chapters
0ONE\\n\\nPLAYING PILGRIMS\\n\\n\"Christmas won't be...
1TWO\\n\\nA MERRY CHRISTMAS\\n\\nJo was the first t...
2THREE\\n\\nTHE LAURENCE BOY\\n\\n\"Jo! Jo! Where ...
3FOUR\\n\\nBURDENS\\n\\n\"Oh, dear, how hard it does...
4FIVE\\n\\nBEING NEIGHBORLY\\n\\n\"What in the world...
5SIX\\n\\nBETH FINDS THE PALACE BEAUTIFUL\\n\\nThe ...
6SEVEN\\n\\nAMY'S VALLEY OF HUMILIATION\\n\\n\"That ...
7EIGHT\\n\\nJO MEETS APOLLYON\\n\\n\"Girls, where ar...
8NINE\\n\\nMEG GOES TO VANITY FAIR\\n\\n\"I do think...
9TEN\\n\\nTHE P.C. AND P.O.\\n\\nAs spring came on,...
\n", "
" ], "text/plain": [ " Chapters\n", "0 ONE\\n\\nPLAYING PILGRIMS\\n\\n\"Christmas won't be...\n", "1 TWO\\n\\nA MERRY CHRISTMAS\\n\\nJo was the first t...\n", "2 THREE\\n\\nTHE LAURENCE BOY\\n\\n\"Jo! Jo! Where ...\n", "3 FOUR\\n\\nBURDENS\\n\\n\"Oh, dear, how hard it does...\n", "4 FIVE\\n\\nBEING NEIGHBORLY\\n\\n\"What in the world...\n", "5 SIX\\n\\nBETH FINDS THE PALACE BEAUTIFUL\\n\\nThe ...\n", "6 SEVEN\\n\\nAMY'S VALLEY OF HUMILIATION\\n\\n\"That ...\n", "7 EIGHT\\n\\nJO MEETS APOLLYON\\n\\n\"Girls, where ar...\n", "8 NINE\\n\\nMEG GOES TO VANITY FAIR\\n\\n\"I do think...\n", "9 TEN\\n\\nTHE P.C. AND P.O.\\n\\nAs spring came on,..." ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The chapters of Little Women, as a DataFrame - index, column 0\n", "\n", "pd.DataFrame({'Chapters':little_women_chapters}).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can track the mentions of main characters to learn about the plot of this book as well. The protagonist Jo interacts with her sisters Meg, Beth, and Amy regularly, up until Chapter 27 when she moves to New York alone." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Amy Beth Jo Meg Laurie\n", "0 23 26 44 26 0\n", "1 36 38 65 46 0\n", "2 38 40 127 82 16\n", "3 52 58 161 99 16\n", "4 58 72 216 112 51\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa0AAAEJCAYAAAAn23jPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABkfElEQVR4nO3dd3wUdf748dfsbE3d9F4oIYQQCEUQFAThUCxgB0895fTwi6fc+fMUEQ/UuwME0dM7VM5yKnbBK1Y8FbAhWEBaCIFQAqRusptssn3m90dgZUkhgfR8no/HPnbzmc/MfOZDyHs/M58iWa1WFUEQBEHoBjSdXQBBEARBaCkRtARBEIRuQwQtQRAEodsQQUsQBEHoNkTQEgRBELoNEbQEQRCEbkMELUEQBKHbEEFLEARB6DZ6ddAqKCjo7CJ0G6KuWkbUU8uIemoZUU8N9eqgJQiCIHQvImgJgiAI3YYIWoIgCEK3IYKWIAiC0G1oO7sA7cXr9VJbW9tsHqPRiM1m66ASdW+nqyutVktwcHAHlkgQhN6oRwYtr9dLTU0NZrMZSZKazGcwGDAajR1Ysu7rdHVVW1uLy+XCYDB0YKkEQegqVFVt9u9tW+mRtwdra2tPG7CEthUUFITT6ezsYgiC0AmU2sM4f/h/+Krz2/1cPTJoASJgdTBR34LQ+6iqgqfoXzi+uxOlOg/X7sdQfa52PWePDVqCIAhC+1EcJTi33o+7YBUobgDUuiLchS+163lbFLS+/vprZs6cSVZWFmazmddeey1g+5w5czCbzQGvyZMnB+RxuVzce++99O3bl8TERGbOnMnRo0cD8litVmbPnk1qaiqpqanMnj0bq9V6dlcoCIIgtBlVVfEc+xjHljtQrNsbbneWo6q+djt/i4JWbW0tgwYNYunSpZhMpkbzTJgwgfz8fP/rnXfeCdg+f/583nvvPV544QU+/PBDampqmDFjBj7fzxd32223sX37dt555x3WrFnD9u3buf3228/i8gRBEIS2orgqcW1/CPeev4KvLnCjNhjDoHsxDF6AJMntVoYW9R6cMmUKU6ZMAeCOO+5oNI/BYCAuLq7RbTabjdWrV7Ny5UomTpwIwKpVq8jJyWHDhg1MmjSJ/Px8Pv30Uz7++GNGjx4NwBNPPMHUqVMpKCggIyOj1RfXXf30009MnDiRc845h3Xr1nV2cQRBEFDsB3FsvR881gbbNBHDMWTdjcYY0+7laLNnWps2baJ///6MGDGCuXPnUl5e7t+2bds2PB4PF154oT8tOTmZzMxMNm/eDMCWLVsICQnxByyAc889l+DgYH+e3uKVV17h1ltvJS8vj/z89u+NIwiC0Byl7gjObfMbBiyNAf2A32LM/UuHBCxoo6A1efJknn32Wf7zn//w5z//mR9++IFp06bhctX3IikrK0OWZaKiogL2i4mJoayszJ8nKioqoBeaJElER0f78/QGDoeDd955h5tvvplp06axevVq/7ZDhw5hNptZu3Ytl1xyCfHx8YwbN46dO3eye/dupkyZQmJiIhdffDEHDx707xMZGcnWrVsDzvPyyy/Tt29f3G53R16eIAjdjOIoxrn1flR3VUC6JiwL06in0SVf3qG9h9tkcPHVV1/t/5ydnU1ubi45OTmsW7eOadOmNbnfqYPRGrvw0w1Ya2zqfqPR2Ogg1/g3LE0epz2UXB91+kynWLNmDcnJyfTv358rr7yS2bNnM2/ePHQ6nf9LwOLFi3n44YdJS0tj3rx53HrrrURFRXHfffcRHR3N3Llzuffee1m9ejVxcXGMHz+el156iaysLP95XnnlFa655hoURWnx+KrT5auuru5VXzCaIpaTaBlRTy3TmfWk8VYRXfZXtL7KgPTa4POxhV0LR+uAti3f6R4FtcuMGAkJCSQmJlJYWAhAbGwsPp8Pi8VCdHS0P19FRQVjx47156moqAgIUqqqYrFYiIlputnZ2AXabLYuMdPFmZThjTfe4Prrr8doNHLhhRcSFBTE559/zvTp0/2B+M477+Syyy4DYO7cucycOZNXXnnF32Pz9ttv57777vOff9asWcydO5dHH30Uo9FIfn4+P/zwA3/7299aXEan03navGFhYaSkpLT6mnuS3vb89UyJemqZzqwnxWXB+eMS1FMCljbhImIG/o5YqXNGTLXLWS0WC8XFxf6OGbm5ueh0OtavX+/Pc/ToUfLz8/3PsEaNGoXdbmfLli3+PFu2bKG2tjbgOVdPVlhYyObNm7nmmmuA+pbnddddF3CLEOpbsyfExsY2mlZbW0tdXX3vnksuuQS9Xs97770HwKuvvsqIESMYNGhQu16PIAjdk+q24tw2H9VxLCBdjpuIfuBcpE4KWNDClpbdbve3mhRF4ciRI2zfvp2IiAgi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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Counts of names in the chapters of Little Women\n", "\n", "varD = np.char.count(little_women_chapters,'Amy')\n", "varE = np.char.count(little_women_chapters,'Beth')\n", "varF = np.char.count(little_women_chapters,'Jo')\n", "varG = np.char.count(little_women_chapters,'Meg')\n", "varH = np.char.count(little_women_chapters,'Laurie')\n", "\n", "chapter_mentions = pd.DataFrame({'Amy': varD.cumsum(), \n", " 'Beth': varE.cumsum(), \n", " 'Jo':varF.cumsum(), \n", " 'Meg':varG.cumsum(),\n", " 'Laurie':varH.cumsum()})\n", "\n", "# cumulative sum\n", "\n", "# cumsum - numpy\n", "# https://numpy.org/doc/stable/reference/generated/numpy.cumsum.html#numpy-cumsum\n", "\n", "# or\n", "\n", "# cumsum - pandas\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.cumsum.html#pandas-dataframe-cumsum\n", "\n", "print(chapter_mentions.head())\n", "chapter_mentions.plot()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Laurie is a young man who marries one of the girls in the end. See if you can use the plots to guess which one." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }