{ "cells": [ { "cell_type": "markdown", "id": "d9fec777", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": 5, "id": "ba0578d2", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "books = pd.read_csv(\"books_with_categories.csv\")" ] }, { "cell_type": "code", "execution_count": 2, "id": "547ef724", "metadata": {}, "outputs": [], "source": [ "import torch" ] }, { "cell_type": "code", "execution_count": null, "id": "0184c98f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Device set to use cuda\n" ] }, { "data": { "text/plain": [ "[[{'label': 'joy', 'score': 0.9771687984466553},\n", " {'label': 'surprise', 'score': 0.008528684265911579},\n", " {'label': 'neutral', 'score': 0.005764602683484554},\n", " {'label': 'anger', 'score': 0.004419787786900997},\n", " {'label': 'sadness', 'score': 0.0020923942793160677},\n", " {'label': 'disgust', 'score': 0.0016119946958497167},\n", " {'label': 'fear', 'score': 0.0004138521908316761}]]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from transformers import pipeline\n", "classifier = pipeline(\"text-classification\", \n", " model=\"j-hartmann/emotion-english-distilroberta-base\",\n", " top_k = None,\n", " device = \"cuda\")\n", "classifier(\"I love this!\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "ab7b7c6e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'A NOVEL THAT READERS and critics have been eagerly anticipating for over a decade, Gilead is an astonishingly imagined story of remarkable lives. John Ames is a preacher, the son of a preacher and the grandson (both maternal and paternal) of preachers. It’s 1956 in Gilead, Iowa, towards the end of the Reverend Ames’s life, and he is absorbed in recording his family’s story, a legacy for the young son he will never see grow up. Haunted by his grandfather’s presence, John tells of the rift between his grandfather and his father: the elder, an angry visionary who fought for the abolitionist cause, and his son, an ardent pacifist. He is troubled, too, by his prodigal namesake, Jack (John Ames) Boughton, his best friend’s lost son who returns to Gilead searching for forgiveness and redemption. Told in John Ames’s joyous, rambling voice that finds beauty, humour and truth in the smallest of life’s details, Gilead is a song of celebration and acceptance of the best and the worst the world has to offer. At its heart is a tale of the sacred bonds between fathers and sons, pitch-perfect in style and story, set to dazzle critics and readers alike.'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "books[\"description\"][0]" ] }, { "cell_type": "code", "execution_count": 7, "id": "80d70c9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[{'label': 'fear', 'score': 0.6548407673835754},\n", " {'label': 'neutral', 'score': 0.16985219717025757},\n", " {'label': 'sadness', 'score': 0.11640916764736176},\n", " {'label': 'surprise', 'score': 0.020700708031654358},\n", " {'label': 'disgust', 'score': 0.019100721925497055},\n", " {'label': 'joy', 'score': 0.01516129169613123},\n", " {'label': 'anger', 'score': 0.0039351508021354675}]]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier(books[\"description\"][0])" ] }, { "cell_type": "code", "execution_count": 8, "id": "d8c6e560", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[{'label': 'surprise', 'score': 0.7296026349067688},\n", " {'label': 'neutral', 'score': 0.14038565754890442},\n", " {'label': 'fear', 'score': 0.0681622102856636},\n", " {'label': 'joy', 'score': 0.047942474484443665},\n", " {'label': 'anger', 'score': 0.009156355634331703},\n", " {'label': 'disgust', 'score': 0.002628473797813058},\n", " {'label': 'sadness', 'score': 0.002122160280123353}],\n", " [{'label': 'neutral', 'score': 0.4493710994720459},\n", " {'label': 'disgust', 'score': 0.27359139919281006},\n", " {'label': 'joy', 'score': 0.10908272117376328},\n", " {'label': 'sadness', 'score': 0.09362725168466568},\n", " {'label': 'anger', 'score': 0.04047825187444687},\n", " {'label': 'surprise', 'score': 0.026970187202095985},\n", " {'label': 'fear', 'score': 0.006879056338220835}],\n", " [{'label': 'neutral', 'score': 0.6462168097496033},\n", " {'label': 'sadness', 'score': 0.24273255467414856},\n", " {'label': 'disgust', 'score': 0.04342259094119072},\n", " {'label': 'surprise', 'score': 0.028300529345870018},\n", " {'label': 'joy', 'score': 0.014211456291377544},\n", " {'label': 'fear', 'score': 0.01408409047871828},\n", " {'label': 'anger', 'score': 0.011031880043447018}],\n", " [{'label': 'fear', 'score': 0.9281679391860962},\n", " {'label': 'anger', 'score': 0.03219100087881088},\n", " {'label': 'neutral', 'score': 0.012808752246201038},\n", " {'label': 'sadness', 'score': 0.00875688437372446},\n", " {'label': 'surprise', 'score': 0.008597937412559986},\n", " {'label': 'disgust', 'score': 0.008431863971054554},\n", " {'label': 'joy', 'score': 0.0010455828160047531}],\n", " [{'label': 'sadness', 'score': 0.9671575427055359},\n", " {'label': 'neutral', 'score': 0.015104170888662338},\n", " {'label': 'disgust', 'score': 0.006480599287897348},\n", " {'label': 'fear', 'score': 0.0053939977660775185},\n", " {'label': 'surprise', 'score': 0.0022869440726935863},\n", " {'label': 'anger', 'score': 0.0018428928451612592},\n", " {'label': 'joy', 'score': 0.0017338799079880118}],\n", " [{'label': 'joy', 'score': 0.9327967166900635},\n", " {'label': 'disgust', 'score': 0.037718113511800766},\n", " {'label': 'neutral', 'score': 0.015892023220658302},\n", " {'label': 'sadness', 'score': 0.006444575730711222},\n", " {'label': 'anger', 'score': 0.005025049671530724},\n", " {'label': 'surprise', 'score': 0.0015812116907909513},\n", " {'label': 'fear', 'score': 0.0005423118127509952}],\n", " [{'label': 'joy', 'score': 0.6528710126876831},\n", " {'label': 'neutral', 'score': 0.2542743384838104},\n", " {'label': 'surprise', 'score': 0.06808304786682129},\n", " {'label': 'sadness', 'score': 0.00990898534655571},\n", " {'label': 'disgust', 'score': 0.006512206979095936},\n", " {'label': 'anger', 'score': 0.004821315407752991},\n", " {'label': 'fear', 'score': 0.003529016859829426}],\n", " [{'label': 'neutral', 'score': 0.5494765043258667},\n", " {'label': 'sadness', 'score': 0.1116902157664299},\n", " {'label': 'disgust', 'score': 0.10400670766830444},\n", " {'label': 'surprise', 'score': 0.07876554876565933},\n", " {'label': 'anger', 'score': 0.0641336739063263},\n", " {'label': 'fear', 'score': 0.05136284604668617},\n", " {'label': 'joy', 'score': 0.04056443274021149}]]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier(books[\"description\"][0].split(\".\"))" ] }, { "cell_type": "code", "execution_count": 9, "id": "ecd96f5e", "metadata": {}, "outputs": [], "source": [ "sentences = books[\"description\"][0].split(\".\")\n", "predictions = classifier(sentences)" ] }, { "cell_type": "code", "execution_count": 10, "id": "395f13c4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'A NOVEL THAT READERS and critics have been eagerly anticipating for over a decade, Gilead is an astonishingly imagined story of remarkable lives'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sentences[0]" ] }, { "cell_type": "code", "execution_count": 11, "id": "0f136f0e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'label': 'surprise', 'score': 0.7296026349067688},\n", " {'label': 'neutral', 'score': 0.14038565754890442},\n", " {'label': 'fear', 'score': 0.0681622102856636},\n", " {'label': 'joy', 'score': 0.047942474484443665},\n", " {'label': 'anger', 'score': 0.009156355634331703},\n", " {'label': 'disgust', 'score': 0.002628473797813058},\n", " {'label': 'sadness', 'score': 0.002122160280123353}]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predictions[0]" ] }, { "cell_type": "code", "execution_count": 12, "id": "5468ffde", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' Haunted by his grandfather’s presence, John tells of the rift between his grandfather and his father: the elder, an angry visionary who fought for the abolitionist cause, and his son, an ardent pacifist'" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sentences[3]" ] }, { "cell_type": "code", "execution_count": 13, "id": "4cec13a5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'label': 'fear', 'score': 0.9281679391860962},\n", " {'label': 'anger', 'score': 0.03219100087881088},\n", " {'label': 'neutral', 'score': 0.012808752246201038},\n", " {'label': 'sadness', 'score': 0.00875688437372446},\n", " {'label': 'surprise', 'score': 0.008597937412559986},\n", " {'label': 'disgust', 'score': 0.008431863971054554},\n", " {'label': 'joy', 'score': 0.0010455828160047531}]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predictions[3]" ] }, { "cell_type": "code", "execution_count": 14, "id": "08252ce7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[{'label': 'surprise', 'score': 0.7296026349067688},\n", " {'label': 'neutral', 'score': 0.14038565754890442},\n", " {'label': 'fear', 'score': 0.0681622102856636},\n", " {'label': 'joy', 'score': 0.047942474484443665},\n", " {'label': 'anger', 'score': 0.009156355634331703},\n", " {'label': 'disgust', 'score': 0.002628473797813058},\n", " {'label': 'sadness', 'score': 0.002122160280123353}],\n", " [{'label': 'neutral', 'score': 0.4493710994720459},\n", " {'label': 'disgust', 'score': 0.27359139919281006},\n", " {'label': 'joy', 'score': 0.10908272117376328},\n", " {'label': 'sadness', 'score': 0.09362725168466568},\n", " {'label': 'anger', 'score': 0.04047825187444687},\n", " {'label': 'surprise', 'score': 0.026970187202095985},\n", " {'label': 'fear', 'score': 0.006879056338220835}],\n", " [{'label': 'neutral', 'score': 0.6462168097496033},\n", " {'label': 'sadness', 'score': 0.24273255467414856},\n", " {'label': 'disgust', 'score': 0.04342259094119072},\n", " {'label': 'surprise', 'score': 0.028300529345870018},\n", " {'label': 'joy', 'score': 0.014211456291377544},\n", " {'label': 'fear', 'score': 0.01408409047871828},\n", " {'label': 'anger', 'score': 0.011031880043447018}],\n", " [{'label': 'fear', 'score': 0.9281679391860962},\n", " {'label': 'anger', 'score': 0.03219100087881088},\n", " {'label': 'neutral', 'score': 0.012808752246201038},\n", " {'label': 'sadness', 'score': 0.00875688437372446},\n", " {'label': 'surprise', 'score': 0.008597937412559986},\n", " {'label': 'disgust', 'score': 0.008431863971054554},\n", " {'label': 'joy', 'score': 0.0010455828160047531}],\n", " [{'label': 'sadness', 'score': 0.9671575427055359},\n", " {'label': 'neutral', 'score': 0.015104170888662338},\n", " {'label': 'disgust', 'score': 0.006480599287897348},\n", " {'label': 'fear', 'score': 0.0053939977660775185},\n", " {'label': 'surprise', 'score': 0.0022869440726935863},\n", " {'label': 'anger', 'score': 0.0018428928451612592},\n", " {'label': 'joy', 'score': 0.0017338799079880118}],\n", " [{'label': 'joy', 'score': 0.9327967166900635},\n", " {'label': 'disgust', 'score': 0.037718113511800766},\n", " {'label': 'neutral', 'score': 0.015892023220658302},\n", " {'label': 'sadness', 'score': 0.006444575730711222},\n", " {'label': 'anger', 'score': 0.005025049671530724},\n", " {'label': 'surprise', 'score': 0.0015812116907909513},\n", " {'label': 'fear', 'score': 0.0005423118127509952}],\n", " [{'label': 'joy', 'score': 0.6528710126876831},\n", " {'label': 'neutral', 'score': 0.2542743384838104},\n", " {'label': 'surprise', 'score': 0.06808304786682129},\n", " {'label': 'sadness', 'score': 0.00990898534655571},\n", " {'label': 'disgust', 'score': 0.006512206979095936},\n", " {'label': 'anger', 'score': 0.004821315407752991},\n", " {'label': 'fear', 'score': 0.003529016859829426}],\n", " [{'label': 'neutral', 'score': 0.5494765043258667},\n", " {'label': 'sadness', 'score': 0.1116902157664299},\n", " {'label': 'disgust', 'score': 0.10400670766830444},\n", " {'label': 'surprise', 'score': 0.07876554876565933},\n", " {'label': 'anger', 'score': 0.0641336739063263},\n", " {'label': 'fear', 'score': 0.05136284604668617},\n", " {'label': 'joy', 'score': 0.04056443274021149}]]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "predictions" ] }, { "cell_type": "code", "execution_count": 15, "id": "e76fc604", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'label': 'anger', 'score': 0.009156355634331703},\n", " {'label': 'disgust', 'score': 0.002628473797813058},\n", " {'label': 'fear', 'score': 0.0681622102856636},\n", " {'label': 'joy', 'score': 0.047942474484443665},\n", " {'label': 'neutral', 'score': 0.14038565754890442},\n", " {'label': 'sadness', 'score': 0.002122160280123353},\n", " {'label': 'surprise', 'score': 0.7296026349067688}]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(predictions[0], key = lambda x:x[\"label\"])" ] }, { "cell_type": "code", "execution_count": 21, "id": "bb49276c", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "emotion_labels = [\"anger\", \"disgust\", \"fear\", \"joy\", \"sadness\", \"surprise\", \"neutral\"]\n", "isbn = []\n", "emotion_scores = {label: [] for label in emotion_labels}\n", "\n", "def calculate_max_emotion_score(predictions):\n", " per_emotion_scores = {label:[] for label in emotion_labels}\n", " for prediction in predictions:\n", " sorted_predictions = sorted(prediction, key = lambda x: x[\"label\"])\n", " for index, label in enumerate(emotion_labels):\n", " per_emotion_scores[label].append(sorted_predictions[index][\"score\"])\n", " return {label: np.max(scores) for label, scores in per_emotion_scores.items()}" ] }, { "cell_type": "code", "execution_count": null, "id": "4e3fc36a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "You seem to be using the pipelines sequentially on GPU. In order to maximize efficiency please use a dataset\n" ] } ], "source": [ "for i in range(10):\n", " isbn.append(books[\"isbn13\"][i])\n", " sentences = books[\"description\"][0].split(\".\")\n", " predictions = classifier(sentences)\n", " max_scores = calculate_max_emotion_score(predictions)\n", " for label in emotion_labels:\n", " emotion_scores[label].append(max_scores[label])" ] }, { "cell_type": "code", "execution_count": 20, "id": "a5ea90b1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'anger': [np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263),\n", " np.float64(0.0641336739063263)],\n", " 'disgust': [np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006),\n", " np.float64(0.27359139919281006)],\n", " 'fear': [np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962),\n", " np.float64(0.9281679391860962)],\n", " 'joy': [np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635),\n", " np.float64(0.9327967166900635)],\n", " 'sadness': [np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033),\n", " np.float64(0.6462168097496033)],\n", " 'surprise': [np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359),\n", " np.float64(0.9671575427055359)],\n", " 'neutral': [np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688),\n", " np.float64(0.7296026349067688)]}" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emotion_scores" ] }, { "cell_type": "code", "execution_count": 22, "id": "5b2ca76f", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 5197/5197 [01:58<00:00, 43.92it/s]\n" ] } ], "source": [ "\n", "from tqdm import tqdm\n", "\n", "emotion_labels = [\"anger\", \"disgust\", \"fear\", \"joy\", \"sadness\", \"surprise\", \"neutral\"]\n", "isbn = []\n", "emotion_scores = {label: [] for label in emotion_labels}\n", "\n", "for i in tqdm(range(len(books))):\n", " isbn.append(books[\"isbn13\"][i])\n", " sentences = books[\"description\"][i].split(\".\")\n", " predictions = classifier(sentences)\n", " max_scores = calculate_max_emotion_score(predictions)\n", " for label in emotion_labels:\n", " emotion_scores[label].append(max_scores[label])" ] }, { "cell_type": "code", "execution_count": 23, "id": "f69ecf48", "metadata": {}, "outputs": [], "source": [ "emotions_df = pd.DataFrame(emotion_scores)\n", "emotions_df[\"isbn13\"] = isbn" ] }, { "cell_type": "code", "execution_count": 24, "id": "f74c27e0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | anger | \n", "disgust | \n", "fear | \n", "joy | \n", "sadness | \n", "surprise | \n", "neutral | \n", "isbn13 | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "0.064134 | \n", "0.273591 | \n", "0.928168 | \n", "0.932797 | \n", "0.646217 | \n", "0.967158 | \n", "0.729603 | \n", "9780002005883 | \n", "
1 | \n", "0.612619 | \n", "0.348285 | \n", "0.942528 | \n", "0.704421 | \n", "0.887939 | \n", "0.111690 | \n", "0.252545 | \n", "9780002261982 | \n", "
2 | \n", "0.064134 | \n", "0.104007 | \n", "0.972321 | \n", "0.767236 | \n", "0.549477 | \n", "0.111690 | \n", "0.078766 | \n", "9780006178736 | \n", "
3 | \n", "0.351483 | \n", "0.150722 | \n", "0.360707 | \n", "0.251881 | \n", "0.732685 | \n", "0.111690 | \n", "0.078766 | \n", "9780006280897 | \n", "
4 | \n", "0.081412 | \n", "0.184495 | \n", "0.095043 | \n", "0.040564 | \n", "0.884389 | \n", "0.475881 | \n", "0.078766 | \n", "9780006280934 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
5192 | \n", "0.148209 | \n", "0.030643 | \n", "0.919165 | \n", "0.255169 | \n", "0.853721 | \n", "0.980877 | \n", "0.030656 | \n", "9788172235222 | \n", "
5193 | \n", "0.064134 | \n", "0.114383 | \n", "0.051363 | \n", "0.400263 | \n", "0.883199 | \n", "0.111690 | \n", "0.227765 | \n", "9788173031014 | \n", "
5194 | \n", "0.009997 | \n", "0.009929 | \n", "0.339218 | \n", "0.947779 | \n", "0.375755 | \n", "0.066685 | \n", "0.057625 | \n", "9788179921623 | \n", "
5195 | \n", "0.064134 | \n", "0.104007 | \n", "0.459269 | \n", "0.759456 | \n", "0.951104 | \n", "0.368111 | \n", "0.078766 | \n", "9788185300535 | \n", "
5196 | \n", "0.064134 | \n", "0.104007 | \n", "0.051363 | \n", "0.958549 | \n", "0.915193 | \n", "0.111690 | \n", "0.078766 | \n", "9789027712059 | \n", "
5197 rows × 8 columns
\n", "\n", " | isbn13 | \n", "isbn10 | \n", "title | \n", "authors | \n", "categories | \n", "thumbnail | \n", "description | \n", "published_year | \n", "average_rating | \n", "num_pages | \n", "... | \n", "title_and_subtitle | \n", "tagged_description | \n", "simple_categories | \n", "anger | \n", "disgust | \n", "fear | \n", "joy | \n", "sadness | \n", "surprise | \n", "neutral | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "9780002005883 | \n", "0002005883 | \n", "Gilead | \n", "Marilynne Robinson | \n", "Fiction | \n", "http://books.google.com/books/content?id=KQZCP... | \n", "A NOVEL THAT READERS and critics have been eag... | \n", "2004.0 | \n", "3.85 | \n", "247.0 | \n", "... | \n", "Gilead | \n", "9780002005883 A NOVEL THAT READERS and critics... | \n", "Fiction | \n", "0.064134 | \n", "0.273591 | \n", "0.928168 | \n", "0.932797 | \n", "0.646217 | \n", "0.967158 | \n", "0.729603 | \n", "
1 | \n", "9780002261982 | \n", "0002261987 | \n", "Spider's Web | \n", "Charles Osborne;Agatha Christie | \n", "Detective and mystery stories | \n", "http://books.google.com/books/content?id=gA5GP... | \n", "A new 'Christie for Christmas' -- a full-lengt... | \n", "2000.0 | \n", "3.83 | \n", "241.0 | \n", "... | \n", "Spider's Web: A Novel | \n", "9780002261982 A new 'Christie for Christmas' -... | \n", "Fiction | \n", "0.612619 | \n", "0.348285 | \n", "0.942528 | \n", "0.704421 | \n", "0.887939 | \n", "0.111690 | \n", "0.252545 | \n", "
2 | \n", "9780006178736 | \n", "0006178731 | \n", "Rage of angels | \n", "Sidney Sheldon | \n", "Fiction | \n", "http://books.google.com/books/content?id=FKo2T... | \n", "A memorable, mesmerizing heroine Jennifer -- b... | \n", "1993.0 | \n", "3.93 | \n", "512.0 | \n", "... | \n", "Rage of angels | \n", "9780006178736 A memorable, mesmerizing heroine... | \n", "Fiction | \n", "0.064134 | \n", "0.104007 | \n", "0.972321 | \n", "0.767236 | \n", "0.549477 | \n", "0.111690 | \n", "0.078766 | \n", "
3 | \n", "9780006280897 | \n", "0006280897 | \n", "The Four Loves | \n", "Clive Staples Lewis | \n", "Christian life | \n", "http://books.google.com/books/content?id=XhQ5X... | \n", "Lewis' work on the nature of love divides love... | \n", "2002.0 | \n", "4.15 | \n", "170.0 | \n", "... | \n", "The Four Loves | \n", "9780006280897 Lewis' work on the nature of lov... | \n", "Nonfiction | \n", "0.351483 | \n", "0.150722 | \n", "0.360707 | \n", "0.251881 | \n", "0.732685 | \n", "0.111690 | \n", "0.078766 | \n", "
4 | \n", "9780006280934 | \n", "0006280935 | \n", "The Problem of Pain | \n", "Clive Staples Lewis | \n", "Christian life | \n", "http://books.google.com/books/content?id=Kk-uV... | \n", "\"In The Problem of Pain, C.S. Lewis, one of th... | \n", "2002.0 | \n", "4.09 | \n", "176.0 | \n", "... | \n", "The Problem of Pain | \n", "9780006280934 \"In The Problem of Pain, C.S. Le... | \n", "Nonfiction | \n", "0.081412 | \n", "0.184495 | \n", "0.095043 | \n", "0.040564 | \n", "0.884389 | \n", "0.475881 | \n", "0.078766 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
5192 | \n", "9788172235222 | \n", "8172235224 | \n", "Mistaken Identity | \n", "Nayantara Sahgal | \n", "Indic fiction (English) | \n", "http://books.google.com/books/content?id=q-tKP... | \n", "On A Train Journey Home To North India After L... | \n", "2003.0 | \n", "2.93 | \n", "324.0 | \n", "... | \n", "Mistaken Identity | \n", "9788172235222 On A Train Journey Home To North... | \n", "Fiction | \n", "0.148209 | \n", "0.030643 | \n", "0.919165 | \n", "0.255169 | \n", "0.853721 | \n", "0.980877 | \n", "0.030656 | \n", "
5193 | \n", "9788173031014 | \n", "8173031010 | \n", "Journey to the East | \n", "Hermann Hesse | \n", "Adventure stories | \n", "http://books.google.com/books/content?id=rq6JP... | \n", "This book tells the tale of a man who goes on ... | \n", "2002.0 | \n", "3.70 | \n", "175.0 | \n", "... | \n", "Journey to the East | \n", "9788173031014 This book tells the tale of a ma... | \n", "Nonfiction | \n", "0.064134 | \n", "0.114383 | \n", "0.051363 | \n", "0.400263 | \n", "0.883199 | \n", "0.111690 | \n", "0.227765 | \n", "
5194 | \n", "9788179921623 | \n", "817992162X | \n", "The Monk Who Sold His Ferrari: A Fable About F... | \n", "Robin Sharma | \n", "Health & Fitness | \n", "http://books.google.com/books/content?id=c_7mf... | \n", "Wisdom to Create a Life of Passion, Purpose, a... | \n", "2003.0 | \n", "3.82 | \n", "198.0 | \n", "... | \n", "The Monk Who Sold His Ferrari: A Fable About F... | \n", "9788179921623 Wisdom to Create a Life of Passi... | \n", "Fiction | \n", "0.009997 | \n", "0.009929 | \n", "0.339218 | \n", "0.947779 | \n", "0.375755 | \n", "0.066685 | \n", "0.057625 | \n", "
5195 | \n", "9788185300535 | \n", "8185300534 | \n", "I Am that | \n", "Sri Nisargadatta Maharaj;Sudhakar S. Dikshit | \n", "Philosophy | \n", "http://books.google.com/books/content?id=Fv_JP... | \n", "This collection of the timeless teachings of o... | \n", "1999.0 | \n", "4.51 | \n", "531.0 | \n", "... | \n", "I Am that: Talks with Sri Nisargadatta Maharaj | \n", "9788185300535 This collection of the timeless ... | \n", "Nonfiction | \n", "0.064134 | \n", "0.104007 | \n", "0.459269 | \n", "0.759456 | \n", "0.951104 | \n", "0.368111 | \n", "0.078766 | \n", "
5196 | \n", "9789027712059 | \n", "9027712050 | \n", "The Berlin Phenomenology | \n", "Georg Wilhelm Friedrich Hegel | \n", "History | \n", "http://books.google.com/books/content?id=Vy7Sk... | \n", "Since the three volume edition ofHegel's Philo... | \n", "1981.0 | \n", "0.00 | \n", "210.0 | \n", "... | \n", "The Berlin Phenomenology | \n", "9789027712059 Since the three volume edition o... | \n", "Nonfiction | \n", "0.064134 | \n", "0.104007 | \n", "0.051363 | \n", "0.958549 | \n", "0.915193 | \n", "0.111690 | \n", "0.078766 | \n", "
5197 rows × 22 columns
\n", "