ANLP_WS24_CA1/data_explo_reddit.ipynb

396 lines
105 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import nltk\n",
"from nltk.corpus import stopwords\n",
"from nltk.tokenize import word_tokenize\n",
"from collections import Counter"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[nltk_data] Downloading package punkt to\n",
"[nltk_data] C:\\Users\\felix\\AppData\\Roaming\\nltk_data...\n",
"[nltk_data] Package punkt is already up-to-date!\n",
"[nltk_data] Downloading package stopwords to\n",
"[nltk_data] C:\\Users\\felix\\AppData\\Roaming\\nltk_data...\n",
"[nltk_data] Package stopwords is already up-to-date!\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# nltk count words\n",
"nltk.download('punkt')\n",
"nltk.download('stopwords')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# dataset reddit jokes"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Load the data from the JSON file\n",
"data_path = './data/reddit_jokes.json'\n",
"with open(data_path) as f:\n",
" data = json.load(f)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>body</th>\n",
" <th>id</th>\n",
" <th>score</th>\n",
" <th>title</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Now I have to say \"Leroy can you please paint ...</td>\n",
" <td>5tz52q</td>\n",
" <td>1</td>\n",
" <td>I hate how you cant even say black paint anymore</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Pizza doesn't scream when you put it in the ov...</td>\n",
" <td>5tz4dd</td>\n",
" <td>0</td>\n",
" <td>What's the difference between a Jew in Nazi Ge...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>...and being there really helped me learn abou...</td>\n",
" <td>5tz319</td>\n",
" <td>0</td>\n",
" <td>I recently went to America....</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A Sunday school teacher is concerned that his ...</td>\n",
" <td>5tz2wj</td>\n",
" <td>1</td>\n",
" <td>Brian raises his hand and says, “Hes in Heaven.”</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>He got caught trying to sell the two books to ...</td>\n",
" <td>5tz1pc</td>\n",
" <td>0</td>\n",
" <td>You hear about the University book store worke...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" body id score \\\n",
"0 Now I have to say \"Leroy can you please paint ... 5tz52q 1 \n",
"1 Pizza doesn't scream when you put it in the ov... 5tz4dd 0 \n",
"2 ...and being there really helped me learn abou... 5tz319 0 \n",
"3 A Sunday school teacher is concerned that his ... 5tz2wj 1 \n",
"4 He got caught trying to sell the two books to ... 5tz1pc 0 \n",
"\n",
" title \n",
"0 I hate how you cant even say black paint anymore \n",
"1 What's the difference between a Jew in Nazi Ge... \n",
"2 I recently went to America.... \n",
"3 Brian raises his hand and says, “Hes in Heaven.” \n",
"4 You hear about the University book store worke... "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create pandas dataframe of the data\n",
"df = pd.DataFrame(data)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(82914, 4)\n",
"Now it doesn't work\n",
"\n",
"I painted it white and now the system is corrupt.\n",
"\n",
"Painted it yellow and all the drivers crashed\n",
"\n",
"Painted a vagina on it and now all it does is whine.\n",
"4i6fy5\n",
"82\n",
"-----------\n",
"A blonde walks into a bank in New York City and asks for the loan officer. She says she's going to Europe on business for two weeks and needs to borrow $5,000. The bank officer says the bank will need some kind of security for the loan, so the blonde hands over the keys to a new Rolls Royce. The car is parked on the street in front of the bank; she has the title, and everything checks out. The bank agrees to accept the car as collateral for the loan. The bank's president and its officers all enjoy a good laugh at the blonde for using a $250,000 Rolls as collateral against a $5,000 loan. An employee of the bank then drives the Rolls into the bank's underground garage and parks it there. Two weeks later, the blonde returns and repays the $5,000 and the interest, which comes to $15.41. The loan officer says, \"Miss, we are very happy to have had your business, and this transaction has worked out very nicely; but we are a little puzzled. We checked you out and found out that you are a multimillionaire. What puzzles us is - why would you bother to borrow $5,000?\" The blond replies.....\"Where else in New York City can I park my car for two weeks for only $15.41 and expect it to be there when I return?\"\n",
"5088he\n",
"308\n",
"-----------\n",
"Just one. But only if the light bulb really wants to change.\n",
"264i9p\n",
"37\n",
"-----------\n",
"He is following his grandfather around. His grandfather gets on a big tractor to mow the lawn.\n",
"\n",
"Fascinated, Johnny says, \"Wow! Can i try to drive it?\"\n",
"\n",
"His granddad replies, \"can the tip of your penis touch your asshole?\"\n",
"\n",
"Johnny, shocked, says \"No...\"\n",
"\n",
"\"Then you're not old enough\"\n",
"\n",
"In taking a break from mowing, he pulls out a cigar and starts to smoke.\n",
"\n",
"\"Wow! Can i have a puff?\"\n",
"\n",
"\"Can the tip of your penis touch your asshole?\"\n",
"\n",
"\"No...\"\n",
"\n",
"\"Then you're not old enough\"\n",
"\n",
"The old man finishes mowing and goes inside and cracks open a beer.\n",
"\n",
"\"Wow! Can i have a sip?\n",
"\n",
"\"Can the tip of your penis touch your asshole?\"\n",
"\n",
"\"No....\"\n",
"\n",
"\"Then you're not old enough\"\n",
"\n",
"Later in the evening, Johnny is sitting in front of the TV eating cookies his grandmother made him. His grandpa comes into the room and says \"Wow! Can i have a cookie?\"\n",
"\n",
"Johnny stares at him blankly and says, \"can the tip of your penis touch your asshole?\"\n",
"\n",
"His grandfather smugly says \"why as a matterof fact, it can.\"\n",
"\n",
"Johnny looks up from the TV and says, \"Then go fuck yourself, these are my cookies!\"\n",
"463nqd\n",
"108\n",
"-----------\n",
"Patience!\n",
"2awccy\n",
"5\n",
"-----------\n"
]
}
],
"source": [
"# get jokes with highest scores min 4.5\n",
"good_jokes = df[df['score'] >= 4.5].values\n",
"# random sample of 5 jokes\n",
"print(np.array(good_jokes).shape)\n",
"# 5 random indices min max\n",
"number_of_jokes = 5\n",
"idx = np.random.randint(0, len(good_jokes), number_of_jokes)\n",
"for i in idx:\n",
" print(good_jokes[i][0])\n",
" print(good_jokes[i][1])\n",
" print(good_jokes[i][2])\n",
" print('-----------')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmIAAAHHCAYAAAAcbzQmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHRklEQVR4nO3deVhV5f7//xeIG3DY4ARIInDSnIccInJokCMqDTSc1KzMKBuk41SpDeopS9NjOVRap1M2p3ZKPQ4kBxw+mTngbEpWGpZusBQQS0S4f3/4Y33dgQoELoTn47rWdbXX/d5rvdeNxOtae621PYwxRgAAALjoPO1uAAAAoLoiiAEAANiEIAYAAGATghgAAIBNCGIAAAA2IYgBAADYhCAGAABgE4IYAACATQhiAAAANiGIAVXQxIkT5eHhcVH2dd111+m6666zXq9evVoeHh769NNPL8r+77vvPoWFhV2UfZVVTk6OHnjgAQUFBcnDw0MjRoyokP14eHgoPj6+QrYNoGIQxIBKbt68efLw8LAWHx8fBQcHKzo6WrNmzdLx48fLZT+HDh3SxIkTtW3btnLZXnmqzL2VxIsvvqh58+bpkUce0fvvv6977rnnnLVhYWG68cYbL2J3AOzkZXcDAErmueeeU3h4uPLy8uRyubR69WqNGDFCL7/8spYsWaL27dtbtc8884zGjh1bqu0fOnRI//jHPxQWFqaOHTuW+H0rV64s1X7K4ny9/etf/1JBQUGF9/BnJCcn6+qrr9aECRPsbgVAJUMQAy4Rffv2VZcuXazX48aNU3Jysm688UbdfPPN2rNnj3x9fSVJXl5e8vKq2F/v3377TbVq1ZLD4ajQ/VxIzZo1bd1/SWRkZKh169Z2t1ElnDhxQrVr17a7DaDc8NEkcAm74YYb9Oyzz+rHH3/UBx98YK0v7hqxxMREde/eXf7+/qpTp45atGihp556StKZ67q6du0qSRoyZIj1Mei8efMknbkOrG3btkpJSVHPnj1Vq1Yt671/vEasUH5+vp566ikFBQWpdu3auvnmm3Xw4EG3mrCwMN13331F3nv2Ni/UW3HXiJ04cUKjR49WSEiIvL291aJFC/3zn/+UMcatrvCaqkWLFqlt27by9vZWmzZtlJCQUPyE/0FGRobi4uIUGBgoHx8fdejQQe+++641Xni93P79+7Vs2TKr9wMHDpRo+6U9nuJMmjRJnp6emj17trVuxYoV6tGjh2rXrq26desqJiZGu3fvvuC28vLy9I9//EPNmzeXj4+PGjRooO7duysxMdGtbu/evbrzzjvVqFEj+fr6qkWLFnr66afdarZu3aq+ffvK6XSqTp066tWrl77++mu3msKP5desWaNHH31UAQEBatKkSamOw+VyaciQIWrSpIm8vb3VuHFj3XLLLaX+GQAVhTNiwCXunnvu0VNPPaWVK1fqwQcfLLZm9+7duvHGG9W+fXs999xz8vb21nfffad169ZJklq1aqXnnntO48eP19ChQ9WjRw9J0jXXXGNt49dff1Xfvn01YMAA3X333QoMDDxvXy+88II8PDw0ZswYZWRkaMaMGYqKitK2bdusM3clUZLezmaM0c0336xVq1YpLi5OHTt21BdffKEnnnhCP//8s1555RW3+i+//FKfffaZHn30UdWtW1ezZs3S7bffrrS0NDVo0OCcff3++++67rrr9N133yk+Pl7h4eFauHCh7rvvPmVmZmr48OFq1aqV3n//fY0cOVJNmjTR6NGjJUmNGjUq8fGX9njO9swzz+jFF1/UG2+8Yf3beP/99zV48GBFR0frpZde0m+//aY5c+aoe/fu2rp163lvfJg4caImT56sBx54QFdddZWys7O1efNmbdmyRX/9618lSTt27FCPHj1Us2ZNDR06VGFhYfr+++/13//+Vy+88IKkM/8ee/ToIafTqSeffFI1a9bUG2+8oeuuu05r1qxRRESE234fffRRNWrUSOPHj9eJEydKdRy33367du/erccee0xhYWHKyMhQYmKi0tLSKv1NHqgmDIBK7Z133jGSzKZNm85Z4+fnZ6688krr9YQJE8zZv96vvPKKkWSOHDlyzm1s2rTJSDLvvPNOkbFrr73WSDJz584tduzaa6+1Xq9atcpIMpdddpnJzs621i9YsMBIMjNnzrTWhYaGmsGDB19wm+frbfDgwSY0NNR6vWjRIiPJTJo0ya3ujjvuMB4eHua7776z1kkyDofDbd327duNJDN79uwi+zrbjBkzjCTzwQcfWOtOnTplIiMjTZ06ddyOPTQ01MTExJx3e+eqLe3xDBs2zBhjzOjRo42np6eZN2+eNX78+HHj7+9vHnzwQbdtuVwu4+fnV2T9H3Xo0OGCx9GzZ09Tt25d8+OPP7qtLygosP47NjbWOBwO8/3331vrDh06ZOrWrWt69uxprSv8t9+9e3dz+vTpUh/HsWPHjCQzbdq08/YM2ImPJoEqoE6dOue9e9Lf31+StHjx4jJf2O7t7a0hQ4aUuP7ee+9V3bp1rdd33HGHGjdurOXLl5dp/yW1fPly1ahRQ3//+9/d1o8ePVrGGK1YscJtfVRUlC6//HLrdfv27eV0OvXDDz9ccD9BQUEaOHCgta5mzZr6+9//rpycHK1Zs6Ycjqb0x2OMUXx8vGbOnKkPPvhAgwcPtsYSExOVmZmpgQMH6pdffrGWGjVqKCIiQqtWrTpvL/7+/tq9e7f27dtX7PiRI0e0du1a3X///WratKnbWOFH5fn5+Vq5cqViY2P1l7/8xRpv3Lix7rrrLn355ZfKzs52e++DDz6oGjVqlPo4fH195XA4tHr1ah07duy8xwbYhSAGVAE5OTluoeeP+vfvr27duumBBx5QYGCgBgwYoAULFpQqlF122WWlujC/efPmbq89PDzUrFmzCr8258cff1RwcHCR+WjVqpU1frY/BgZJqlev3gX/cP/4449q3ry5PD3d/zd6rv2UVWmP57333tNrr72m2bNnu4VESVaAuuGGG9SoUSO3ZeXKlcrIyDhvL88995wyMzN1xRVXqF27dnriiSe0Y8cOa7wwvLZt2/ac2zhy5Ih+++03tWjRoshYq1atVFBQUORawvDw8DIdh7e3t1566SWtWLFCgYGB6tmzp6ZOnSqXy3Xe4wQuJq4RAy5xP/30k7KystSsWbNz1vj6+mrt2rVatWqVli1bpoSEBM2fP1833HCDVq5c6Xa24XzbKG/neuhsfn5+iXoqD+fajynBhfCVUbdu3bRt2za9+uqruvPOO1W/fn1rrDB4v//++woKCiry3gvdaduzZ099//33Wrx4sVauXKm33npLr7zyiubOnasHHnigfA/kLH/8t1ea4xgxYoRuuukmLVq0SF988YWeffZZTZ48WcnJybryyisrrGegpDgjBlzi3n//fUlSdHT0ees8PT3Vq1cvvfzyy/rmm2/0wgsvKDk52foYp7yfxP/Hj6+MMfruu+/cLpCuV6+eMjMzi7z3j2d5StNbaGioDh06VOSj2r1791rj5SE0NFT79u0rclaxIvZTmuNp1qyZVq5cqUOHDqlPnz5u7yv8CDYgIEBRUVFFluLufv2j+vXra8iQIfr444918OBBtW/fXhMnTpQk66PGXbt2nfP9jRo1Uq1atZSamlpkbO/evfL09FRISMh5eyjtcVx++eUaPXq0Vq5cqV27dunUqVOaPn36BY8VuBgIYsAlLDk5Wc8//7zCw8M1aNCgc9YdPXq0yLrCB6Pm5uZKkvVspuKCUVm89957biHg008/1eHDh9W3b19r3eWXX66vv/5ap06dstYtXbq0yEdTpemtX79+ys/P16uvvuq2/pVXXpGHh4fb/v+Mfv36yeVyaf78+da606dPa/bs2apTp46uvfbacttPaY+nffv2Wr58ufbs2aObbrpJv//+u6QzYd3pdOrFF19UXl5ekfcdOXLkvL38+uuvbq/r1KmjZs2aWf+GGjVqpJ49e+rtt99WWlqaW23hGcYaNWqod+/eWrx4sdvH1Onp6froo4/UvXt3OZ3O8/ZR0uP47bffdPLkSbexyy+/XHXr1rV6BuzGR5PAJWLFihXau3evTp8+rfT0dCUnJysxMVGhoaFasmSJfHx8zvne5557TmvXrlVMTIxCQ0OVkZGh119/XU2aNFH37t0lnfkD5e/vr7lz56pu3bqqXbu2IiIiilyfU1L169dX9+7dNWTIEKWnp2vGjBlq1qyZ2yM2HnjgAX366afq06eP7rzzTn3//ff64IMP3C6eL21vN910k66//no9/fTTOnDggDp06KCVK1dq8eLFGjFiRJFtl9XQoUP1xhtv6L777lNKSorCwsL06aefat26dZoxY8Z5r9krjbIez9VXX63FixerX79+uuOOO7Ro0SI5nU7NmTNH99xzjzp16qQBAwaoUaNGSktL07Jly9StW7cige9srVu31nXXXafOnTurfv362rx5sz799FO377ecNWuWunfvrk6dOmno0KEKDw/XgQMHtGzZMusrqiZNmmQ91+7RRx+Vl5eX3njjDeXm5mrq1KkXnJOSHse3336rXr166c4771Tr1q3l5eWlzz//XOnp6RowYEDpfhBARbHzlk0AF1Z4C3/h4nA4TFBQkPnrX/9qZs6c6faYhEJ/fHxFUlKSueWWW0xwcLBxOBwmODjYDBw40Hz77bdu71u8eLFp3bq18fLycntcxLXXXmvatGlTbH/nenzFxx9/bMaNG2cCAgKMr6+viYmJKfJIA2OMmT59urnsssuMt7e36datm9m8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14hJ0unTp/W///1Pb7zxho4fPy5JOnTokHJycsqtOQAAgKqsTGfEfvzxR/Xp00dpaWnKzc3VX//6V9WtW1cvvfSScnNzNXfu3PLuEwAAoMop0xmx4cOHq0uXLjp27Jh8fX2t9bfeequSkpLKrTkAAICqrExnxP7v//5PX331lRwOh9v6sLAw/fzzz+XSGAAAQFVXpjNiBQUFys/PL7L+p59+Ut26df90UwAAANVBmYJY7969NWPGDOu1h4eHcnJyNGHCBL72CAAAoITK9NHk9OnTFR0drdatW+vkyZO66667tG/fPjVs2FAff/xxefcIAABQJZUpiDVp0kTbt2/XJ598oh07dignJ0dxcXEaNGiQ28X7AAAAOLcyBTFJ8vLy0t13312evQAAAFQrZQpi77333nnH77333jI1AwAAUJ2UKYgNHz7c7XVeXp5+++03ORwO1apViyAGAABQAmW6a/LYsWNuS05OjlJTU9W9e3cu1gcAACihMn/X5B81b95cU6ZMKXK2DAAAAMUrtyAmnbmA/9ChQ+W5SQAAgCqrTNeILVmyxO21MUaHDx/Wq6++qm7dupVLYwAAAFVdmYJYbGys22sPDw81atRIN9xwg6ZPn14efQEAAFR5ZQpiBQUF5d0HAABAtVOu14gBAACg5Mp0RmzUqFElrn355ZfLsgsAAIAqr0xBbOvWrdq6davy8vLUokULSdK3336rGjVqqFOnTladh4dH+XQJAABQBZUpiN10002qW7eu3n33XdWrV0/SmYe8DhkyRD169NDo0aPLtUkAAICqqEzXiE2fPl2TJ0+2Qpgk1atXT5MmTeKuSQAAgBIqUxDLzs7WkSNHiqw/cuSIjh8//qebOtvPP/+su+++Ww0aNJCvr6/atWunzZs3W+PGGI0fP16NGzeWr6+voqKitG/fPrdtHD16VIMGDZLT6ZS/v7/i4uKUk5PjVrNjxw716NFDPj4+CgkJ0dSpU4v0snDhQrVs2VI+Pj5q166dli9fXq7HCgAAqpcyBbFbb71VQ4YM0WeffaaffvpJP/30k/7zn/8oLi5Ot912W7k1d+zYMXXr1k01a9bUihUr9M0332j69OluZ+KmTp2qWbNmae7cudqwYYNq166t6OhonTx50qoZNGiQdu/ercTERC1dulRr167V0KFDrfHs7Gz17t1boaGhSklJ0bRp0zRx4kS9+eabVs1XX32lgQMHKi4uTlu3blVsbKxiY2O1a9eucjteAABQzZgyOHHihHnkkUeMt7e38fT0NJ6ensbhcJhHHnnE5OTklGWTxRozZozp3r37OccLCgpMUFCQmTZtmrUuMzPTeHt7m48//tgYY8w333xjJJlNmzZZNStWrDAeHh7m559/NsYY8/rrr5t69eqZ3Nxct323aNHCen3nnXeamJgYt/1HRESYhx56qMTHk5WVZSSZrKysEr+npELHLC2yAACAP68i/36X6YxYrVq19Prrr+vXX3+17qA8evSoXn/9ddWuXbvcQuKSJUvUpUsX/e1vf1NAQICuvPJK/etf/7LG9+/fL5fLpaioKGudn5+fIiIitH79eknS+vXr5e/vry5dulg1UVFR8vT01IYNG6yanj17yuFwWDXR0dFKTU3VsWPHrJqz91NYU7if4uTm5io7O9ttAQAAKPSnHuh6+PBhHT58WM2bN1ft2rVljCmvviRJP/zwg+bMmaPmzZvriy++0COPPKK///3vevfddyVJLpdLkhQYGOj2vsDAQGvM5XIpICDAbdzLy0v169d3qyluG2fv41w1hePFmTx5svz8/KwlJCSkVMcPAACqtjIFsV9//VW9evXSFVdcoX79+unw4cOSpLi4uHJ9dEVBQYE6deqkF198UVdeeaWGDh2qBx98UHPnzi23fVSkcePGKSsry1oOHjxod0sAAKASKVMQGzlypGrWrKm0tDTVqlXLWt+/f38lJCSUW3ONGzdW69at3da1atVKaWlpkqSgoCBJUnp6ultNenq6NRYUFKSMjAy38dOnT+vo0aNuNcVt4+x9nKumcLw43t7ecjqdbgsAAEChMgWxlStX6qWXXlKTJk3c1jdv3lw//vhjuTQmSd26dVNqaqrbum+//VahoaGSpPDwcAUFBSkpKckaz87O1oYNGxQZGSlJioyMVGZmplJSUqya5ORkFRQUKCIiwqpZu3at8vLyrJrExES1aNHCukMzMjLSbT+FNYX7AQAAKK0yBbETJ064nQkrdPToUXl7e//ppgqNHDlSX3/9tV588UV99913+uijj/Tmm29q2LBhks58hdKIESM0adIkLVmyRDt37tS9996r4OBgxcbGSjpzBq1Pnz568MEHtXHjRq1bt07x8fEaMGCAgoODJUl33XWXHA6H4uLitHv3bs2fP18zZ850+07N4cOHKyEhQdOnT9fevXs1ceJEbd68WfHx8eV2vAAAoHopUxDr0aOH3nvvPeu1h4eHCgoKNHXqVF1//fXl1lzXrl31+eef6+OPP1bbtm31/PPPa8aMGRo0aJBV8+STT+qxxx7T0KFD1bVrV+Xk5CghIUE+Pj5WzYcffqiWLVuqV69e6tevn7p37+72jDA/Pz+tXLlS+/fvV+fOnTV69GiNHz/e7Vlj11xzjRUEO3TooE8//VSLFi1S27Zty+14AQBA9eJhynCr465du9SrVy916tRJycnJuvnmm7V7924dPXpU69at0+WXX14RvV7ysrOz5efnp6ysrHK/Xixs7LIi6w5MiSnXfQAAUB1V5N/vMp0Ra9u2rb799lt1795dt9xyi06cOKHbbrtNW7duJYQBAACUkFdp35CXl6c+ffpo7ty5evrppyuiJwAAgGqh1GfEatasqR07dlRELwAAANVKmT6avPvuu/Xvf/+7vHsBAACoVkr90aR05oGob7/9tv73v/+pc+fORb5f8uWXXy6X5gAAAKqyUgWxH374QWFhYdq1a5c6deok6cwDVs/m4eFRft0BAABUYaUKYs2bN9fhw4e1atUqSWe+0mjWrFlFvgwbAAAAF1aqa8T++MixFStW6MSJE+XaEAAAQHVRpov1C5XhWbAAAAD4/5UqiHl4eBS5BoxrwgAAAMqmVNeIGWN03333WV/sffLkST388MNF7pr87LPPyq9DAACAKqpUQWzw4MFur+++++5ybQYAAKA6KVUQe+eddyqqDwAAgGrnT12sDwAAgLIjiAEAANiEIAYAAGATghgAAIBNCGIAAAA2IYgBAADYhCAGAABgE4IYAACATQhiAAAANiGIAQAA2IQgBgAAYBOCGAAAgE0IYgAAADYhiAEAANiEIAYAAGATghgAAIBNCGIAAAA2IYgBAADYhCAGAABgE4IYAACATQhiAAAANiGIAQAA2IQgBgAAYBOCGAAAgE0IYgAAADYhiAEAANiEIAYAAGATghgAAIBNCGIAAAA2IYgBAADYhCAGAABgk0sqiE2ZMkUeHh4aMWKEte7kyZMaNmyYGjRooDp16uj2229Xenq62/vS0tIUExOjWrVqKSAgQE888YROnz7tVrN69Wp16tRJ3t7eatasmebNm1dk/6+99prCwsLk4+OjiIgIbdy4sSIO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liqlVatWGUlFlsGDBxtjzjzC4tlnnzWBgYHG29vb9OrVy6Smprpt49dffzUDBw40derUMU6n0wwZMsQcP37crWb79u2me/fuxtvb21x22WVmypQpRXpZsGCBueKKK4zD4TBt2rQxy5Ytq7Djtktxcy3JvPPOO1bN77//bh599FFTr149U6tWLXPrrbeaw4cPu23nwIEDpm/fvsbX19c0bNjQjB492uTl5bnVrFq1ynTs2NE4HA7zl7/8xW0fharD78n9999vQkNDjcPhMI0aNTK9evWyQpgxzPfF8scgxryXr/79+5vGjRsbh8NhLrvsMtO/f3/z3XffWeOX2nx7GGNM6c6hAQAAoDxwjRgAAIBNCGIAAAA2IYgBAADYhCAGAABgE4IYAACATQhiAAAANiGIAQAA2IQgBgAAYBOCGAAAgE0IYgBwEZ06dcruFgBUIgQxAJD06aefql27dvL19VWDBg0UFRWlEydOSJLefvtttWnTRt7e3mrcuLHi4+Ot96WlpemWW25RnTp15HQ6deeddyo9Pd0anzhxojp27Ki33npL4eHh8vHxkSRlZmbqgQceUKNGjeR0OnXDDTdo+/btF/egAdiOIAag2jt8+LAGDhyo+++/X3v27NHq1at12223yRijOXPmaNiwYRo6dKh27typJUuWqFmzZpKkgoIC3XLLLTp69KjWrFmjxMRE/fDDD+rfv7/b9r/77jv95z//0WeffaZt27ZJkv72t78pIyNDK1asUEpKijp16qRevXrp6NGjF/vwAdiIL/0GUO1t2bJFnTt31oEDBxQaGuo2dtlll2nIkCGaNGlSkfclJiaqb9++2r9/v0JCQiRJ33zzjdq0aaONGzeqa9eumjhxol588UX9/PPPatSokSTpyy+/VExMjDIyMuTt7W1tr1mzZnryySc1dOjQCjxaAJWJl90NAIDdOnTooF69eqldu3aKjo5W7969dccddygvL0+HDh1Sr169in3fnj17FBISYoUwSWrdurX8/f21Z88ede3aVZIUGhpqhTBJ2r59u3JyctSgQQO37f3+++/6/vvvK+AIAVRWBDEA1V6NGjWUmJior776SitXrtTs2bP19NNPKykpqVy2X7t2bbfXOTk5aty4sVavXl2k1t/fv1z2CeDSQBADAEkeHh7q1q2bunXrpvHjxys0NFSJiYkKCwtTUlKSrr/++iLvadWqlQ4ePKiDBw+6fTSZmZmp1q1bn3NfnTp1ksvlkpeXl8LCwirqkABcAghiAKq9DRs2KCkpSb1791ZAQIA2bNigI0eOqFWrVpo4caIefvhhBQQEqG/fvjp+/LjWrVunxx57TFFRUWrXrp0GDRqkGTNm6PTp03r00Ud17bXXqkuXLufcX1RUlCIjIxUbG6upU6fqiiuu0KFDh7Rs2TLdeuut530vgKqFIAag2nM6nVq7dq1mzJih7OxshYaGavr06erbt68k6eTJk3rllVf0+OOPq2HDhrrjjjsknTmLtnjxYj322GPq2bOnPD091adPH82ePfu8+/Pw8NDy5cv19NNPa8iQITpy5IiCgoLUs2dPBQYGVvjxAqg8uGsSAADAJjxHDAAAwCYEMQAAAJsQxAAAAGxCEAMAALAJQQwAAMAmBDEAAACbEMQAAABsQhADAACwCUEMAADAJgQxAAAAmxDEAAAAbEIQAwAAsMn/B4kGqvxBLwVyAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot the distribution of scores\n",
"scores = df[df['score'] > 0]['score']\n",
"plt.hist(scores, bins=100)\n",
"plt.xlabel('score')\n",
"plt.ylabel('Frequency')\n",
"plt.title('Distribution of Joke scores with score > 0')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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OnfuDADw8/ODu7s7Xn75ZSxfvhxarRbvvPMOQkNDoVKpaqLbREREZGBqNBCdOHECPXv2lN5PmzYNABAUFITIyEgMGjQIERERCA8Px+uvv47mzZvj+++/R9euXaV1Vq5cCSMjIwwZMgS5ubnw9/fHRx99JJUbGxtj9+7dmDBhAry8vGBhYYGgoCAsWLCg+jpKREREBs1gnkNk6KryOUS8ZEZERFQ1av1ziIiIiIiqCwMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREclejQai2NhY9O/fH05OTlAoFNixY0eZdV977TUoFAqsWrVKZ3l6ejoCAwOhVqthY2ODkJAQZGdn69Q5ffo0unXrBjMzMzg7O2P58uVV0BsiIiKqrUxqcuc5OTlo27YtXnnlFQwePLjMetu3b8dvv/0GJyenEmWBgYFISUlBdHQ08vPzERwcjPHjx+Orr74CAGRlZcHPzw++vr6IiIjAmTNn8Morr8DGxgbjx4+vsr49KddZe3TeX1kaUEMtISIievrVaCDq06cP+vTpU26df/75B5MmTcJPP/2EgADdUHD+/Hns378fx48fR4cOHQAAa9euRd++ffH+++/DyckJW7ZsQV5eHjZu3AilUolWrVohMTERK1asMOhARERERNXHoOcQFRUV4eWXX8aMGTPQqlWrEuVxcXGwsbGRwhAA+Pr6wsjICPHx8VIdb29vKJVKqY6/vz+SkpJw+/btMvedm5uLrKwsnRcRERE9nQw6EC1btgwmJiZ4/fXXSy3XarWwt7fXWWZiYgJbW1totVqpjoODg06d4vfFdUoTHh4Oa2tr6eXs7PwkXSEiIiIDZrCBKCEhAatXr0ZkZCQUCkW173/27NnIzMyUXteuXav2NhAREVH1MNhA9MsvvyAtLQ0NGzaEiYkJTExMcPXqVUyfPh2urq4AAI1Gg7S0NJ31CgoKkJ6eDo1GI9VJTU3VqVP8vrhOaVQqFdRqtc6LiIiInk4GG4hefvllnD59GomJidLLyckJM2bMwE8//QQA8PLyQkZGBhISEqT1Dh48iKKiInTq1EmqExsbi/z8fKlOdHQ0mjdvjrp161Zvp4iIiMgg1ehdZtnZ2bh48aL0/vLly0hMTIStrS0aNmyIevXq6dQ3NTWFRqNB8+bNAQAtW7ZE7969MW7cOERERCA/Px9hYWEYMWKEdIv+qFGjMH/+fISEhGDmzJk4e/YsVq9ejZUrV1ZfR4mIiMig1WggOnHiBHr27Cm9nzZtGgAgKCgIkZGRFdrGli1bEBYWBh8fHxgZGWHIkCFYs2aNVG5tbY2oqCiEhobC09MT9evXx9y5c3nLPREREUkUQghR042oDbKysmBtbY3MzEy9zyd6+CGMpeGDGYmIiB5fRX9/G+wcIiIiIqLqwkBEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyV6PfZUYVV9rXe/DrPIiIiPSDI0REREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkezUaiGJjY9G/f384OTlBoVBgx44dUll+fj5mzpwJDw8PWFhYwMnJCaNHj8aNGzd0tpGeno7AwECo1WrY2NggJCQE2dnZOnVOnz6Nbt26wczMDM7Ozli+fHl1dI+IiIhqiRoNRDk5OWjbti3WrVtXouzu3bv4/fffMWfOHPz+++/44YcfkJSUhBdeeEGnXmBgIM6dO4fo6Gjs3r0bsbGxGD9+vFSelZUFPz8/uLi4ICEhAe+99x7mzZuHTz75pMr7R0RERLWDQggharoRAKBQKLB9+3YMHDiwzDrHjx/Hc889h6tXr6Jhw4Y4f/483N3dcfz4cXTo0AEAsH//fvTt2xfXr1+Hk5MT1q9fj7fffhtarRZKpRIAMGvWLOzYsQN//vlnhduXlZUFa2trZGZmQq1WP1FfH+Y6a0+l1ruyNECv7SAiInraVPT3d62aQ5SZmQmFQgEbGxsAQFxcHGxsbKQwBAC+vr4wMjJCfHy8VMfb21sKQwDg7++PpKQk3L59u1rbT0RERIbJpKYbUFH37t3DzJkzMXLkSCnhabVa2Nvb69QzMTGBra0ttFqtVMfNzU2njoODg1RWt27dUveXm5uL3Nxc6X1WVpbe+kJERESGpVaMEOXn52PYsGEQQmD9+vXVss/w8HBYW1tLL2dn52rZLxEREVU/gw9ExWHo6tWriI6O1rn+p9FokJaWplO/oKAA6enp0Gg0Up3U1FSdOsXvi+uUZvbs2cjMzJRe165d01eXiIiIyMAYdCAqDkMXLlzAzz//jHr16umUe3l5ISMjAwkJCdKygwcPoqioCJ06dZLqxMbGIj8/X6oTHR2N5s2bl3m5DABUKhXUarXOi4iIiJ5ONRqIsrOzkZiYiMTERADA5cuXkZiYiOTkZOTn52Po0KE4ceIEtmzZgsLCQmi1Wmi1WuTl5QEAWrZsid69e2PcuHE4duwYjhw5grCwMIwYMQJOTk4AgFGjRkGpVCIkJATnzp3Dt99+i9WrV2PatGk11W0iIiIyMDV6231MTAx69uxZYnlQUBDmzZtXYjJ0sUOHDqFHjx4A7j+YMSwsDD/++COMjIwwZMgQrFmzBpaWllL906dPIzQ0FMePH0f9+vUxadIkzJw587HaytvuiYiIap+K/v42mOcQGToGIiIiotrnqXwOEREREVFVYCAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2WMgIiIiItljICIiIiLZYyAiIiIi2TOp6QaQ/rjO2lNi2ZWlATXQEiIiotqFI0REREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkezUaiGJjY9G/f384OTlBoVBgx44dOuVCCMydOxeOjo4wNzeHr68vLly4oFMnPT0dgYGBUKvVsLGxQUhICLKzs3XqnD59Gt26dYOZmRmcnZ2xfPnyqu6awXCdtUfnRURERCXVaCDKyclB27ZtsW7dulLLly9fjjVr1iAiIgLx8fGwsLCAv78/7t27J9UJDAzEuXPnEB0djd27dyM2Nhbjx4+XyrOysuDn5wcXFxckJCTgvffew7x58/DJJ59Uef+IiIiodjCpyZ336dMHffr0KbVMCIFVq1bhnXfewYABAwAAmzdvhoODA3bs2IERI0bg/Pnz2L9/P44fP44OHToAANauXYu+ffvi/fffh5OTE7Zs2YK8vDxs3LgRSqUSrVq1QmJiIlasWKETnIiIiEi+DHYO0eXLl6HVauHr6ysts7a2RqdOnRAXFwcAiIuLg42NjRSGAMDX1xdGRkaIj4+X6nh7e0OpVEp1/P39kZSUhNu3b5e5/9zcXGRlZem8iIiI6OlksIFIq9UCABwcHHSWOzg4SGVarRb29vY65SYmJrC1tdWpU9o2HtxHacLDw2FtbS29nJ2dn6xDREREZLAMNhDVtNmzZyMzM1N6Xbt2raabRERERFXEYAORRqMBAKSmpuosT01Nlco0Gg3S0tJ0ygsKCpCenq5Tp7RtPLiP0qhUKqjVap0XERERPZ0MNhC5ublBo9HgwIED0rKsrCzEx8fDy8sLAODl5YWMjAwkJCRIdQ4ePIiioiJ06tRJqhMbG4v8/HypTnR0NJo3b466detWU2+IiIjIkFUqEP3999962Xl2djYSExORmJgI4P5E6sTERCQnJ0OhUGDKlClYtGgRdu3ahTNnzmD06NFwcnLCwIEDAQAtW7ZE7969MW7cOBw7dgxHjhxBWFgYRowYAScnJwDAqFGjoFQqERISgnPnzuHbb7/F6tWrMW3aNL30gYiIiGq/St1236RJE3Tv3h0hISEYOnQozMzMKrXzEydOoGfPntL74pASFBSEyMhIvPnmm8jJycH48eORkZGBrl27Yv/+/Tr727JlC8LCwuDj4wMjIyMMGTIEa9askcqtra0RFRWF0NBQeHp6on79+pg7dy5vuSciIiKJQgghHnelxMREbNq0CV9//TXy8vIwfPhwhISE4LnnnquKNhqErKwsWFtbIzMzU+/ziSr7BOkrSwMeezsPr0NERPQ0q+jv70pdMmvXrh1Wr16NGzduYOPGjUhJSUHXrl3RunVrrFixAjdv3qx0w4mIiIiq2xNNqjYxMcHgwYOxdetWLFu2DBcvXsQbb7wBZ2dnjB49GikpKfpqJxEREVGVeaJAdOLECUycOBGOjo5YsWIF3njjDVy6dAnR0dG4ceOG9JUbRERERIasUpOqV6xYgU2bNiEpKQl9+/bF5s2b0bdvXxgZ3c9Xbm5uiIyMhKurqz7bSkRERFQlKhWI1q9fj1deeQVjxoyBo6NjqXXs7e3x2WefPVHjiIiIiKpDpQLRhQsXHllHqVQiKCioMpsnIiIiqlaVmkO0adMmbN26tcTyrVu34vPPP3/iRhERERFVp0oFovDwcNSvX7/Ecnt7eyxZsuSJG0VERERUnSoViJKTk+Hm5lZiuYuLC5KTk5+4UURERETVqVKByN7eHqdPny6x/NSpU6hXr94TN4qIiIioOlUqEI0cORKvv/46Dh06hMLCQhQWFuLgwYOYPHkyRowYoe82EhEREVWpSt1ltnDhQly5cgU+Pj4wMbm/iaKiIowePZpziIiIiKjWqVQgUiqV+Pbbb7Fw4UKcOnUK5ubm8PDwgIuLi77bR0RERFTlKhWIijVr1gzNmjXTV1uIiIiIakSlAlFhYSEiIyNx4MABpKWloaioSKf84MGDemkcERERUXWoVCCaPHkyIiMjERAQgNatW0OhUOi7XURERETVplKB6JtvvsF3332Hvn376rs9RERERNWuUrfdK5VKNGnSRN9tISIiIqoRlQpE06dPx+rVqyGE0Hd7iIiIiKpdpS6Z/frrrzh06BD27duHVq1awdTUVKf8hx9+0EvjiIiIiKpDpQKRjY0NBg0apO+2EBEREdWISgWiTZs26bsdRERERDWm0g9mLCgoQExMDC5duoRRo0bBysoKN27cgFqthqWlpT7bSFXMddYenfdXlgbUUEuIiIhqRqUC0dWrV9G7d28kJycjNzcX//vf/2BlZYVly5YhNzcXERER+m4nERERUZWp1F1mkydPRocOHXD79m2Ym5tLywcNGoQDBw7orXFERERE1aFSI0S//PILjh49CqVSqbPc1dUV//zzj14aRjXn4UtoAC+jERHR061SI0RFRUUoLCwssfz69euwsrJ64kYRERERVadKBSI/Pz+sWrVKeq9QKJCdnY13332XX+dBREREtU6lLpl98MEH8Pf3h7u7O+7du4dRo0bhwoULqF+/Pr7++mt9t5GIiIioSlUqEDVo0ACnTp3CN998g9OnTyM7OxshISEIDAzUmWRNREREVBtU+jlE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yMhA165dsX//fpiZmUl1tmzZgrCwMPj4+MDIyAhDhgzBmjVraqJLREREZIAMOhABQL9+/dCvX78yyxUKBRYsWIAFCxaUWcfW1hZfffVVVTSPiIiIngIGPYeIiIiIqDowEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7Bn8bfdE/HoPIiKqahwhIiIiItljICIiIiLZYyAiIiIi2eMcIqoQfiksERE9zThCRERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx7vMqFZ6+K43PrmaiIieBEeIiIiISPYYiIiIiEj2GIiIiIhI9hiIiIiISPY4qZqeWpx4TUREFcURIiIiIpI9jhCRbJT2BbUcNSIiIoAjREREREQMREREREQMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQkewxEREREJHsMRERERCR7DEREREQke7UqEC1duhQKhQJTpkyRlt27dw+hoaGoV68eLC0tMWTIEKSmpuqsl5ycjICAANSpUwf29vaYMWMGCgoKqrn1REREZKhqzXeZHT9+HB9//DHatGmjs3zq1KnYs2cPtm7dCmtra4SFhWHw4ME4cuQIAKCwsBABAQHQaDQ4evQoUlJSMHr0aJiammLJkiU10RUyYPy+MyIieaoVI0TZ2dkIDAzEhg0bULduXWl5ZmYmPvvsM6xYsQK9evWCp6cnNm3ahKNHj+K3334DAERFReGPP/7Al19+iXbt2qFPnz5YuHAh1q1bh7y8vJrqEhERERmQWhGIQkNDERAQAF9fX53lCQkJyM/P11neokULNGzYEHFxcQCAuLg4eHh4wMHBQarj7++PrKwsnDt3rsx95ubmIisrS+dFRERETyeDv2T2zTff4Pfff8fx48dLlGm1WiiVStjY2Ogsd3BwgFarleo8GIaKy4vLyhIeHo758+c/YeuJiIioNjDoEaJr165h8uTJ2LJlC8zMzKp137Nnz0ZmZqb0unbtWrXun4iIiKqPQQeihIQEpKWloX379jAxMYGJiQkOHz6MNWvWwMTEBA4ODsjLy0NGRobOeqmpqdBoNAAAjUZT4q6z4vfFdUqjUqmgVqt1XkRERPR0MuhLZj4+Pjhz5ozOsuDgYLRo0QIzZ86Es7MzTE1NceDAAQwZMgQAkJSUhOTkZHh5eQEAvLy8sHjx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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot the distribution of scores but cut of the tail score above 100 and below 0\n",
"min_score = 30\n",
"max_score = 300\n",
"\n",
"scores = df[(df['score'] < max_score) & (df['score'] > min_score)]['score']\n",
"plt.hist(scores, bins=100)\n",
"plt.xlabel('score')\n",
"plt.ylabel('Frequency')\n",
"plt.title(f'Distribution of Joke scores with score < {max_score} and score > {min_score}')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of jokes with score > 1000 and <10000 : 3279\n"
]
}
],
"source": [
"min_score = 1000 # 1000\n",
"max_score = 10_000 # 10_000\n",
"cut_off = 2500\n",
"\n",
"\n",
"# Filter scores within the specified range\n",
"scores = df[(df['score'] > min_score) & (df['score'] < max_score)]['score']\n",
"\n",
"# Create bins\n",
"bins = np.linspace(min_score, max_score, 100)\n",
"\n",
"# Plot the histogram\n",
"plt.hist(scores, bins=bins, color='#1b212c', edgecolor='#1b212c')\n",
"\n",
"green_scores = scores[scores > cut_off]\n",
"red_scores = scores[scores <= cut_off]\n",
"\n",
"# Highlight scores above and below 2500\n",
"plt.hist(green_scores, bins=bins, color='#82c7a5', edgecolor='#1b212c')\n",
"plt.hist(red_scores, bins=bins, color='#0145ac', edgecolor='#1b212c')\n",
"\n",
"plt.xlabel('Score')\n",
"plt.ylabel('Frequency')\n",
"plt.title(f'Distribution of Joke Scores >{min_score} and Scores <{max_score}')\n",
"plt.legend(['All Scores', f'Scores > {cut_off} n: {len(red_scores)}', f'Scores <= {cut_off} n: {len(green_scores)}'])\n",
"plt.show()\n",
"\n",
"# Print number of jokes with score > 1000 and < 10000\n",
"num_jokes = len(scores)\n",
"print(f'Number of jokes with score > {min_score} and <{max_score} :', num_jokes)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}