{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "b5b85c82", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "e:\\learning\\book_recommender\\book_env\\Lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Downloading from https://www.kaggle.com/api/v1/datasets/download/dylanjcastillo/7k-books-with-metadata?dataset_version_number=3...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1.47M/1.47M [00:00<00:00, 2.76MB/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Extracting files...\n", "Path to dataset files: C:\\Users\\USER\\.cache\\kagglehub\\datasets\\dylanjcastillo\\7k-books-with-metadata\\versions\\3\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "import kagglehub\n", "\n", "# Download latest version\n", "path = kagglehub.dataset_download(\"dylanjcastillo/7k-books-with-metadata\")\n", "\n", "print(\"Path to dataset files:\", path)" ] }, { "cell_type": "code", "execution_count": 7, "id": "8d15edd6", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_count
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0
297800061638310006163831The One TreeNaNStephen R. DonaldsonAmerican fictionhttp://books.google.com/books/content?id=OmQaw...Volume Two of Stephen Donaldson's acclaimed se...1982.03.97479.0172.0
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0
.......................................
680597881853005358185300534I Am thatTalks with Sri Nisargadatta MaharajSri Nisargadatta Maharaj;Sudhakar S. DikshitPhilosophyhttp://books.google.com/books/content?id=Fv_JP...This collection of the timeless teachings of o...1999.04.51531.0104.0
680697881859446098185944601Secrets Of The HeartNaNKhalil GibranMysticismhttp://books.google.com/books/content?id=XcrVp...NaN1993.04.0874.0324.0
680797884450748798445074873Fahrenheit 451NaNRay BradburyBook burningNaNNaN2004.03.98186.05733.0
680897890277120599027712050The Berlin PhenomenologyNaNGeorg Wilhelm Friedrich HegelHistoryhttp://books.google.com/books/content?id=Vy7Sk...Since the three volume edition ofHegel's Philo...1981.00.00210.00.0
680997890420034089042003405'I'm Telling You Stories'Jeanette Winterson and the Politics of ReadingHelena Grice;Tim WoodsLiterary Criticismhttp://books.google.com/books/content?id=2lVyR...This is a jubilant and rewarding collection of...1998.03.70136.010.0
\n", "

6810 rows × 12 columns

\n", "
" ], "text/plain": [ " isbn13 isbn10 title \\\n", "0 9780002005883 0002005883 Gilead \n", "1 9780002261982 0002261987 Spider's Web \n", "2 9780006163831 0006163831 The One Tree \n", "3 9780006178736 0006178731 Rage of angels \n", "4 9780006280897 0006280897 The Four Loves \n", "... ... ... ... \n", "6805 9788185300535 8185300534 I Am that \n", "6806 9788185944609 8185944601 Secrets Of The Heart \n", "6807 9788445074879 8445074873 Fahrenheit 451 \n", "6808 9789027712059 9027712050 The Berlin Phenomenology \n", "6809 9789042003408 9042003405 'I'm Telling You Stories' \n", "\n", " subtitle \\\n", "0 NaN \n", "1 A Novel \n", "2 NaN \n", "3 NaN \n", "4 NaN \n", "... ... \n", "6805 Talks with Sri Nisargadatta Maharaj \n", "6806 NaN \n", "6807 NaN \n", "6808 NaN \n", "6809 Jeanette Winterson and the Politics of Reading \n", "\n", " authors \\\n", "0 Marilynne Robinson \n", "1 Charles Osborne;Agatha Christie \n", "2 Stephen R. Donaldson \n", "3 Sidney Sheldon \n", "4 Clive Staples Lewis \n", "... ... \n", "6805 Sri Nisargadatta Maharaj;Sudhakar S. Dikshit \n", "6806 Khalil Gibran \n", "6807 Ray Bradbury \n", "6808 Georg Wilhelm Friedrich Hegel \n", "6809 Helena Grice;Tim Woods \n", "\n", " categories \\\n", "0 Fiction \n", "1 Detective and mystery stories \n", "2 American fiction \n", "3 Fiction \n", "4 Christian life \n", "... ... \n", "6805 Philosophy \n", "6806 Mysticism \n", "6807 Book burning \n", "6808 History \n", "6809 Literary Criticism \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "2 http://books.google.com/books/content?id=OmQaw... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "... ... \n", "6805 http://books.google.com/books/content?id=Fv_JP... \n", "6806 http://books.google.com/books/content?id=XcrVp... \n", "6807 NaN \n", "6808 http://books.google.com/books/content?id=Vy7Sk... \n", "6809 http://books.google.com/books/content?id=2lVyR... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "2 Volume Two of Stephen Donaldson's acclaimed se... 1982.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "... ... ... \n", "6805 This collection of the timeless teachings of o... 1999.0 \n", "6806 NaN 1993.0 \n", "6807 NaN 2004.0 \n", "6808 Since the three volume edition ofHegel's Philo... 1981.0 \n", "6809 This is a jubilant and rewarding collection of... 1998.0 \n", "\n", " average_rating num_pages ratings_count \n", "0 3.85 247.0 361.0 \n", "1 3.83 241.0 5164.0 \n", "2 3.97 479.0 172.0 \n", "3 3.93 512.0 29532.0 \n", "4 4.15 170.0 33684.0 \n", "... ... ... ... \n", "6805 4.51 531.0 104.0 \n", "6806 4.08 74.0 324.0 \n", "6807 3.98 186.0 5733.0 \n", "6808 0.00 210.0 0.0 \n", "6809 3.70 136.0 10.0 \n", "\n", "[6810 rows x 12 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "books= pd.read_csv(r\"C:\\Users\\USER\\.cache\\kagglehub\\datasets\\dylanjcastillo\\7k-books-with-metadata\\versions\\3\\books.csv\")\n", "books" ] }, { "cell_type": "code", "execution_count": 11, "id": "17807788", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAooAAAHGCAYAAADzBqoGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcSFJREFUeJzt3QeUE+XXBvC7sPTepEmR3osC0juCCApSLEgVUIqAFIE/RUCK0puggggqYkEEpPciSK8iTboIgvRe853nfmdyJtnJbjIJm83u8zsnZzeZTMlkMrm57/veCXM4HA4hIiIiInITz/0BIiIiIiJgoEhERERElhgoEhEREZElBopEREREZImBIhERERFZYqBIRERERJYYKBIRERGRJQaKRERERGSJgSIRERERWQq3fpjIe+EJswZ7E4iIiMhHD++fjfI5zCgSERERkSUGikRERERkiYEiEREREVlioEhERERElhgoEhEREZElBopEREREZImBIhERERFZYqAYTapWrSrdunUL2POIiIiInjQGitFk3rx58tFHH0Xb+oYNGybly5eXpEmTSurUqSNMv3TpktSpU0eyZMkiiRIlkmzZsknnzp3l+vXr0baNREREFLMxUIwmadOmlRQpUkTb+u7fvy9NmjSRDh06WE6PFy+evPLKK7Jw4UI5cuSIzJw5U1atWiXvvvtutG0jERERxWwMFKOJuUl5ypQpkjdvXkmcOLFkzJhRGjdu7PLchw8fanYvVapUkj59ehkwYIA4HA7n9Jw5c8rw4cOlTZs2Gnxmz55dvvjiC5dlDB48WN5//30pWrSo5fakSZNGg8hSpUpJjhw5pEaNGtKxY0fZuHHjE3n9REREFHoYKEazHTt2SJcuXWTIkCFy+PBhWbZsmVSuXNnlObNmzZLw8HDZtm2bTJgwQcaOHSvTp093ec6YMWM0yNu9e7cGeAj6sDy7/vnnH20er1Kliu1lEBERUezCQDGanT59WpIlSyb16tXTTF7JkiU1cDRDf8Fx48ZJ/vz5pVmzZvLee+/pfbO6detqgJgnTx7p3bu3Zh7Xrl3r8/a88cYb2o8xa9askjJlyggBKREREcVdDBSjWa1atTRAzJUrlzRv3lxmz54tt2/fdnlO2bJlJSwszHm/XLlycvToUXn06JHzsWLFijn/x3MzZcokFy5c8Hl7EIDu2rVLFixYIMeOHZPu3btH+vx79+7pgBfzzdwsTkRERLEHA8Vohj6FCMzmzJkjmTNnloEDB0rx4sXl6tWrPi0nQYIELvcRLD5+/Njn7UGAWaBAAXn55Zfl888/l6lTp8q5c+c8Pn/EiBHad9J8czy+4fN6iYiIKOZjoBgE6H9Ys2ZNGTlypOzbt09Onjwpa9ascU7funWry/O3bNmig1/ix4//RLfLCDSRNfSkb9++cu3aNZdbWLzoG81NRERE0Sc8GtdFIrJo0SI5fvy4DmDByOMlS5ZogIb+iOZ+jGgCfueddzT7OGnSJB284gss4/Lly/oXTdZ79uzRx9GnMXny5Lref//9V0qXLq33Dxw4IL169ZIKFSroqGpPUHMRNzNzMzkRERHFHgwUoxmKX2N08aBBg+Tu3buaKUQzdOHChZ3PadGihdy5c0fKlCmjWcSuXbtK+/btfVoPmrQxetqAQTOAAS8o1ZMkSRKZNm2altBBBhEDaF599VXp06dPAF8tERERhbIwB0cikJ/CE2YN9iYQERGRjx7ePxvlc9hHkYiIiIgsMVAkIiIiIksMFImIiIjIEgNFIiIiIrLEQJGIiIiILDFQJCIiIiJLDBSJiIiIyBIDRSIiIiKyxECRiIiIiCwxUCQiIiIiSwwUiYiIiMgSA0UiIiIissRAkYiIiIgsMVAkIiIiIksMFImIiIjIEgNFIiIiIrLEQJGIiIiILDFQJCIiIiJLDBSJiIiIyBIDxWhStWpV6datW8CeR0RERPSkMVCMJvPmzZOPPvoo2tY3bNgwKV++vCRNmlRSp05t+ZzTp0/LSy+9pM956qmnpFevXvLw4cNo20YiIiKK2cKDvQFxRdq0aaN1fffv35cmTZpIuXLl5Msvv4ww/dGjRxokZsqUSTZv3iznzp2TFi1aSIIECWT48OHRuq1EREQUMzGjGE3MTcpTpkyRvHnzSuLEiSVjxozSuHFjl+ciq9e5c2dJlSqVpE+fXgYMGCAOh8M5PWfOnBrMtWnTRlKkSCHZs2eXL774wmUZgwcPlvfff1+KFi1quT0rVqyQP//8U7799lspUaKEvPjii5rx/PTTTzXIJCIiImKgGM127NghXbp0kSFDhsjhw4dl2bJlUrlyZZfnzJo1S8LDw2Xbtm0yYcIEGTt2rEyfPt3lOWPGjJFSpUrJ7t27pWPHjtKhQwddnrd+//13DSIRqBpq164t169flwMHDgTglRIREVGoY9NzNEO/wGTJkkm9evU0G5gjRw4pWbKky3OyZcsm48aNk7CwMMmfP7/s379f77dr1875nLp162qACL1799bpa9eu1ed74/z58y5BIhj3MY2IiIiIGcVoVqtWLQ0Oc+XKJc2bN5fZs2fL7du3XZ5TtmxZDRIN6Gd49OhR7VdoKFasmPN/PBd9DS9cuPDEt//evXuadTTfzM3iREREFHswUIxmyCLu2rVL5syZI5kzZ5aBAwdK8eLF5erVqz4tB4NOzBAsPn782Ov5EVj++++/Lo8Z9zHNkxEjRmjfSfPN8fiGT9tOREREoYGBYhCg/2HNmjVl5MiRsm/fPjl58qSsWbPGOX3r1q0uz9+yZYsOfokfP37AtgFZSjRpm7OQK1eulJQpU0qhQoU8zte3b1+5du2ayy0sXoqAbRcRERHFHOyjGM0WLVokx48f1wEsadKkkSVLlmgm0Ny3EP0Yu3fvLu+8845mHydNmqSDV3yBZVy+fFn/osl6z549+niePHkkefLk8sILL2hAiOZvBKzol9i/f3/p1KmTJEqUyONyMc19urmZnIiIiGIPBorRDMWvUXx70KBBcvfuXc0Uohm6cOHCzuegnuGdO3ekTJkymkXs2rWrtG/f3qf1oEkbo6cNxoAZDHhBqR4sF0ErRksju4gBNi1bttTR2EREREQQ5uBIBPJTeMKswd4EIiIi8tHD+2ejfA77KBIRERGRJQaKRERERGSJgSIRERERWWKgSERERESWGCgSERERkSUGikRERERkiYEiEREREVlioEhERERElhgoEhEREZElBopEREREZImBIhERERFZYqBIRERERJYYKBIRERGRJQaKRERERGSJgSIRERERWWKgSERERESWGCgSERERkSUGikRERERkiYEiEREREVlioBgLrFu3TsLCwuTq1auRPi9nzpwyfvz4aNsuIiIiCm0MFENQ1apVpVu3bs775cuXl3PnzkmqVKn0/syZMyV16tRB3EIiIiKKDcKDvQHkv4QJE0qmTJmCvRlEREQUyzCjGGJatWol69evlwkTJmhzM27IIBpNz2iGbt26tVy7ds05fdCgQZbLwvPbtm0rGTJkkJQpU0r16tVl79690f6aiIiIKGZioBhiECCWK1dO2rVrp83NuGXLls2lGRr9EBH4GdN7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iYiIiMgSA0UiIiIishTmcL+mG5GPwhNmDfYmEEXqzj8bJUmWShKqQn37A437g0LJnRh8vD68fzbK5zCjSERERESWGCgSERERkSUGikRERERkiYEiEREREVlioEhERERElhgoEhEREZElBopEREREZImBIhERERFZYqAYInLmzCnjx48P9mYQERFRHMJAMYaZOXOmpE6dOtibQURERMRAMS67f/9+sDeBiIiIYlOgeObMGfn777+d97dt2ybdunWTL774ItDbFpKWLVsmFStW1KxgunTppF69enLs2DGdtm7dOgkLC5OrV686n79nzx597OTJkzq9devWcu3aNX0Mt0GDBjmfe/v2bWnTpo2kSJFCsmfPHmGf79+/X6pXry5JkiTRdbdv315u3rzpnN6qVStp0KCBDBs2TLJkySL58+fXx6dMmSJ58+aVxIkTS8aMGaVx48bRsKeIiIgo1gWKb775pqxdu1b/P3/+vNSqVUuDxX79+smQIUMkrrt165Z0795dduzYIatXr5Z48eJJw4YN5fHjx1HOW758ee2HmDJlSjl37pzeevbs6Zw+ZswYKVWqlOzevVs6duwoHTp0kMOHDzvXW7t2bUmTJo1s375dfvrpJ1m1apV07tzZZR3YJsyzcuVKWbRokW5nly5d9L3D4wh0K1eu/AT2DBEREYWacF9n+OOPP6RMmTL6/48//ihFihSRTZs2yYoVK+Tdd9+VgQMHSlzWqFEjl/szZsyQDBkyyJ9//hnlvAkTJpRUqVJpJjFTpkwRptetW1cDROjdu7eMGzdOg3ZkBr/77ju5e/eufP3115IsWTJ9zuTJk6V+/fryySefaKYQMG369Om6Lpg3b54+hswnMpU5cuSQkiVLetzGe/fu6c3M4XDoNhMREVEczyg+ePBAEiVKpP8jY/Xyyy/r/wUKFNAMWFx39OhReeONNyRXrlyaGcRoZTh9+rTfyy5WrJjzfyOYvHDhgt4/ePCgFC9e3BkkQoUKFTSTaWQdoWjRos4gEZARRnCI7W3evLnMnj1bm7g9GTFihAaz5pvj8Q2/XxsRERHFgkCxcOHC8tlnn8nGjRu1+bJOnTr6+D///KP94uI6ZPAuX74s06ZNk61bt+rNGDiCZmgjA2cOvL2VIEECl/sIFr1p0jYzB5KALOKuXbtkzpw5kjlzZs0II+A096M069u3r/ah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EMh1uC/fl/0czHNFEg/rDaXjxLyt7tv98P7ZKOcPjc6FRERERBTtGCgSERERUWDrKNKTw94AREREFBMwo0hERERElhgoEhEREZElBopEREREZImBIhERERFZYqBIRERERJYYKBIRERGRJQaKRERERGSJl/Ajv/ESfhRKl7MiIqL/x0v4EREREZFtDBSJiIiIyBIDRSIiIiKyxECRiIiIiCwxUCQiIiIiSwwUiYiIiMgSA0UiIiIissRAkYiIiIhiX6B48uRJCQsLkz179nh8zrp16/Q5V69e1fszZ86U1KlTe7V8X54b6O0mIiIiCraQDhTteO211+TIkSPB3gwiIiKiGC9c4pgkSZLojSJ3//59SZgwYbA3g4iIiOJqRrFq1arSuXNnvaVKlUrSp08vAwYMEOPy02ienT9/vss8aApGk7DZoUOHpHz58pI4cWIpUqSIrF+/3uvm5L1790q1atUkRYoUkjJlSnnuuedkx44dLvMsX75cChYsKMmTJ5c6derIuXPnXKZPnz5dp2P9BQoUkClTprhM37Ztm5QsWVKnlypVSnbv3u3V/sF+yJMnj4wePdrlcTRZY9/89ddfeh/N6m3btpUMGTLoa6hevbq+LsOxY8fklVdekYwZM+prKF26tKxatcplmTlz5pSPPvpIWrRoocto3769V9tIREREsVfQm55nzZol4eHhGkxNmDBBxo4dq4GXL3r16iU9evTQAKxcuXJSv359uXTpklfzNmvWTJ5++mnZvn277Ny5U/r06SMJEiRwTr99+7YGat98841s2LBBTp8+LT179nROnz17tgwcOFCGDRsmBw8elOHDh2uwi9cFN2/elHr16kmhQoV0+YMGDXKZPzIIBtu0aSNfffWVy+O4X7lyZQ0ioUmTJnLhwgVZunSpruPZZ5+VGjVqyOXLl53bULduXVm9erXuIwS72Ed4LWZ4ncWLF9fn4DUQERFR3Bb0QDFbtmwybtw4yZ8/vwZt7733nt73BTKSjRo10qze1KlTNTv55ZdfejUvgqWaNWtqJjBv3rwadCFYMjx48EA+++wzzQQiAMO6EHAZPvzwQxkzZoy8+uqr8swzz+jf999/Xz7//HOd/t1338njx491ewoXLqxBIwJbb7Vq1UoOHz6sgbSxPVgmAkj47bffdNpPP/2k24jXgIAPWdO5c+fqc/B63nnnHc22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YKzT7nwYEb179275+OOP9Tk4H23btk2rOVSoUEHLNJUqVSpg8/kz7yeffKLTUY4I08eMGSPr1q3TkfKHDx/WSgEoPxYoLI9DFGQbN27UAKxOnTqW0zFtx44dEWqURfd8/gjGOolCzd9//63BHgLGZMmSBXtzKAa7evWqM8A015hEAPn+++97DE7tYKBIRERERJbiWT9MRERERHEdA0UiIiIissRAkYiIiIgsMVAkIopjBg0aJCVKlAj2ZhBRCGCgSEQUYs6fPy/vvfee5MqVSxIlSiTZsmWT+vXry+rVq4O9aUQUy7COIhFRCDl58qSWwEidOrWMGjVKihYtKg8ePJDly5dLp06d5NChQ8HeRCKKRZhRJCIKIR07dtQC5SjM26hRI8mXL58ULlxYunfvroV24fTp01rcHMWGU6ZMKU2bNpV///3X4zKrVq0q3bp1c3msQYMG0qpVK+f9nDlzytChQ6VFixa6XBR2XrhwoVy8eNG5rmLFimk9TMPMmTM1oEUQi2LAeA5qaZ47d875HBQKLlOmjNYNxHMRBJ86dSrAe42I7GKgSEQUIi5fvizLli3TzKFVQWYEWii8i8ANz12/fr2sXLlSC/K+9tprfq9/3LhxGsjhahIvvfSSXlEGgeNbb70lu3btkty5c+t9c3ne27dvy+jRo+Wbb76RDRs2aBDbs2dPnfbw4UMNSFFofd++ffL7779L+/btNRAmopiBTc9ERCHir7/+0iCsQIECHp+Dfor79++XEydOaN9F+PrrrzXruH37dildurTt9detW1feeecd/X/gwIEydepUXV6TJk30sd69e0u5cuU0e5kpUyZ9DM3iuAwhgkjo3LmzDBkyRP+/fv26XLt2TerVq+ecjswjEcUczCgSEYUIby6kdfDgQQ0QjSARChUqpNlGTPMHmpYNGTNm1L/oI+n+2IULF5yPJU2a1BkEAi4zZkxPmzatNm/Xrl1bB+NMmDDBpVmaiIKPgSIRUYjImzevNssGesBKvHjxIgShyAS6S5AggfN/o3nY6jE0f1vNYzzHvK6vvvpKm5zLly8vP/zwg/a5NPpaElHwMVAkIgoRyMAh+/bpp5/KrVu3Iky/evWqNt2eOXNGb4Y///xTpyGzaCVDhgwumbxHjx7JH3/8IdGlZMmS0rdvX9m8ebMUKVJEvvvuu2hbNxFFjoEiEVEIQZCIQA4jhX/++Wc5evSoNilPnDhR+wfWrFlTm4ObNWumA0wwOhoDTDBgpFSpUpbLrF69uixevFhvyFZ26NBBA8snDf0oESAio4iRzitWrNDXw36KRDEHB7MQEYUQFNlGADhs2DDp0aOHZgKREXzuued0cAmadhcsWKAFuStXrqzNyihJM2nSJI/LbNOmjezdu1cDyvDwcHn//felWrVqT/y1oP8iAtNZs2bJpUuXtP8iRnQbA2aIKPjCHN70jiYiIiKiOIdNz0RERERkiYEiEREREVlioEhERERElhgoEhEREZElBopEREREZImBIhERERFZYqBIRERERJYYKBIRERGRJQaKRERERGSJgSIRERERWWKgSERERESWGCgSERERkVj5P9/wPCpcPkO3AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "ax = plt.axes()\n", "sns.heatmap(books.isna().transpose(), cbar= False, ax=ax)\n", "plt.xlabel(\"Columns\")\n", "plt.ylabel(\"Missing Values\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "id": "f5c566fe", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "books[\"missing_description\"] = np.where(books[\"description\"].isna(),1,0 )\n", "books[\"age_of_book\"] = 2025- books[\"published_year\"]\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "c2f94b1e", "metadata": {}, "outputs": [ { "data": { "image/png": "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A9rkjxkZMWKEGokMwyZjsIMPP/xQTaaIeWysiQEBEREREZEZMN8JZoTHxJUYyS0zhw8fViOOYchoDFcMEyZMkMGDB8vo0aPTzGqem9iHgIiIiIjIDCdPnhQXFxc1nHNWkw1iuGd/f39DMKBNvIjUIUx2aE1sISAiIiIiu9bm/pwmGdmyZUu6y5966in1yG5rgvF8NYBZ5H19fSUoKEisiQEB5bp1LpWsfQiUi77oMMfah0C5yCEXJioj21G/bR1rHwLloqmvez++ZYcWJSy7fxHVdwABQGqYfR2TTVoTAwIiIiIismkOLg4W3f+WDFoAHiV3d3c1s3lqCAY8PT3FmliVQ0RERERkYUWLFpXbt2+bLEOAEBYWJoULFxZrYkBARERERDbN0dnBoo/c0KBBAwkODparV68almHUIahXr55YEwMCIiIiIqJHLDk5WUJCQiQuLk49xyhEdevWlVGjRsmxY8dkz549MnbsWOnatatVhxwFBgREREREZNMcXBwt+rAEjBzUrFkzNe8AYHjRGTNmSIkSJaR///4ycuRIadGihYwfP16sjZ2KiYiIiIge0qRJk0yeo+B/9uxZk2UFCxaUadOmia1hQEBERERENi238vztFVOGiIiIiIjsGFsIiIiIiMiu5yGwdwwIiIiIiMimMWXIspgyRERERERkx9hCQEREREQ2jSlDlsUWAiIiIiIiO8YWAiIiIiKyaexDYFlsISAiIiIismNsISAiIiIim+bgxBYCS2ILARERERGRHWMLARERERHZNEe2EFgUWwiIiIiIiOwYWwiIiIiIyKY5OLKFwJIYEBARERGRTXNwYlKLJfHqEhERERHZMbYQEBEREZFNY6diy2ILARERERGRHWMLARERERHZNHYqtiy2EBARERER2TG2EBARERGRTWMfAstiCwERERERkR1jCwERERER2TQHthBYFAMCIiIiIrJpDo5MarEkXl0iIiIiIjvGFgIiIiIismkcdtSy2EJARERERGTH2EJARERERDaNw45aFlsIiIiIiIjsGFsIiIiIiMimsQ+BZbGFgIiIiIjIjrGFgIiIiIhsGuchsCwGBERERERk05gyZFkMt4iIiIiI7BhbCIiIiIjIpnHYUctiCwERERERkR1jCwERERER2TT2IbAsthAQEREREdkxthAQERERkU3jsKOWxatLRERERGTH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jqzDtiReXSIiIiIiO8YWAiIiIiKybQ7sQ2BJbCEgIiIiIrJjbCEgIiIiItvGPgQWxYCAiIiIiGwbU4YsiuEWEREREZEdYwsBEREREdk0DjtqWby6RERERER2jC0ERERERGTbHFiHbUm8ukREREREdowtBERERERk2xw5ypAlsYWAiIiIiMiOsYWAiIiIiGyaA/sQWBQDAiIiIiKybUwZsiiGW0REREREdowtBERERERk25gyZFG8ukREREREdowtBERERERk2xzYh8CS2EJARERERGTH2EJARERERLbNkXXYlsSrS0RERERkx9hCQERERES2jaMMWRQDAiIiIiKybZyYzKIYbhERERER2TG2EBARERGRbWPKkEXx6hIRERER2TG2EBARERGRbePEZBbFFgIiIiIiIjvGFgIiIiIism2cmMyieHWJiIiIiOwYWwiIiIiIyLaxD4FFMSAgIiIiItvGYUctileXiIiIiMiOsYWAiIiIiGwbOxVbFK8uEREREZEdYwsBEREREdk2dio2iIyMlD179khMTIzodDpJrWvXrpJTDAiIiIiIiPKAnTt3yogRIyQuLi7dYMDBwYEBARERERE9hjjKkPL1119LuXLl5P3335ciRYqI4yPqW8GAgIiIiIgoD7h48aLMnDlT6tev/0j3y4CAiIiIiGwb+xAoxYoVk6ioKHnU2P5CRERERLYNqTGWfOQRr776qnz//fdy/fr1R7pfthAQEREREeUBf/75p9y6dUvatm0rfn5+4u7unqZT8ebNm3O8XwYERERERGTTdEwZUooWLaoejxoDAiIiIiKiPOCLL76wyH4ZEBARERGRbeOwoyZ27Ngh+/btk4iICClQoIAadah58+ZiLgYERERERER5QEJCggwbNkx27dolTk5OKhgIDQ2VOXPmSOPGjWX27Nni6uqa4/0y3CIiIiIi228hsOQjj5g+fbocPHhQvvzySzl27JgKDI4ePapSiY4cOSI//PCDWfvNO1eAiIiIiMiOrV27Vl5//XXp3LmzaiEAZ2dn6dq1q1qOUYjMwZQhIjN5uDvK0AHlpGVTf/Fwd5KjJ8Nk2tyLEngjNtPtCvi6yBsvl5dGdf3EyclB9hy4J9PnXZS7oQmGdfx8XWRw37LSsE4B8cnnIoE3YmTJ74Hyz66QXDgzyoh78SLS4shaOfD8cLm3Y1+m6xbr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Z86cEUtgHwIiIiIiIjvGFgIiIiIismnsQ6D3/vvvS3Yhfejzzz/P1roMCIiIiIiI8oDg4GA1E3F4eLgUL15cihQpImFhYXL16lU1azEmKzMOCLKLAQERERER2TS2EOh17NhRzp8/L0uXLpW6deveXypy6dIlGTp0qPTp00f69+8vOcU+BEREREREecCsWbNkzJgxJsEAlCtXTkaOHCnz5s0za79sISAiIiIim8YWAr179+5J/vz5JT2Ojo4SGRkp5mALARERERFRHoDJyGbMmCGhoaEmy2/fvi3Tp0+XZs2ambVfthAQERERkU3jPAR67733nvTt21eeeuopqVOnjhQoUEDu3r0rhw8floIFC8oHH3wg5mALARERERHZtBRxsOgjr6hcubKsW7dOXnzxRYmKipITJ05IXFycDBo0SFauXCkBAQFm7ZctBEREREREeQSGGn333Xcf6T4ZEBARERGRTWOn4gdu3bqlWgYy6kDctWtXySkGBEREREREecD69etVP4KEhIR0X8dkZAwIiIiIiOixw07Fet9++63UrFlT3n//ffH19ZVHhQEBEREREVEegOFFJ0yYINWqVXuk++UoQ0RERERk830ILPnIK2rXri1nzpx55PtlCwERERERUR4wbtw4ee2119SQozVq1BBPT8806zRo0CDH+2VAQEREREQ2jX0I9K5cuSJ37txRsxVrnYg1Op1OPT99+rTkFAMCIiIiIrJpeSmtx5ImT54spUqVkiFDhkihQoUe2X4ZEBARERER5QE3b96UWbNmSdOmTR/pfhkQEBEREZFNY8qQXsWKFSUoKEgeNQYERERERER5AOYfGDNmjCQnJ6sRh7y9vdOsU6xYsRzvlwEBEREREdm0FGsfgI0YOHCgJCUlydixY006FBtjp2IiIiIiosfUJ598YpH9MiAgIiIiIpvGPgR66D/Qvn17KV++vDxKnKmYiIiIiMgMKSkpMm3aNGnevLnK6cdwoIGBgdna9o8//pBKlSrJ9evXs/1+s2fPztH62cWAgIiIiIhsfh4CSz7MNXPmTFm6dKl8+umnsmzZMhUgDB48WBISEjLd7saNGzJhwoQcv1+FChXk8uXL8qgxZYiIiIiIbJotpgwlJCTI/Pnz1ag/rVq1UsumTp2qWgv+/vtvefbZZ9PdDkHD22+/LdWqVZM9e/bk6D1bt24t33zz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TrhlT4YuyLhCjR4/nRL1adrW8L+PLduysujTALFneSplyFYhjQYTjWGIUqQiYSKvPXv2SOfOnSWvw9wDGIYV/QaQloS+GRi9CelYRERERJT35amUIVuFicmQxoTOzMjTR406Upay21kY/R4yGyYUHYfRP8Ea0BqAc8OoShEREaoTNSY7y8ncCUREREQPI4UpQxbFgOARKFGihMyYMcPs7dFhN7PMLfQ5sBZMvIaAgIiIiIgeTwwIbEBmoxwRERER2Tt2KrYs9iEgIiIiIrJjbCEgIiIiIpvGQTEtiy0ERERERER2jC0ERERERGTTdCkp1j6ExxoDAiIiIiKyaRx21LKYMkREREREZMfYQkBERERENo2dii2LLQRERERERHaMLQREREREZNM4MZllsYWAiIiIiMiOsYWAiIiIiGwaWwgsiy0ERERERER2jC0ERERERGTTUnScmMySGBAQERERkU1jypBlMWWIiIiIiMiOsYWAiIiIiGwaWwgsiy0ERERERER2jC0ERERERGTTdDq2EFgSWwiIiIiIiOwYWwiIiIiIyKalpHDYUUtiCwERERERkR1jCwERERER2TSOMmRZDAiIiIiIyKbpOFOxRTFliIiIiIjIjrGFgIiIiIhsGlOGLIstBEREREREdowtBERERERk09hCYFlsISAiIiIismNsISAiIiIim5bCUYYsii0ERERERER2jC0ERERERGTT2IfAshgQEBEREZFN06UwZciSmDJERERERGTH2EJARERERDaNKUOWxRYCIiIiIiI7xoCAiIiIiGyaTpdi0Ye5UlJSZNq0adK8eXOpXbu2DBkyRAIDAzNcPzQ0VN566y1p0KCBNGzYUD755BOJjY0Va2NAQERERERkhpkzZ8rSpUvl008/lWXLlqkAYfDgwZKQkJDu+iNGjJCrV6/KggUL5LvvvpPt27fL+PHjxdoYEBARERGRTUtJ0Vn0YQ4U+ufPn68K+a1atZLKlSvL1KlTJTg4WP7+++806x8+fFj27dsnkydPlmrVqkmTJk1kwoQJsmbNGrl165ZYEwMCIiIiIqIcOnPmjERHR6uCvcbHx0eqVq0q+/fvT7P+gQMHxN/fX8qXL29YhrQhBwcHOXjwoFgTRxkiIiIiIrueh6BNmzaZvr5ly5Y0y9ASAAEBASbLCxcubHjNGFoBUq/r6uoqvr6+EhQUJNbEgICIiIiIbJotDjsae78zMAr1xtzc3CQ8PDzd9VOvq60fHx8v1sSAgIiIiIjs2pZ0WgCy4u7ubuhLoP0OKNx7eHiku356nY2xvqenp1gT+xAQERERkU2zxWFHA+6n/9y+fdtkOZ4XKVIkzfpFixZNsy4ChLCwMJVmZE0MCIiIiIiIcgijCnl7e8vevXsNyyIiIuTUqVNqnoHUsAx9CzDsqAajDkG9evXEmpgyREREREQ2zRb7ELi6ukrfvn1lypQp4ufnJ8WLF5evvvpKtQS0a9dOkpOT5d69e5IvXz6VLlSrVi2pW7eujBo1Ss09EBMTI2PHjpWuXbum26KQm9hCQERERERkBsxB0KNHD/noo4+kd+/e4uTkJPPmzRMXFxc1clCzZs1k/fr1al0MLzpjxgwpUaKE9O/fX0aOHCktWrSwiYnJHHQ6ne2FXPRYGzUjytqHQLkoJCjC2odAuSjsdpi1D4Fy0dAF3ax9CJSLOiWetdp7N3tuu0X3v+vPlmLP2EJARERERGTH2EJARERERGTH2EJARERERGTHGBAQEREREdkxBgRERERERHaMAQERERERkR1jQEBEREREZMcYEBARERER2TEGBEREREREdowBARERERGRHWNAQERERERkxxgQEBERERHZMQYERERERER2jAEBEREREZEdY0BARERERGTHGBAQEVnAJ598InXq1JF69erJnTt3sly/X79+8t5771n0mPbu3SuVKlWS69evi7WsXLlSHcOjMH36dHnqqafE2nDfcP+sBfcT1xT3N7sOHjwoBw4cMHt7yj2JiYmyYMECm/vc0+OFAQER0SN25swZWbp0qbz77ruyZs0aKVSokLUPyWZ07NhRdu3a9Uj2NWjQIFmxYoXYu4CAAHVNEYBmV58+feTatWtmb0+5Z+3atfLFF18YnvNzT5bgbJG9EhHZsYiICPXzySeflBIlSlj7cGyKu7u7ejwKXl5e6mHvnJycxN/f32rbk2XpdDqT5/zckyWwhYAeO2j6Ru3JgAEDpGbNmtKsWTOZMWNGps2tqZdhH7/++quqRatRo4Y888wzcujQIbWsVatWUrduXRk5cqTExcVl+7iw/5kzZ8rLL7+sjqtt27by22+/mayD588995x6vXbt2ur9jx8/bng9NjZWxo0bJ40aNVLH8OGHH8pbb71lkmqC43zppZfUPnCsSF2JiooyvH7s2DG1X9QGNmjQQN544w25efOm5BXnzp2TV199VR179erVpU2bNjJ//nzD63/++ae6X7hvL7zwgixatMgkRSUyMlI+/vhjady4sUrn+d///mdyjbMjLCxMXdeWLVuq6/ziiy8a0i2QEqOljzz99NM5SgOKjo5W97NWrVrqcztt2jRJSUkxvH7x4kV57bXX1P3HsY8YMUJu3LhheD05OVmlFrRv316dP37+8ssvGb4fUkbwOZg6daqYK6ffldQpQ9u3b5fu3burc27SpIm6XuHh4YbX582bp64j7jW+Q99//72hgGT8vdXSXv766y9137X1cRzGcH2wHPdt4MCB6m9DTtIv8N74Hrdo0UJ9R99//32Jj483WefWrVsyatQoqV+/vrpXuGdXrlwxvH737l117/Ca9vnZt2+fSYrId999J61bt1bXBddn9+7d6jV8zqpWrSpz5sxR2+O1wMBAk5QffP4mTpwoo0ePVtvjWLG+dt20649jx/VOnTKU1edIOwbcu2effVZd6w4dOsjmzZsf6juM86hcubLarzEcZ+/evdXvCQkJ8tVXX0nz5s3VZ7dnz54mLU74fOFv62effaa+I8OGDVPLcWz4XOCe4Zxw3Xbu3GnYDueM7wG+d1gH9wfX0DgVDN+/IUOGqPfFeviuhoSEZOucM7p3+H7je4i/Q/iu4HrgO4SWRe18cP7afcM+rPG5JzugI3rMVKxYUVe/fn3d6tWrddeuXdP98MMPatm+ffvU69OmTdO1bt3aZJvUy7B+o0aNdFu2bNFdvHhR98ILL+gaNGigGzhwoO7s2bO6jRs36qpVq6ZbtGhRto8L+8c206dPV/v86aefdJUrV9atW7dOvf7333/rqlevro77+vXrusOHD+u6d++u69y5s2Efb7zxhq5Nmza63bt3q+PA80qVKuneffdd9frp06d1NWvWVOd8+fJl3f79+9Wx45GSkqJLSkrSNW7cWPfNN9+oa3PixAn1Hv3799flBTExMbonn3xS98477+guXLigzvHLL79U9+vUqVO6f/75R1elShXd3LlzdZcuXdItXbpUV6NGDfU64Br06tVLne+RI0fUPr7++mt1X06ePJmtY8A17Natm+7ZZ5/V7d27V3f+/Hndxx9/rPZx9OhRXWxsrO6vv/5S74nnERER2dpv37591Taffvqp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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "columns_of_interest = [\"num_pages\", \"age_of_book\", \"missing_description\", \"average_rating\"]\n", "\n", "correlation_matrix = books[columns_of_interest].corr(method=\"spearman\")\n", "\n", "sns.set_theme(style=\"white\")\n", "plt.figure(figsize=(8,6))\n", "heatmap = sns.heatmap(correlation_matrix, annot= True, fmt=\".2f\", cmap=\"coolwarm\",\n", " cbar_kws={\"label\":\"Spearmqn correlation\"})\n", "\n", "heatmap.set_title(\"Correlation heatmap\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "id": "f57e99be", "metadata": {}, "outputs": [], "source": [ "books_missing = books[~(books[\"description\"].isna())&\n", " ~(books[\"num_pages\"].isna())&\n", " ~(books[\"average_rating\"].isna())&\n", " ~(books[\"published_year\"].isna())]" ] }, { "cell_type": "code", "execution_count": 22, "id": "9da6e79a", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionagg_of_bookage_of_book
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0021.021.0
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0025.025.0
297800061638310006163831The One TreeNaNStephen R. DonaldsonAmerican fictionhttp://books.google.com/books/content?id=OmQaw...Volume Two of Stephen Donaldson's acclaimed se...1982.03.97479.0172.0043.043.0
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0032.032.0
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0023.023.0
................................................
680397881730310148173031010Journey to the EastNaNHermann HesseAdventure storieshttp://books.google.com/books/content?id=rq6JP...This book tells the tale of a man who goes on ...2002.03.70175.024.0023.023.0
68049788179921623817992162XThe Monk Who Sold His Ferrari: A Fable About F...NaNRobin SharmaHealth & Fitnesshttp://books.google.com/books/content?id=c_7mf...Wisdom to Create a Life of Passion, Purpose, a...2003.03.82198.01568.0022.022.0
680597881853005358185300534I Am thatTalks with Sri Nisargadatta MaharajSri Nisargadatta Maharaj;Sudhakar S. DikshitPhilosophyhttp://books.google.com/books/content?id=Fv_JP...This collection of the timeless teachings of o...1999.04.51531.0104.0026.026.0
680897890277120599027712050The Berlin PhenomenologyNaNGeorg Wilhelm Friedrich HegelHistoryhttp://books.google.com/books/content?id=Vy7Sk...Since the three volume edition ofHegel's Philo...1981.00.00210.00.0044.044.0
680997890420034089042003405'I'm Telling You Stories'Jeanette Winterson and the Politics of ReadingHelena Grice;Tim WoodsLiterary Criticismhttp://books.google.com/books/content?id=2lVyR...This is a jubilant and rewarding collection of...1998.03.70136.010.0027.027.0
\n", "

6507 rows × 15 columns

\n", "
" ], "text/plain": [ " isbn13 isbn10 \\\n", "0 9780002005883 0002005883 \n", "1 9780002261982 0002261987 \n", "2 9780006163831 0006163831 \n", "3 9780006178736 0006178731 \n", "4 9780006280897 0006280897 \n", "... ... ... \n", "6803 9788173031014 8173031010 \n", "6804 9788179921623 817992162X \n", "6805 9788185300535 8185300534 \n", "6808 9789027712059 9027712050 \n", "6809 9789042003408 9042003405 \n", "\n", " title \\\n", "0 Gilead \n", "1 Spider's Web \n", "2 The One Tree \n", "3 Rage of angels \n", "4 The Four Loves \n", "... ... \n", "6803 Journey to the East \n", "6804 The Monk Who Sold His Ferrari: A Fable About F... \n", "6805 I Am that \n", "6808 The Berlin Phenomenology \n", "6809 'I'm Telling You Stories' \n", "\n", " subtitle \\\n", "0 NaN \n", "1 A Novel \n", "2 NaN \n", "3 NaN \n", "4 NaN \n", "... ... \n", "6803 NaN \n", "6804 NaN \n", "6805 Talks with Sri Nisargadatta Maharaj \n", "6808 NaN \n", "6809 Jeanette Winterson and the Politics of Reading \n", "\n", " authors \\\n", "0 Marilynne Robinson \n", "1 Charles Osborne;Agatha Christie \n", "2 Stephen R. Donaldson \n", "3 Sidney Sheldon \n", "4 Clive Staples Lewis \n", "... ... \n", "6803 Hermann Hesse \n", "6804 Robin Sharma \n", "6805 Sri Nisargadatta Maharaj;Sudhakar S. Dikshit \n", "6808 Georg Wilhelm Friedrich Hegel \n", "6809 Helena Grice;Tim Woods \n", "\n", " categories \\\n", "0 Fiction \n", "1 Detective and mystery stories \n", "2 American fiction \n", "3 Fiction \n", "4 Christian life \n", "... ... \n", "6803 Adventure stories \n", "6804 Health & Fitness \n", "6805 Philosophy \n", "6808 History \n", "6809 Literary Criticism \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "2 http://books.google.com/books/content?id=OmQaw... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "... ... \n", "6803 http://books.google.com/books/content?id=rq6JP... \n", "6804 http://books.google.com/books/content?id=c_7mf... \n", "6805 http://books.google.com/books/content?id=Fv_JP... \n", "6808 http://books.google.com/books/content?id=Vy7Sk... \n", "6809 http://books.google.com/books/content?id=2lVyR... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "2 Volume Two of Stephen Donaldson's acclaimed se... 1982.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "... ... ... \n", "6803 This book tells the tale of a man who goes on ... 2002.0 \n", "6804 Wisdom to Create a Life of Passion, Purpose, a... 2003.0 \n", "6805 This collection of the timeless teachings of o... 1999.0 \n", "6808 Since the three volume edition ofHegel's Philo... 1981.0 \n", "6809 This is a jubilant and rewarding collection of... 1998.0 \n", "\n", " average_rating num_pages ratings_count missing_description \\\n", "0 3.85 247.0 361.0 0 \n", "1 3.83 241.0 5164.0 0 \n", "2 3.97 479.0 172.0 0 \n", "3 3.93 512.0 29532.0 0 \n", "4 4.15 170.0 33684.0 0 \n", "... ... ... ... ... \n", "6803 3.70 175.0 24.0 0 \n", "6804 3.82 198.0 1568.0 0 \n", "6805 4.51 531.0 104.0 0 \n", "6808 0.00 210.0 0.0 0 \n", "6809 3.70 136.0 10.0 0 \n", "\n", " agg_of_book age_of_book \n", "0 21.0 21.0 \n", "1 25.0 25.0 \n", "2 43.0 43.0 \n", "3 32.0 32.0 \n", "4 23.0 23.0 \n", "... ... ... \n", "6803 23.0 23.0 \n", "6804 22.0 22.0 \n", "6805 26.0 26.0 \n", "6808 44.0 44.0 \n", "6809 27.0 27.0 \n", "\n", "[6507 rows x 15 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing" ] }, { "cell_type": "code", "execution_count": 23, "id": "ae3af5c4", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
categoriescount
0Fiction2523
1Juvenile Fiction534
2Biography & Autobiography391
3History258
4Literary Criticism164
.........
526Courage1
527Otherland (Imaginary place)1
528Animals1
529Children of divorced parents1
530Catholic women1
\n", "

531 rows × 2 columns

\n", "
" ], "text/plain": [ " categories count\n", "0 Fiction 2523\n", "1 Juvenile Fiction 534\n", "2 Biography & Autobiography 391\n", "3 History 258\n", "4 Literary Criticism 164\n", ".. ... ...\n", "526 Courage 1\n", "527 Otherland (Imaginary place) 1\n", "528 Animals 1\n", "529 Children of divorced parents 1\n", "530 Catholic women 1\n", "\n", "[531 rows x 2 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing[\"categories\"].value_counts().reset_index().sort_values(\"count\", ascending=False)" ] }, { "cell_type": "markdown", "id": "e7f3cb9f", "metadata": {}, "source": [ "The distribution of catagories of the books dataset is a longtail problem " ] }, { "cell_type": "code", "execution_count": 24, "id": "7f056424", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_10196\\4057519413.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " books_missing[\"words_in_description\"] = books_missing[\"description\"].str.split().str.len()\n" ] } ], "source": [ "books_missing[\"words_in_description\"] = books_missing[\"description\"].str.split().str.len()" ] }, { "cell_type": "code", "execution_count": 32, "id": "44ab400f", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionagg_of_bookage_of_bookwords_in_description
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0021.021.0199
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0025.025.0205
297800061638310006163831The One TreeNaNStephen R. DonaldsonAmerican fictionhttp://books.google.com/books/content?id=OmQaw...Volume Two of Stephen Donaldson's acclaimed se...1982.03.97479.0172.0043.043.014
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0032.032.057
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0023.023.045
\n", "
" ], "text/plain": [ " isbn13 isbn10 title subtitle \\\n", "0 9780002005883 0002005883 Gilead NaN \n", "1 9780002261982 0002261987 Spider's Web A Novel \n", "2 9780006163831 0006163831 The One Tree NaN \n", "3 9780006178736 0006178731 Rage of angels NaN \n", "4 9780006280897 0006280897 The Four Loves NaN \n", "\n", " authors categories \\\n", "0 Marilynne Robinson Fiction \n", "1 Charles Osborne;Agatha Christie Detective and mystery stories \n", "2 Stephen R. Donaldson American fiction \n", "3 Sidney Sheldon Fiction \n", "4 Clive Staples Lewis Christian life \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "2 http://books.google.com/books/content?id=OmQaw... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "2 Volume Two of Stephen Donaldson's acclaimed se... 1982.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "\n", " average_rating num_pages ratings_count missing_description agg_of_book \\\n", "0 3.85 247.0 361.0 0 21.0 \n", "1 3.83 241.0 5164.0 0 25.0 \n", "2 3.97 479.0 172.0 0 43.0 \n", "3 3.93 512.0 29532.0 0 32.0 \n", "4 4.15 170.0 33684.0 0 23.0 \n", "\n", " age_of_book words_in_description \n", "0 21.0 199 \n", "1 25.0 205 \n", "2 43.0 14 \n", "3 32.0 57 \n", "4 23.0 45 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing.head()" ] }, { "cell_type": "code", "execution_count": 36, "id": "ca0ac08b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6 Donation.\n", "11 Fantasy-roman.\n", "77 Nonsense rhyming story. 4 yrs+\n", "104 Library of Liberal Arts title.\n", "682 Biography of John Wesley Powell.\n", " ... \n", "6695 No Marketing Blurb\n", "6704 Accessible and affordable illustrated biography\n", "6721 Horror.\n", "6757 Audio Book- unabriged on CD\n", "6794 源氏物語54帖、「宮田切り絵」の真骨頂。\n", "Name: description, Length: 66, dtype: object" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing.loc[books_missing[\"words_in_description\"].between(1,5), \"description\"]" ] }, { "cell_type": "code", "execution_count": 33, "id": "729326fa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2 Volume Two of Stephen Donaldson's acclaimed se...\n", "38 Koko is Peter Straub's foray into the psycholo...\n", "70 A matter of life and death - and the Throne of...\n", "77 Nonsense rhyming story. 4 yrs+\n", "84 A study guide for the novel There's a Boy in t...\n", " ... \n", "6715 The first comprehensive guide to addressing Na...\n", "6726 Presents two complete novels from Henry James.\n", "6757 Audio Book- unabriged on CD\n", "6776 Raymond Chandler meets The Exorcist. Classic n...\n", "6795 Book Of Five Rings is a Kodansha International...\n", "Name: description, Length: 308, dtype: object" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing.loc[books_missing[\"words_in_description\"].between(5,14), \"description\"]" ] }, { "cell_type": "code", "execution_count": 35, "id": "40144115", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10 One of Sidney Sheldon's most popular and bests...\n", "32 Tells the story of three generations of Chines...\n", "36 A magical and fantastic collection of early st...\n", "57 A young drifter finds more than he bargained f...\n", "68 A new 'The Doors of Perception' for the 21st c...\n", " ... \n", "6767 Everything from the fingerprints of the gods t...\n", "6782 Displays one of America's leading physicist's ...\n", "6783 Basics Illustration 01: Thinking Visually expl...\n", "6789 Provides an introduction to the American artis...\n", "6809 This is a jubilant and rewarding collection of...\n", "Name: description, Length: 947, dtype: object" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing.loc[books_missing[\"words_in_description\"].between(15,24), \"description\"]" ] }, { "cell_type": "code", "execution_count": 37, "id": "9343f1d3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9 Kate Blackwell is an enigma and one of the mos...\n", "14 Available in the U.S. for the first time, this...\n", "20 It is 1937, and Charles Ashworth, a Canon to t...\n", "21 Reissue of the author's most famous and well-l...\n", "46 No one believes a little girl when she insists...\n", " ... \n", "6760 Joel, an English teacher, has never really lik...\n", "6766 Discusses the historical and intellectual back...\n", "6775 Presents nearly one thousand recipes--from app...\n", "6779 Edited by the creator and executive producer o...\n", "6799 This book is the story of a young girl obsesse...\n", "Name: description, Length: 1229, dtype: object" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing.loc[books_missing[\"words_in_description\"].between(25,34), \"description\"]" ] }, { "cell_type": "code", "execution_count": 38, "id": "e2ee3a1d", "metadata": {}, "outputs": [], "source": [ "books_missing_25_words = books_missing[books_missing[\"words_in_description\"] >=25] " ] }, { "cell_type": "code", "execution_count": 39, "id": "da420f09", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionagg_of_bookage_of_bookwords_in_description
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0021.021.0199
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0025.025.0205
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0032.032.057
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0023.023.045
597800062809340006280935The Problem of PainNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=Kk-uV...\"In The Problem of Pain, C.S. Lewis, one of th...2002.04.09176.037569.0023.023.075
...................................................
680297881722352228172235224Mistaken IdentityNaNNayantara SahgalIndic fiction (English)http://books.google.com/books/content?id=q-tKP...On A Train Journey Home To North India After L...2003.02.93324.00.0022.022.0288
680397881730310148173031010Journey to the EastNaNHermann HesseAdventure storieshttp://books.google.com/books/content?id=rq6JP...This book tells the tale of a man who goes on ...2002.03.70175.024.0023.023.063
68049788179921623817992162XThe Monk Who Sold His Ferrari: A Fable About F...NaNRobin SharmaHealth & Fitnesshttp://books.google.com/books/content?id=c_7mf...Wisdom to Create a Life of Passion, Purpose, a...2003.03.82198.01568.0022.022.0117
680597881853005358185300534I Am thatTalks with Sri Nisargadatta MaharajSri Nisargadatta Maharaj;Sudhakar S. DikshitPhilosophyhttp://books.google.com/books/content?id=Fv_JP...This collection of the timeless teachings of o...1999.04.51531.0104.0026.026.0174
680897890277120599027712050The Berlin PhenomenologyNaNGeorg Wilhelm Friedrich HegelHistoryhttp://books.google.com/books/content?id=Vy7Sk...Since the three volume edition ofHegel's Philo...1981.00.00210.00.0044.044.0245
\n", "

5197 rows × 16 columns

\n", "
" ], "text/plain": [ " isbn13 isbn10 \\\n", "0 9780002005883 0002005883 \n", "1 9780002261982 0002261987 \n", "3 9780006178736 0006178731 \n", "4 9780006280897 0006280897 \n", "5 9780006280934 0006280935 \n", "... ... ... \n", "6802 9788172235222 8172235224 \n", "6803 9788173031014 8173031010 \n", "6804 9788179921623 817992162X \n", "6805 9788185300535 8185300534 \n", "6808 9789027712059 9027712050 \n", "\n", " title \\\n", "0 Gilead \n", "1 Spider's Web \n", "3 Rage of angels \n", "4 The Four Loves \n", "5 The Problem of Pain \n", "... ... \n", "6802 Mistaken Identity \n", "6803 Journey to the East \n", "6804 The Monk Who Sold His Ferrari: A Fable About F... \n", "6805 I Am that \n", "6808 The Berlin Phenomenology \n", "\n", " subtitle \\\n", "0 NaN \n", "1 A Novel \n", "3 NaN \n", "4 NaN \n", "5 NaN \n", "... ... \n", "6802 NaN \n", "6803 NaN \n", "6804 NaN \n", "6805 Talks with Sri Nisargadatta Maharaj \n", "6808 NaN \n", "\n", " authors \\\n", "0 Marilynne Robinson \n", "1 Charles Osborne;Agatha Christie \n", "3 Sidney Sheldon \n", "4 Clive Staples Lewis \n", "5 Clive Staples Lewis \n", "... ... \n", "6802 Nayantara Sahgal \n", "6803 Hermann Hesse \n", "6804 Robin Sharma \n", "6805 Sri Nisargadatta Maharaj;Sudhakar S. Dikshit \n", "6808 Georg Wilhelm Friedrich Hegel \n", "\n", " categories \\\n", "0 Fiction \n", "1 Detective and mystery stories \n", "3 Fiction \n", "4 Christian life \n", "5 Christian life \n", "... ... \n", "6802 Indic fiction (English) \n", "6803 Adventure stories \n", "6804 Health & Fitness \n", "6805 Philosophy \n", "6808 History \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "5 http://books.google.com/books/content?id=Kk-uV... \n", "... ... \n", "6802 http://books.google.com/books/content?id=q-tKP... \n", "6803 http://books.google.com/books/content?id=rq6JP... \n", "6804 http://books.google.com/books/content?id=c_7mf... \n", "6805 http://books.google.com/books/content?id=Fv_JP... \n", "6808 http://books.google.com/books/content?id=Vy7Sk... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "5 \"In The Problem of Pain, C.S. Lewis, one of th... 2002.0 \n", "... ... ... \n", "6802 On A Train Journey Home To North India After L... 2003.0 \n", "6803 This book tells the tale of a man who goes on ... 2002.0 \n", "6804 Wisdom to Create a Life of Passion, Purpose, a... 2003.0 \n", "6805 This collection of the timeless teachings of o... 1999.0 \n", "6808 Since the three volume edition ofHegel's Philo... 1981.0 \n", "\n", " average_rating num_pages ratings_count missing_description \\\n", "0 3.85 247.0 361.0 0 \n", "1 3.83 241.0 5164.0 0 \n", "3 3.93 512.0 29532.0 0 \n", "4 4.15 170.0 33684.0 0 \n", "5 4.09 176.0 37569.0 0 \n", "... ... ... ... ... \n", "6802 2.93 324.0 0.0 0 \n", "6803 3.70 175.0 24.0 0 \n", "6804 3.82 198.0 1568.0 0 \n", "6805 4.51 531.0 104.0 0 \n", "6808 0.00 210.0 0.0 0 \n", "\n", " agg_of_book age_of_book words_in_description \n", "0 21.0 21.0 199 \n", "1 25.0 25.0 205 \n", "3 32.0 32.0 57 \n", "4 23.0 23.0 45 \n", "5 23.0 23.0 75 \n", "... ... ... ... \n", "6802 22.0 22.0 288 \n", "6803 23.0 23.0 63 \n", "6804 22.0 22.0 117 \n", "6805 26.0 26.0 174 \n", "6808 44.0 44.0 245 \n", "\n", "[5197 rows x 16 columns]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing_25_words" ] }, { "cell_type": "code", "execution_count": 40, "id": "33939d7f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_10196\\1996634102.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " books_missing_25_words[\"title_and_subtitle\"] = (\n" ] } ], "source": [ "books_missing_25_words[\"title_and_subtitle\"] = (\n", " np.where(books_missing_25_words[\"subtitle\"].isna(), books_missing_25_words[\"title\"],\n", " books_missing_25_words[[\"title\", \"subtitle\"]].astype(str).agg(\": \".join, axis=1))\n", ")" ] }, { "cell_type": "code", "execution_count": 42, "id": "4755d682", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionagg_of_bookage_of_bookwords_in_descriptiontitle_and_subtitle
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0021.021.0199Gilead
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0025.025.0205Spider's Web: A Novel
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0032.032.057Rage of angels
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0023.023.045The Four Loves
597800062809340006280935The Problem of PainNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=Kk-uV...\"In The Problem of Pain, C.S. Lewis, one of th...2002.04.09176.037569.0023.023.075The Problem of Pain
\n", "
" ], "text/plain": [ " isbn13 isbn10 title subtitle \\\n", "0 9780002005883 0002005883 Gilead NaN \n", "1 9780002261982 0002261987 Spider's Web A Novel \n", "3 9780006178736 0006178731 Rage of angels NaN \n", "4 9780006280897 0006280897 The Four Loves NaN \n", "5 9780006280934 0006280935 The Problem of Pain NaN \n", "\n", " authors categories \\\n", "0 Marilynne Robinson Fiction \n", "1 Charles Osborne;Agatha Christie Detective and mystery stories \n", "3 Sidney Sheldon Fiction \n", "4 Clive Staples Lewis Christian life \n", "5 Clive Staples Lewis Christian life \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "5 http://books.google.com/books/content?id=Kk-uV... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "5 \"In The Problem of Pain, C.S. Lewis, one of th... 2002.0 \n", "\n", " average_rating num_pages ratings_count missing_description agg_of_book \\\n", "0 3.85 247.0 361.0 0 21.0 \n", "1 3.83 241.0 5164.0 0 25.0 \n", "3 3.93 512.0 29532.0 0 32.0 \n", "4 4.15 170.0 33684.0 0 23.0 \n", "5 4.09 176.0 37569.0 0 23.0 \n", "\n", " age_of_book words_in_description title_and_subtitle \n", "0 21.0 199 Gilead \n", "1 25.0 205 Spider's Web: A Novel \n", "3 32.0 57 Rage of angels \n", "4 23.0 45 The Four Loves \n", "5 23.0 75 The Problem of Pain " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing_25_words.head()" ] }, { "cell_type": "code", "execution_count": 43, "id": "fec5a4cb", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_10196\\1188956569.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " books_missing_25_words[\"tagged_description\"] = books_missing_25_words[[\"isbn13\", \"description\"]].astype(str).agg(\" \".join, axis=1)\n" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionagg_of_bookage_of_bookwords_in_descriptiontitle_and_subtitletagged_description
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0021.021.0199Gilead9780002005883 A NOVEL THAT READERS and critics...
197800022619820002261987Spider's WebA NovelCharles Osborne;Agatha ChristieDetective and mystery storieshttp://books.google.com/books/content?id=gA5GP...A new 'Christie for Christmas' -- a full-lengt...2000.03.83241.05164.0025.025.0205Spider's Web: A Novel9780002261982 A new 'Christie for Christmas' -...
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0032.032.057Rage of angels9780006178736 A memorable, mesmerizing heroine...
497800062808970006280897The Four LovesNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=XhQ5X...Lewis' work on the nature of love divides love...2002.04.15170.033684.0023.023.045The Four Loves9780006280897 Lewis' work on the nature of lov...
597800062809340006280935The Problem of PainNaNClive Staples LewisChristian lifehttp://books.google.com/books/content?id=Kk-uV...\"In The Problem of Pain, C.S. Lewis, one of th...2002.04.09176.037569.0023.023.075The Problem of Pain9780006280934 \"In The Problem of Pain, C.S. Le...
\n", "
" ], "text/plain": [ " isbn13 isbn10 title subtitle \\\n", "0 9780002005883 0002005883 Gilead NaN \n", "1 9780002261982 0002261987 Spider's Web A Novel \n", "3 9780006178736 0006178731 Rage of angels NaN \n", "4 9780006280897 0006280897 The Four Loves NaN \n", "5 9780006280934 0006280935 The Problem of Pain NaN \n", "\n", " authors categories \\\n", "0 Marilynne Robinson Fiction \n", "1 Charles Osborne;Agatha Christie Detective and mystery stories \n", "3 Sidney Sheldon Fiction \n", "4 Clive Staples Lewis Christian life \n", "5 Clive Staples Lewis Christian life \n", "\n", " thumbnail \\\n", "0 http://books.google.com/books/content?id=KQZCP... \n", "1 http://books.google.com/books/content?id=gA5GP... \n", "3 http://books.google.com/books/content?id=FKo2T... \n", "4 http://books.google.com/books/content?id=XhQ5X... \n", "5 http://books.google.com/books/content?id=Kk-uV... \n", "\n", " description published_year \\\n", "0 A NOVEL THAT READERS and critics have been eag... 2004.0 \n", "1 A new 'Christie for Christmas' -- a full-lengt... 2000.0 \n", "3 A memorable, mesmerizing heroine Jennifer -- b... 1993.0 \n", "4 Lewis' work on the nature of love divides love... 2002.0 \n", "5 \"In The Problem of Pain, C.S. Lewis, one of th... 2002.0 \n", "\n", " average_rating num_pages ratings_count missing_description agg_of_book \\\n", "0 3.85 247.0 361.0 0 21.0 \n", "1 3.83 241.0 5164.0 0 25.0 \n", "3 3.93 512.0 29532.0 0 32.0 \n", "4 4.15 170.0 33684.0 0 23.0 \n", "5 4.09 176.0 37569.0 0 23.0 \n", "\n", " age_of_book words_in_description title_and_subtitle \\\n", "0 21.0 199 Gilead \n", "1 25.0 205 Spider's Web: A Novel \n", "3 32.0 57 Rage of angels \n", "4 23.0 45 The Four Loves \n", "5 23.0 75 The Problem of Pain \n", "\n", " tagged_description \n", "0 9780002005883 A NOVEL THAT READERS and critics... \n", "1 9780002261982 A new 'Christie for Christmas' -... \n", "3 9780006178736 A memorable, mesmerizing heroine... \n", "4 9780006280897 Lewis' work on the nature of lov... \n", "5 9780006280934 \"In The Problem of Pain, C.S. Le... " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_missing_25_words[\"tagged_description\"] = books_missing_25_words[[\"isbn13\", \"description\"]].astype(str).agg(\" \".join, axis=1)\n", "books_missing_25_words.head()" ] }, { "cell_type": "code", "execution_count": 44, "id": "4ccce38a", "metadata": {}, "outputs": [], "source": [ "(\n", " books_missing_25_words\n", " .drop([\"subtitle\", \"missing_description\", \"age_of_book\", \"words_in_description\"], axis=1)\n", " .to_csv(\"books_cleaned.csv\", index = False)\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "book_env", "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.11.7" } }, "nbformat": 4, "nbformat_minor": 5 }