{ "cells": [ { "cell_type": "code", "execution_count": 59, "id": "480725a7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['isbn13', 'isbn10', 'title', 'subtitle', 'authors', 'categories',\n", " 'thumbnail', 'description', 'published_year', 'average_rating',\n", " 'num_pages', 'ratings_count'],\n", " dtype='str')\n" ] } ], "source": [ "import pandas as pd\n", "\n", "books = pd.read_csv(\"../data/books.csv\")\n", "print(books.columns)" ] }, { "cell_type": "code", "execution_count": 60, "id": "d1849dbe", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['isbn13', 'isbn10', 'title', 'subtitle', 'authors', 'categories',\n", " 'thumbnail', 'description', 'published_year', 'average_rating',\n", " 'num_pages', 'ratings_count', 'missing_description', 'age_of_books'],\n", " dtype='str')\n" ] } ], "source": [ "import numpy as np\n", "\n", "books[\"missing_description\"] = np.where(books[\"description\"].isna(),1,0)\n", "books[\"age_of_books\"] = 2024 - books[\"published_year\"]\n", "print(books.columns)" ] }, { "cell_type": "code", "execution_count": 61, "id": "e143a409", "metadata": {}, "outputs": [ { "data": { "image/png": "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iY+PT3P9UaNGye3bt+XHH39UD/w+YsQIsTQGBERERERk/cOOmvORAyj0L168WEaOHClt2rSRqlWryowZMyQwMFD++OOPVOuHh4fLoUOHVCtCtWrVpHr16vLqq6/KqVOnJDQ0VCyJAQERERERUTadP39eoqKipFmzZoZlXl5eqqB/+PDhVOu7urqKh4eHbNy4USIjI9Vj06ZNUq5cObWdJXGUISIiIiKyao+S558Vbdu2zfD1Xbt2pVqGlgAoVqyYyXJfX1/Da8acnZ1l6tSpMn78eGnYsKEaShXrrlixQuwtPPEaWwiIiIiIiLIpJibGUNA35uLiInFxcanW1+l0cu7cOalXr56sXLlSli5dKsWLF5c33nhDtRZYElsIiIiIiMiq2dmZtw57VxotAJlBCpDWl0D7HRAMuLm5pVp/27ZtqjXgr7/+Ek9PT7Vs3rx58vTTT8vatWtl4MCBYilsISAiIiIiyiYtVSgoKMhkOZ4XKVIk1fpHjhxR/QW0YADy58+vlt24cUMsiQEBEREREVk39CEw5yMHMKoQCvcHDx40GUno7Nmz0qhRo1TrFy1aVBX8jdOJoqOjxd/fX8qWLSuWxICAiIiIiKyanb29WR85gb4D/fr1k+nTp6uUI4w6hInGUPDv0KGDJCUlSXBwsMTGxqr1u3XrZpiLAOviMWbMGNXnoEePHmJJDAiIiIiIiHIAcxD07NlTPv74Y+nTp484ODjIokWLxMnJSQICAqRFixaydetWtS5GFMIkZuhcPGDAABk0aJBaD8vy5csnlmSnw1ER5aLfnKrwetuQLzousPQhUC7KaU0b5U0N29ez9CFQLprx5sPc99wW9tVbZt1//ndniS3jX24iIiIiIhvGYUeJiIiIyLqZedhRW8erS0RERERkw9hCQERERERWzS6HQ4NS1rCFgIiIiIjIhrGFgIiIiIisG0cwMysGBERERERk1ezsmDJkTkwZIiIiIiKyYWwhICIiIiLrxpQhs2ILARERERGRDWMLARERERFZNQ47al5sISAiIiIismFsISAiIiIi62bHOmxz4tUlIiIiIrJhbCEgIiIiIutmz3kIzIkBARERERFZNTumDJkVU4aIiIiIiGwYWwgo133RcQGvug35YPurlj4EykVbphzk9bYhwQHhlj4EylWelrveTBkyK7YQEBERERHZMLYQEBEREZFVs7NnHbY58eoSEREREdkwthAQERERkXWz47Cj5sQWAiIiIiIiG8YWAiIiIiKybuxDYFYMCIiIiIjIujFlyKyYMkREREREZMPYQkBEREREVo3DjpoXWwiIiIiIiGwYWwiIiIiIyLrZsQ7bnHh1iYiIiIhsGFsIiIiIiMi62XNiMnNiCwERERERkQ1jCwERERERWTU79iEwKwYERERERGTdmDJkVkwZIiIiIiKyYWwhICIiIiLrxpQhs2ILARERERGRDWMLARERERFZNzsOO2pObCEgIiIiIrJhbCEgIiIiIutmzzpsc+LVJSIiIiKyYWwhICIiIiLrxlGGzIoBARERERFZN05MZlZMGSIiIiIismFsISAiIiIi68aUIbNiCwERERERkQ1jCwERERERWTdOTGZWbCEgIiIiIrJhbCEgIiIiIuvGicnMii0EREREREQ2jC0ERERERGTd2IfArBgQEBEREZF147CjZsWUISIiIiIiG8YWAiIiIiKybuxUbFZsISAiIiIismFsISAiIiIi68ZOxQY6nU7OnTsn0dHR6veUGjVqJNnFgICIiIiIKA/477//5O2335bAwMBUryE4sLOzU8FCdjEgICIiIiLrxlGGlC+++EIcHR3Vz6JFi4r9Y+pbwYCAiIiIiCgPOHPmjHzzzTfSrl27x7pfBgREREREZN3Yh0ApVKiQODg4yOPGUYaIiIiIyLohNcacjzyib9++Mn/+fNWh+HFiCwERERERUR5w48YNuXLlijz11FNSqVIlcXV1NXkdnYqXLl2a7f0yICAiIiIiq6ZjypAhIKhatarJyELG0hqGNCsYEBARERER5QHLly83y34ZEBARERGRdeOwoyaQNnTo0CGJiIiQAgUKSIMGDaR8+fKSUwwIiIiIiIjyAKQETZgwQX755ReT9CD0HejevbtMmTIlR/tlQEBERERE1o0tBMrChQtl3bp1MnLkSOnSpYv4+PhIUFCQbNq0SebOnSuVK1eWgQMHSnYxICAiIiIiygPWrl0rQ4cOleHDhxuWlSxZUkaMGCEJCQmyZs0aBgREucnN1V6GDywvrZv7iJurg5w8EyozF14Rv1sxGW5XwNtJ3hpSQZrULygODnZy4Mh9mbXoitwLiTesU9DbSYb2KyeN6xUQr3xO4ncrWlau85M/9wXnwplRelxLFJFWJ7bIkRdGyP29hzK8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++OPP2T06NHy6quvyuPEPgRERERERHlAQkKC1K5d+7HvlwEBEREREVl9C4E5H3lFixYtZO/evY99v0wZIiIiIiKrlpcK7ebUqVMnmTBhgty/f1/q1Kkjbm5uqdbp1q1btvfLgICIiIiIKA8YNWqU+rlx40b1SAmjDDEgICIiIqInjk7HFgLYtWuXmANbCIiIiIiI8oASJUpk+LpOp8vRfhkQEBEREZFVYx+Ch7Zu3SqHDh2S+Ph4QwCAn9HR0XLixIkcdTpmQEBERERElAfMnj1bPfLlyyeJiYni5OQkjo6OqpMxJil78cUXc7RfDjtKRERERFaNw47qbdiwQXUaRgvBwIED5emnn5Z//vlHzV7s7e0tlSpVkpxgQEBERERElAfcuXNHnn/+eTWaULVq1eT48eNqec2aNeX111+XX375JUf7ZcoQEREREVk19iHQc3d3V8EAlClTRvz9/SU2NlZcXV1VgIDnOcEWAiIiIiKiPKBWrVqG+QfKlSsnDg4O8u+//6rnV65cEWdn5xztly0ERERERGTVOA+BHtKCBg0aJOHh4TJv3jzp0qWLvPfee9KkSRPZt2+ftGvXTnKCAQERERERWbVk4cRk0KhRI9WB+MKFC+r5+PHj1ehCx44dk44dO8r7778vOcGAgIiIiIgoj6hatap6gIuLi3z22WePvE8GBERERERk1dip2HSkodOnT0tERISkBcOSZhcDAiIiIiKiPDJLMdKCMEtxWjACEQMCIiIiInrisFOx3rfffiu1a9eWDz74QE1E9riwhYCIiIiIKA8ICgqSSZMmSY0aNR7rfjkPARERERFZfR8Ccz7yirp168r58+cf+37ZQkBERERElAdMmDBBzUUQGRmpJinDzMVpDU2aXQwIiIiIiMiqsQ+B3vXr1+Xu3bsye/ZsQydijU6nU8/PnTsn2cWAgIiIiIisWl5K6zGnadOmSenSpWXYsGFSuHDhx7ZfBgRERERERHnA7du3Zd68edK8efPHul8GBERERERk1ZgypFe5cmUJCAiQx40BARERERFRHoD5B8aOHStJSUlqxCFPT89U6xQvXjzb+2VAQERERERWLdnSB2AlBg0aJImJiTJ+/HiTDsXG2KmYiIiIiOgJ9emnn5plv2whICIiIiKrxj4Eeug/8Oyzz0qFChXkceJMxUREREREOZCcnCwzZ86Uli1b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okULOXv2bI7egy0ERERERGTV8nLH30cVGhoqRYsWNTy/cuWKmnsgZUsAAob4+PgcvQdbCIiIiIiIrBT6Dty7d8/w/MCBA2rSsWbNmpmsh0ChYMGCOXoPBgREREREZNVsedjRxo0by5o1a9REY4mJibJu3TpxcXFRIwtp0DKwcuVKqV+/fo7egylDRERERERWavjw4dK7d2+VIoSgALMTjxgxQvLly6deR4CAYODatWvy5Zdf5ug9GBAQERERkVVL1tnusKOVKlVSLQSLFy9WqUPDhg2TPn36GF7/9ttvxdHRUb7//nupVq1ajt6DAQERERERkRWrWLGimncgLWvXrhUfHx+xt895TwAGBERERERk1aw9z9+SihQp8sj7YKdiIiIiIiIbxhYCIiIiIrJqbCEwLwYERERERGTVrH024byOKUNERERERDaMLQREREREZNV0NjzsaG5gCwERERERkQ1jCwERERERWTV2KjYvthAQEREREdkwthAQERERkVXjKEPmxRYCIiIiIiIbxhYCIiIiIrJq7ENgXmwhICIiIiKyYWwhICIiIiKrxhYC82JAQERERERWjZ2KzYspQ0RERERENowtBERERERk1ZgyZF5sISAiIiIismFsISAiIiIiq5acbOkjeLKxhYCIiIiIyIaxhYCIiIiIrBr7EJgXWwiIiIiIiGwYWwiIiIiIyKqxhcC8GBAQERERkVXjxGTmxZQhIiIiIiIbxhYCIiIiIrJqOrPnDNmJLWMLARERERGRDWMLARERERFZNXYqNi+2EBARERER2TC2EBARERGRVUtOtvQRPNnYQkBEREREZMPYQkBEREREVo19CMyLAQERERERWTVOTGZeTBkiIiIiIrJhbCGgXNewfT1edRsSHBBu6UOgXDR34AZebxsyfEl3Sx8C5aYfLljsejNlyLzYQkBEREREZMPYQkBEREREVk1n9k4EdmLL2EJARERERGTD2EJARERERFaNowyZF1sIiIiIiIhsGFsIiIiIiMiqcZQh82JAQERERERWLZk5Q2bFlCEiIiIiIhvGFgIiIiIismpMGTIvthAQEREREdkwthAQERERkVVjC4F5sYWAiIiIiCgHkpOTZebMmdKyZUupW7euDBs2TPz8/NJd/9KlS/Lqq69KkyZNpFmzZjJy5Ei5ffu2WBoDAiIiIiKyask6nVkfOTVn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gYGB8scff6Ra//jx43Lo0CGZNm2a1KhRQ5o1ayaTJk2STZs2yZ07d8SSGBAQEREREWXT+fPnJSoqShXsNV5eXlK9enU5fPhwqvWPHDkiPj4+UqFCBcMypA3Z2dnJ0aNHxZI4yhARERER2fQ8BG3bts3w9V27dqVahpYAKFasmMlyX19fw2vG0AqQcl1nZ2fx9vaWgIAAsSQGBERERERk1axx2NGYB52BUag35uLiImFhYWmun3Jdbf24uDixJAYERERERGTTdqXRApAZV1dXQ18C7XdA4d7NzS3N9dPqbIz13d3dxZLYh4CIiIiIrJo1Djta7EH6T1BQkMlyPC9SpEiq9YsWLZpqXQQIoaGhKs3IkhgQEBERERFlE0YV8vT0lIMHDxqWhYeHy9mzZ9U8AylhGfoWYNhRDUYdggYNGlj0+jNliIiIiIismjX2IXB2dpZ+/frJ9OnTpWDBglKiRAn56quvVEtAhw4dJCkpSe7fvy/58uVT6UJ16tSR+vXry+jRo9XcA9HR0TJ+/Hjp1q1bmi0KuYktBEREREREOYA5CHr27Ckff/yx9OnTRxwcHGTRokXi5OSkRg5q0aKFbN26Va2L4UVnz54tJUuWlAEDBsioUaOkVatWVjExmZ1Op7O+kIueaKNnR1r6ECgXBQeE83rbkNCgUEsfAuWi4Uu683rbkM4JFyz23i2e32PW/e/7tbXYMrYQEBERERHZMLYQEBERERHZMLYQEBERERHZMAYEREREREQ2jAEBEREREZENY0BARERERGTDGBAQEREREdkwBgRERERERDaMAQERERERkQ1jQEBEREREZMMYEBARERER2TAGBERERERENowBARERERGRDWNAQERERERkwxgQEBERERHZMAYERESPwaeffir16tWTBg0ayN27dzNdv3///vL++++b9dofPHhQqlSpIv7+/mIt1q9fr47pcZg1a5Y888wzYmm4j7ifloL7i2uK+51VR48elSNHjuR4e8o9CQkJsmTJEqv73NOThQEBEdEjOn/+vKxatUree+892bRpkxQuXJjXNB2dOnWSffv2PZbrM3jwYFm7dq3NX+tixYqpa4qANKv69u0rN2/ezPH2lHu2bNkiX3zxheE5P/dkDo5m2SsRkQ0JDw9XP5966ikpWbKkpQ/Hqrm6uqrH4+Dh4aEets7BwUF8fHwstj2Zl06nM3nOzz2ZA1sI6ImDpm/UGg4cOFBq164tLVq0kNmzZ2fY3JpyGfbx888/q1q0WrVqyf/+9z85duyYWtamTRupX7++jBo1SmJjY7N8XNj/nDlzZMiQIeq42rdvL7/88ovJOnj+/PPPq9fr1q2r3v/UqVOG12NiYmTChAnSpEkTdQwfffSRvPPOOyapJzjOl19+We0Dx4pUlsjISMPr//33n9ovagMbNWokb731lty+fVus1cWLF+W1115Tx1qzZk1p27atLF682PD6r7/+qu4P7tOLL74oy5YtM0lJiYiIkE8++USaNm2q0nleeeUVk2uaFaGhoeo6tm7dWl3Xl156yZBegRQYLV2kXbt22UoDioqKUvevTp066nM6c+ZMSU5ONrx+5coVef3119X9xrGPHDlSbt26ZXg9KSlJpRI8++yz6vzx86effkr3/ZAigvs+Y8YM9fzevXtqn9i/dl6HDh3K1rXJ7nclZcrQnj17pEePHuoaNGvWTF2/sLAww+uLFi1S1xX3Ht+h77//3lBAMv7eamkvv//+u/ocaOvjOIzhemE5znfQoEHqb0N20i/w3vget2rVSn1HP/jgA4mLizNZ586dOzJ69Ghp2LChura4h9evXze8ntl1R4rId999J08//bS6Lrg++/fvV6/hc1e9enVZsGCB2h6v+fn5maT84PM4efJkGTNmjNoex4r1teumXX8cO653ypShzD5X2jHg3j333HPqWnfs2FF27tz5SN9pnEfVqlXVfo3hOPv06aN+j4+Pl6+++kpatmypPsu9evUyaXHC5wt/Wz///HP1nXnjjTfUchwbPhe4ZzgnXLe///7bsB3OGd8LfA+xDu4PrqFxKhi+j8OGDVPvi/Xw3Q0ODs7SOad37/B9x/cSf5fwXcH1wHcILY3a+eD8tfuGfVjic082QEf0hKlcubKuYcOGuo0bN+pu3rypmzt3rlp26NAh9frMmTN1Tz/9tMk2KZdh/SZNmuh27dqlu3Lliu7FF1/UNWrUSDdo0CDdhQsXdNu3b9fVqFFDt2zZsiwfF/aPbWbNmqX2+eOPP+qqVq2q++2339Trf/zxh65mzZrquP39/XXHjx/X9ejRQ9elSxfDPt566y1d27Ztdfv371fHgedVqlTRvffee+r1c+fO6WrXrq3O+dq1a7rDhw+rY8cjOTlZl5iYqGvatKnu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "from matplotlib import pyplot as plt\n", "columns_of_interest= [\"num_pages\",\"age_of_books\",\"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\", cbar_kws={\"label\":\"Spearman correlation\"})\n", "heatmap.set_title(\"Correlation heatmap\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 62, "id": "b1e7830f", "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", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionage_of_books
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0020.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.0024.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.0042.0
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0031.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.0022.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.0022.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.0021.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.0025.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.0043.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.0026.0
\n", "

6507 rows × 14 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", " age_of_books \n", "0 20.0 \n", "1 24.0 \n", "2 42.0 \n", "3 31.0 \n", "4 22.0 \n", "... ... \n", "6803 22.0 \n", "6804 21.0 \n", "6805 25.0 \n", "6808 43.0 \n", "6809 26.0 \n", "\n", "[6507 rows x 14 columns]" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_not_missing= books[\n", " books[\"description\"].notna() &\n", " books[\"average_rating\"].notna() &\n", " books[\"published_year\"].notna()\n", "]\n", "books_not_missing" ] }, { "cell_type": "code", "execution_count": 63, "id": "5cba284d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "description 0\n", "average_rating 0\n", "published_year 0\n", "dtype: int64\n" ] } ], "source": [ "print(books_not_missing[[\"description\", \"average_rating\", \"published_year\"]].isna().sum())" ] }, { "cell_type": "code", "execution_count": 64, "id": "545f1648", "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
.........
280Brothers and sisters1
279Banks and banking, British1
278Rock musicians1
277Community life1
530Indic fiction (English)1
\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", "280 Brothers and sisters 1\n", "279 Banks and banking, British 1\n", "278 Rock musicians 1\n", "277 Community life 1\n", "530 Indic fiction (English) 1\n", "\n", "[531 rows x 2 columns]" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_not_missing[\"categories\"].value_counts().reset_index().sort_values(\"count\", ascending=False)" ] }, { "cell_type": "code", "execution_count": 65, "id": "84afc9fb", "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", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionage_of_booksnum_words_in_description
097800020058830002005883GileadNaNMarilynne RobinsonFictionhttp://books.google.com/books/content?id=KQZCP...A NOVEL THAT READERS and critics have been eag...2004.03.85247.0361.0020.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.0024.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.0042.014
397800061787360006178731Rage of angelsNaNSidney SheldonFictionhttp://books.google.com/books/content?id=FKo2T...A memorable, mesmerizing heroine Jennifer -- b...1993.03.93512.029532.0031.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.0022.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 \\\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", " age_of_books num_words_in_description \n", "0 20.0 199 \n", "1 24.0 205 \n", "2 42.0 14 \n", "3 31.0 57 \n", "4 22.0 45 " ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_not_missing[\"num_words_in_description\"] = books_not_missing[\"description\"].str.split().str.len()\n", "books_not_missing.head()" ] }, { "cell_type": "code", "execution_count": 67, "id": "16c17433", "metadata": {}, "outputs": [], "source": [ "books_descr_25_words= books_not_missing[books_not_missing[\"num_words_in_description\"] >=25]" ] }, { "cell_type": "code", "execution_count": 69, "id": "a69a9e81", "metadata": {}, "outputs": [], "source": [ "books_descr_25_words[\"title_and_subtitle\"] = np.where(\n", " books_descr_25_words[\"subtitle\"].notna(),\n", " books_descr_25_words[\"title\"].astype(str) + \":\" + books_descr_25_words[\"subtitle\"].astype(str),\n", " books_descr_25_words[\"title\"]\n", ")\n" ] }, { "cell_type": "code", "execution_count": 71, "id": "351d0cf7", "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_descriptionage_of_booksnum_words_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.0020.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.0024.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.0031.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.0022.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.0022.075The Problem of Pain
...................................................
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.0021.0288Mistaken Identity
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.0022.063Journey to the East
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.0021.0117The Monk Who Sold His Ferrari: A Fable About F...
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.0025.0174I Am that:Talks with Sri Nisargadatta Maharaj
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.0043.0245The Berlin Phenomenology
\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", " age_of_books num_words_in_description \\\n", "0 20.0 199 \n", "1 24.0 205 \n", "3 31.0 57 \n", "4 22.0 45 \n", "5 22.0 75 \n", "... ... ... \n", "6802 21.0 288 \n", "6803 22.0 63 \n", "6804 21.0 117 \n", "6805 25.0 174 \n", "6808 43.0 245 \n", "\n", " title_and_subtitle \n", "0 Gilead \n", "1 Spider's Web:A Novel \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:Talks with Sri Nisargadatta Maharaj \n", "6808 The Berlin Phenomenology \n", "\n", "[5197 rows x 16 columns]" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_descr_25_words" ] }, { "cell_type": "code", "execution_count": 74, "id": "7821b828", "metadata": {}, "outputs": [], "source": [ "books_descr_25_words[\"tagged_description\"] = books_descr_25_words[[\"isbn13\",\"description\"]].astype(str).agg(\" \".join, axis=1)" ] }, { "cell_type": "code", "execution_count": 75, "id": "b1796627", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
isbn13isbn10titlesubtitleauthorscategoriesthumbnaildescriptionpublished_yearaverage_ratingnum_pagesratings_countmissing_descriptionage_of_booksnum_words_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.0020.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.0024.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.0031.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.0022.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.0022.075The Problem of Pain9780006280934 \"In The Problem of Pain, C.S. Le...
......................................................
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.0021.0288Mistaken Identity9788172235222 On A Train Journey Home To North...
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.0022.063Journey to the East9788173031014 This book tells the tale of a ma...
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.0021.0117The Monk Who Sold His Ferrari: A Fable About F...9788179921623 Wisdom to Create a Life of Passi...
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.0025.0174I Am that:Talks with Sri Nisargadatta Maharaj9788185300535 This collection of the timeless ...
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.0043.0245The Berlin Phenomenology9789027712059 Since the three volume edition o...
\n", "

5197 rows × 17 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", " age_of_books num_words_in_description \\\n", "0 20.0 199 \n", "1 24.0 205 \n", "3 31.0 57 \n", "4 22.0 45 \n", "5 22.0 75 \n", "... ... ... \n", "6802 21.0 288 \n", "6803 22.0 63 \n", "6804 21.0 117 \n", "6805 25.0 174 \n", "6808 43.0 245 \n", "\n", " title_and_subtitle \\\n", "0 Gilead \n", "1 Spider's Web:A Novel \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:Talks with Sri Nisargadatta Maharaj \n", "6808 The Berlin Phenomenology \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... \n", "... ... \n", "6802 9788172235222 On A Train Journey Home To North... \n", "6803 9788173031014 This book tells the tale of a ma... \n", "6804 9788179921623 Wisdom to Create a Life of Passi... \n", "6805 9788185300535 This collection of the timeless ... \n", "6808 9789027712059 Since the three volume edition o... \n", "\n", "[5197 rows x 17 columns]" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books_descr_25_words" ] }, { "cell_type": "code", "execution_count": 77, "id": "2f100375", "metadata": {}, "outputs": [], "source": [ "(\n", " books_descr_25_words.drop([\"subtitle\",\"missing_description\",\"age_of_books\",\"num_words_in_description\"], axis=1).to_csv(\"../data/books_cleaned.csv\",index=False)\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "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.13" } }, "nbformat": 4, "nbformat_minor": 5 }