diff --git a/README.md b/README.md index e0db6a8..018d17a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,23 @@ -# Netflix AI Greenlight Challenge +# group member ! +Vincent kuo +Iris Su +Sean Shen +Jeannie LAN +# The changes include: +Our analysis is available under the netflix-writer.ipynb exercise; +temp contains temporary files and Vincent's presentation notes, which can be ignored; +the team final project is the presentation PDF. + + + + + + + + + +# Netflix AI Greenlight Challenge [![License: GNU AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) [![Python](https://img.shields.io/badge/Python-3.13-blue?logo=python)](https://www.python.org/) [![Pydantic](https://img.shields.io/badge/Pydantic-2.13-blue?logo=pydantic)](https://docs.pydantic.dev/) @@ -116,4 +134,4 @@ pip --version # you should see pip 25.3.x Please report bugs to the [GitHub Issues Page](https://github.com/netflix-writers/netflix/issues) for this project. -ask for Lawrence. +ask for Lawrence.r diff --git a/bad_example.py b/bad_example.py new file mode 100644 index 0000000..bb0815f --- /dev/null +++ b/bad_example.py @@ -0,0 +1,12 @@ +import numpy as np +import pandas as pd + +def compute_average(values): + total = 0 + for i in range(len(values)): + total = total + values[i] + average = total / len(values) + return average + +result = compute_average([1, 2, 3, 4, 5]) +print(result) diff --git a/bad_number.txt b/bad_number.txt new file mode 100644 index 0000000..f791063 --- /dev/null +++ b/bad_number.txt @@ -0,0 +1 @@ +not a number \ No newline at end of file diff --git a/good_number.txt b/good_number.txt new file mode 100644 index 0000000..f70d7bb --- /dev/null +++ b/good_number.txt @@ -0,0 +1 @@ +42 \ No newline at end of file diff --git a/messy_example.py b/messy_example.py new file mode 100644 index 0000000..340e0b4 --- /dev/null +++ b/messy_example.py @@ -0,0 +1,6 @@ +def compute_average(values): + total = 0 + for i in range(len(values)): + total = total + values[i] + average = total / len(values) + return average diff --git a/netflix-writer copy.ipynb b/netflix-writer copy.ipynb new file mode 100644 index 0000000..1f98029 --- /dev/null +++ b/netflix-writer copy.ipynb @@ -0,0 +1,263 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a21ae4e6", + "metadata": {}, + "source": [ + "## our analysis\n", + "\n", + "| 套件名稱 (Library) | 核心角色 (Core Role) | 實務具體用途 (Specific Use Case) |\n", + "| :--- | :--- | :--- |\n", + "| **Pandas** | [cite_start]資料表操作(DataFrame-based manipulation) [cite: 151, 172] | [cite_start]用於對資料陣列進行轉換、清洗與特徵調整。 [cite: 151] |\n", + "| **NumPy** | [cite_start]高效率數值與矩陣運算(Numerical arrays) [cite: 152, 175] | [cite_start]用於進行高效的數值計算與線性代數矩陣運算。 [cite: 152, 175] |\n", + "| **SciPy** | [cite_start]科學計算與進階統計(Scientific computing) [cite: 155, 183] | [cite_start]包含最佳化、插值、特徵值以及雙樣本 T 檢定等統計演算法。 [cite: 155] |\n", + "| **Matplotlib** | [cite_start]基礎數學與數據視覺化(Core plotting) [cite: 153, 178] | [cite_start]提供底層繪圖控制,用來微調圖表標題、軸線與顯示格式。 [cite: 153] |\n", + "| **Seaborn** | [cite_start]統計數據視覺化(Statistical visualization) [cite: 154, 181] | [cite_start]建立在 Matplotlib 之上,用於快速繪製美觀、高階的統計圖表。 [cite: 154, 181] |\n", + "| **scikit-learn** | [cite_start]預測性數據分析(Machine learning) [cite: 157, 185] | [cite_start]用於建立與評估機器學習模型(如迴歸、分類與資料集切分)。 [cite: 157, 185] |\n", + "| **shap** | [cite_start]模型決策可解釋性(Explainable ML) [cite: 158, 188] | [cite_start]利用 Shapley 值來拆解並解釋黑盒子模型中各特徵的影響力。 [cite: 158, 188] |" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cb9cffa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " budget_M marketing_M is_sequel viewing_hours_M total_spend_M\n", + "0 57.450712 19.404472 1 121.231948 76.855184\n", + "1 47.926035 18.536520 1 115.467455 66.462555\n", + "2 59.715328 22.229169 0 118.926651 81.944497\n", + "3 72.845448 25.249080 1 146.685702 98.094528\n", + "4 46.487699 18.623738 0 90.951494 65.111438\n", + "T 統計量: 3.0319\n", + "P 值: 3.1093e-03\n" + ] + }, + { + "data": { + "image/png": "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IiKiTo4BTBAzG3WINRv8tl4MEREREVGgYQATpH0u8eFGhLqsI0NERERE1BUwgAkiOo0GMWY9ItjnQkRERERdFAOYIMA+FyIiIiKiegxgAlz4iT4XHftciIiIiIgYwAQqo16LOLOBfS5ERERERC6YgQkw7HMhIiIiImoeA5gAwT4XIiIiIqKWMYAJAFzPhYiIiIjIMwxgOpjJoFVfRERERETUMi7hTkREREREQYMBDBERERERBQ0GMEREREREFDQYwBARERERUdBgAENEREREREGDAQwREREREQUNBjBERERERBQ0GMAQEREREVHQYABDRERERERBgwEMEREREREFDR0CXFFREV5//XWsXLkSOp0OEyZMwB133IHQ0FC3/WT7v/71L+Tl5WHw4MF4+OGH0b179w47biIiIiIi6mIZGJvNhuHDh6O4uBg333wzrrjiChXMnHPOOaitrXXut3TpUkyePBkpKSm4++67sW3bNowfPx7l5eUdevxERERERORbIXa73Y4AVlZWhoiICOftTZs2qaBGMi5jx45V902cOBFJSUlYvHixul1RUaFuP/nkk5gzZ45Hz1NaWoqoqCiUlJQgMjLST6+GiIiIiIg6bQZGuAYvQoIMUV1drb5XVlaqYOaiiy5y7mM2m3HWWWfh+++/b+ejJSIiIiKiLh3ANPTMM8+o3pbTTz9d3c7JyUFdXR169Ojhtp/czs7ObvZxampqVNbF9YuIiIiIiAJbUAUwr776Kt5880288847CAsLU/dZrVb1vWFTv8lkgsViOWkgJNkcx5f0zxARERERUWALmgBm3rx5uO+++7Bo0SJMnTrVeX9sbKz6XlBQ4La/3HZsa8ojjzyi+l0cX5LJISIiIiKiwBbwY5TFggULcOedd2LhwoW47LLL3LYlJyerkrINGzbgggsucN6/du1aNYmsOUajUX05OGYZsJSMiIiIiHzVyx0SEsJfpq/ZA9xbb71lNxgM9sWLFze7z8MPP2zv2bOn/fDhw+r2J598ItGIffXq1R4/T05OjvoZfvF3wHOA5wDPAZ4DPAd4DvAc4Dngi3OgpKTEJ9fD5C6gxyjL+i9xcXGIjo7GwIED3bbJQpWOjItMJJsxYwa+/fZbpKWlITMzE88++yxmz57t8XPJIIDDhw93aKQs2R/pxZFyNo5yJp4rxL8rxP8GUSDi9YrnmIHp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/atdq9XaP/roow47Tmp/1dXV9sGDB6tJUV999ZV9wYIF9uTkZDVNyKGwsNCemppqP++88+yff/65fc6cOepvUcO/PdS5OdYCksl13333nfqbIefByy+/7Nxnz5499sjISPXfKTlXZsyYodaN4Vpkndv69evV9YhMpZO/J47rk4ZT7AYMGGBfvHixOmfkXHrppZe83oeorULkf3wTCpGnTfvSWNtQREQEvv76a+dt+ZRUpsT89NNPMBqNmD59ukrzU9cln2JJ1k4mBzVcWf25555TazZII7aUDskn8tS1SIP1Cy+84DwPzj33XNXvIMM/XMs95FyRtT2SkpJw99134/TTT+/Q46aO+Vvy0UcfqfVf5DyQ/76cf/75bvvIWkGyvpSsRSaDQh588EH069ePb1cnJpUhDbNzjoEyUhXg6Hn5+9//ru6TqYdXX321On9cebIPUVsxgCEiIiIioqDBHhgiIiIiIgoaDGCIiIiIiChoMIAhIiIiIqKgwQCGiIiIiIiCBgMYIiIiIiIKGgxgiIiIiIgoaDCAISIiIiKioMEAhojIR2QRuCVLlgT171MWN/zwww9b3E8Ww5RFM33xe/L2dmezd+9erFixoqMPg4goaHAhSyLqVORid/ny5SfdZ+LEiejRo0ez27Ozs7FhwwZceumlXj23rG5+yy23oLi4uMUL1j179iAqKgrDhg1DeHg4AsU333yDSy65BNXV1c3uU1NTg0GDBmHu3LmYPHky8vLy8PPPPyMiIqLRiu61tbX4+OOPYbfbMW3aNBgMhka/J29v+4u8L5s2bcIVV1zRaNv777+P0aNHo1evXh69j47fidBoNGpbRkYG+vfvr267OnToEIYOHaqeu2fPnn59jUREnYGuow+AiMiX5GLw008/dd5etmwZQkJCMGHCBOd9ffr0OWkAs3LlStx1111eBzAtqaqqUhfHckzjx49XQcK+fftwxx134JFHHkGwkMClW7duKngRW7duxdVXX60uzPfv34/09HTnvv/9739x1VVXqX8fP34c8fHxSElJwWWXXebx83m7f2t9++23eOCBB5oMYOT1yeuWAMaT99HxO7noootgMplQXl6OzZs3q22PPfYYbrvtNudjy7kowd3//M//4LXXXvP76yQiCnYMYIioUzn99NPVp+UOF1xwAXQ6ndt9YseOHdi9e7e6EB8zZgy0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R² 判定係數: 0.7704\n", + "均方誤差 (MSE): 113.6193\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/vincent/Documents/netflix-writers/venv/lib/python3.13/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n", + "/var/folders/m3/mxn0108j41x3cp5x3trm41fh0000gn/T/ipykernel_39066/2429433558.py:82: FutureWarning: The NumPy global RNG was seeded by calling `np.random.seed`. In a future version this function will no longer use the global RNG. Pass `rng` explicitly to opt-in to the new behaviour and silence this warning.\n", + " shap.summary_plot(shap_values, X_test)\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvMAAAEECAYAAAClervrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAV0dJREFUeJzt3Qd4FFXXB/Czm0YJIQkQQpPeO0hHqggooIAK0sQC+iqi4Mer2AsWFKW8CkpRBFQQEBDEgoioCNKkI73XhJLed77nf8Ms21J2ScjO5v97nn2yOzuZmb07u3vmzrlnTJqmaUJERERERIZjLugNICIiIiIizzCYJyIiIiIyKAbzREREREQGxWCeiIiIiMigGMwTERERERkUg3kiIiIiIoNiME9EREREZFAM5omIiIiIDIrBPBERERGRQTGYJyIiIiKfsW7dOvn2229dPrdixQr55ZdfrI9/+ukn+e2339xex6pVq2TDhg3iDUyapmkFvRFERERERHlh4MCBsmfPHnVzdOutt0rFihVl+fLl6nGPHj2kdOnSsmDBArfW0b59e2nQoIF88sknBf6m+Rf0BhARERERFYQePXpIiRIlDN34DOaJiIiIqFCqW7euBAUF2U2LiYmRtWvXSlJSkrRo0UI9v2bNGnnooYfEz8/Pbt7Y2FjZvHmzXLp0SZo1ayY1a9a8ya+AwTwRERERFVKTJ09WaTadOnVSj7dt2ybdu3eXsmXLSv369WX8+PFSo0YNlYc/ZMgQu2AeQTwC+EaNGqnAf+jQoTJ9+nR59NFHb+prYM88EREREfmUK1euyOzZs52mR0dHq5x5VzCMdOTIkSoffunSpSpwv3z5suqdd+XIkSOyY8cOqVq1qnr86quvynPPPXfTg3lWsyEiMrC0tDSZOXOmuuE+EZHPM/XLvGUjKSlJNm3a5HRLSEjI8n8QnG/fvl3Gjh1r7YEPDw+XESNGZJlvrwfy0KFDBxX844DhZmLPPBEREREZSM590eXLl3fZM4+e9KycPHlS/a1cubLd9CpVqricPywszO6xnnufnJwsNxN75omIiIjIQEzXbnkrIiJC/XXsWb/ZPe3uYjBPRERERFLYg/latWpJhQoVZOHChXZ59LaPvRHTbIiIiIjIQPI+kIfAwEBV3eaBBx5QvfGoUrN69Wo5ceKEet5kyp/13igG80RERERkINkH1V26dJHatWu7fO6ee+6xy3V3vGjUfffdp3LmFy9eLEePHpXhw4erQbOjR4+2q0ffu3dv1YtvKzIyUh555BEpXry43EwmDecPiIjIkFDB5vPPP1f3cUGTgICAgt4kIqL8ZRqU+Vf7Ks8XHRUVpSrY2NaT79mzpxrUilrz3og980RERERkIPmX7nLo0CHVC4+ed/Swf//997Jz507111txACwRERERGYYmZnXLD23btpW5c+eKv7+/nD59Wvr27SsHDhyQNm3aiLdizzwRERER0TUNGjRQN6NgME9EREREBuKdVWUKCoN5IiIiIjIMPcWGIX0mBvNEREREZCAM420xmCciIiIiw9AYzNthME9EREREhsFg3h6DeSIiIiIyEKbZ2GIwT0RERESGkV815o2KwTwRERERGQbTbOwxmCciIiIiA2GajS0G80RERERkGOyZt8dgnoiIiIgMg8G8PQbzRERERGQgTLOxxWCeiIiIiAyD1WzsMZgnIiIiIsNgmo09BvNEREREZBgM5u0xmCciIiIiA2HOvC0G80RERERkGOyZt8dgnoiIiIgMg8G8PQbzRERERGQYDObtMZgnIiIiIsNgaUp7DOaJiIiIyDDYM2+PwTwRERERGQir2dhiME9EREREhmFhMG+HwTwRERERGQh75m0xmCciIiIiw2DOvD0G80QGE5eqyei1Fll8UJOIYiKvtDHL8AZm8TVH/4mRX2adlKiTSVK1aUm566kqUjIiKMv5/90RL9/NOy9R51KlVqNguW9kOQktFXBTt5mIiPKf0YP5PXv2yN9//y2apsmjjz4qFotFLly4IOXKlfNoeb4XARD5uKd/tcjcvZokpIkcixF56EeLbDyriS9JuJomC189KOePJEpGmiaHN1+VxW8eynL+q5fSZPa7J+XsiRRJS9Vk79Y4mTf59E3dZiIiunnBvBED+sTEROnXr580bNhQBfETJkxQ000mk9x+++1y6FDWv3PZYTBPZDBLDzoH7ksPWsSXHN5yVdJT7F/T2YMJEnMxxeX8+7bFSXqafbsc3Z8ocVfT83U7iYioYOrMG7HW/NixY2Xbtm3y1VdfyR9//GGdjmD+P//5j8yYMcOj5TLNhshgyhYXiU21nxZZ3Hg9FNkpHuqcHuMXYJIixf1czl8i1PmrLDDIJEFFjfdlT0RE2TPiuejU1FSZN2+ebNq0SRo1aiQnTpywe75JkybyxRdfeLRsQ//S/fbbb9K7d2/ZsWPHTVnfwIED5d13370p6yLKymttzXYnFyuHiDzUwLeC+erNS0ql+sF201r3KydBxV33P9RrXkJuqVnUblqXe0pLYJChv+KIiMhH0myio6OlWLFiKpDXe+NthYWFSUxMTOHrmUfu0blz5yQlxfWpd08gl6l169by3//+1+m58+fPy+XLl8VbPPLII3Lx4kUJCQlRR3P+/s5v51tvvaWOAmH27NlStmzZAthSykuD6pqlZqhJlh6ySEQxkzxY3ySlihrrSy0nJrNJhrxTV/asi84cANukpNRsGZrl/H5+Jhn1ehXZuv6qGgBbu3Gw1GlifzBARES+wYgpNiEhIXL16lWJjY1V9x3t3bvX4wGwhg7m8wMC9itXrrh8buHChRIUlHU1jZsNgTyO9HBA8+eff0qnTp3snseBx8qVK9XRX1pammRkZBTYtlLealHOJC3KuU458RUBQWZp2iMi1/OjF77tHeH5uk1ERFTwjNYrD8HBwdKiRQt59tlnVW68bc88gnx0vt5///3iCeMd2hSgyMhIdRrEm5QvX15q1aol3377rdNz3333ndpZ2rdvXyDbRkRERJQfOfNGzJufOHGizJ07V1Wzefnll1Uv/ejRo6VBgwYSFxcno0aNyv+eeeSof/DBB/Lmm29KfHy8Go0bFRUlderUkSeffFIFu6iTOWvWLNm1a5c6CsFRRo8ePZyWhfI7CEAPHDigXkylSpWkf//+ToGn7TqTk5PVOk+fPi2PP/54ltv5448/qqMeLAtHQGazWQ4fPixff/217Nu3T/VSV61aVR544AFp1qyZ+h8sEyOJMUABI4yRiw9+fn6yfPlya848Big8//zz1nVhvq5du8qwYcPkk08+Ufn7RYoUUdOGDh2q1m3r+++/lxUrVqhec2zDiBEjVFshTQbbXLFiRXFX37595f3331dnFfAeAGqXYj3orS9RooTbyyTvdCpWk+n/WORioib31jZLz2rX9y+851//q8nPxzWpEWqSJ5qYJNyL0m9iLqTItu/OS1xMuuytVEoOaIHSMNJPHm8TKMFBrrczLc0iG3+NkWOHkuSWakWk3e2hEhjo3Aex/5942fFXjASH+Ev7HmESVibQ+tyRQ0ny1++xEhBglkrBGRKz/6rEmAMlsVgRKRMZKB27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tonoZvG/uYcORJQXzp8/L7fffrs6fVyyZEnVE1WsWDHVc37gwAH54IMP5OWXX86zxl63bp3q/a9Xr55s3LhR9u3bp+67UqJECesZgLi4ONWjj//t1auXHD58WEqXLi2FFd4v9Aw+8cQTUrRoUbvnkAZARPnjnnvukfDwcJkyZQp758nnMJgnMqClS5eqwBBB8+LFi1Ugr0O6DE435yUEoFgHlovT1Z999plMmjTJ5bzly5e3C0yTkpKkZ8+esn79elm+fLk8+uijLv8P861YsUKqV68uLVq0cHr+xIkT6kCibdu2csstt1inp6SkyN69e+XkyZMSERGhDmwCAwNzfE1ovx9++EGaNWsmtWrVsntux44d8u+//0q/fv2clnX27Fn1fHp6uko3qlq1quTW/PnzJTExUQYPHuz0HNrM9rUjbQrvc+3ataVp06bq9e/cuVO1r20aAdoN7YLltm/fXkJDQ+2W67ic48ePq5zssLAwadOmjfj7O/8MuNumFy5ckH/++ceazlCxYkVrStHq1avVfRxo6vtFUFCQ9O3bN1dthu04dOiQOvjBdpQqVSrb14f9f/v27eqgEvtKbvaFvGprd7Zbl5GRoZaJtkLb5bQ/3cj+l52ctje3nxccwGf3nruzP+bVOgHpg/fff7/MnTtXJk+eLCEhIXnSbkRe4aadAyCiPDNx4kR1Snnp0qW5mv9G0mwwrUiRItqwYcPU427dumkRERFaampqrtczZ84ctfyXX3452+2sUaOGVrNmTZfPIW0Ap8lPnz5tnYZ0olKlStml9FSoUEH77bffckw92L17t5o2efJkp3mfffZZ9VxUVJR1WkxMjDZw4EDNZDLZre/+++/X4uPjtdzo2bOnaiOkLeW0fWh3THv66ae1F154Qb12fZ29evVS7f/777+r90KfHhYWpm3cuNFuubbLef755+2Wg/bes2eP3fzutOnVq1e1Bx54wK5NcB/tlJycrLbFVdoVlp+T48ePa61bt7b7v4CAAG38+PFaRkaGy9f39ttva/7+/nbpXUeOHMlxXXnV1u5sN+zfv1+rVauWXdth33OVZuPO/udOmk1utze3n5ec3nN39se8Wqdtqg2mr1ixIldtQ2QUDOaJDGj9+vXWH/LY2Ngc50cAWb58ee3rr792eWvatGmWwfxHH32kntODOcyf1YFEVsE88sTxP5MmTcp2OxFIYr6//vrLKR8Wy77jjjvspiP3vESJEiqP/+6779bq1atnDbSio6PzLJhH8N2pUyc1LTw8XB3Q4ABID+6GDh2q5UZISIjWpUsXl89lFczj4AYBXKtWrbQ777xTCw0NVdMRdOJ1YowEAs46deqo6S1atLBbrr4cBEr4i/ca216uXDn1uEqVKlpCQoLbbYpATx+zgYM9zI/lYnv0tjt06JB23333qcfVq1dX4wJwGzFiRLbthAMB/fUgIOvRo4cKOPXAb8KECU6vD/sd/jZr1kzr3bu3OgDBY/xvTvKqrd3ZbuzTaBNMj4yMVOvDttu+V3ow7+7+l9tg3p3tze3nJaf33J39Ma/WaXvggnnwv0S+hME8kUGNGzdOBR5FixbV2rdvrwLmefPmOQWx2Q1Mdby5CuYRYOAHUu9NRhCCwAY/wDkdNMyaNUsFGthO3HIafHbs2DE13+OPP243XT+AWLBggd30mTNnOvVKfvbZZ2peHITkVTC/cuVK9XjQoEF2A1fRFn369FHBz8mTJ7N9bXoQM3jwYLeCeSz7xx9/tGsjvOd4bvjw4dYzJAiu9TMsmMdxObjNnz/fOh2vA0Evps+ePdvtNv3222/VtMaNG6sgSYf9BO9XXFyctY3cHQyJ9xn/g/3adp9ct26d6jXGQRGW69hOtj2uCAgbNmyoptserLiSV23tznbjs4p5EcTbbp++r9sG8+7uf7kN5t3ZXnc+L9m95+7sj3m1Th3eP8xz77335tg2REbCOvNEBvXee++pXNP/+7//U/nsyJ0fNmyYyld+//33neZHDvGAAQNc3pAb7AryUpF/PHz4cFXuTi83+cADD8iPP/6o8pNd5fTiedxGjBih8sQRX7z66qtZlrTUValSRTp06KBy821LXGIZ2H7HPGssH3nav//+u8rDRa4stg/5scjhzit4rYB8duT1Yz24YQwABgJjG1A7PjuXL19Wf7PLs3YF4w26d+9u10bNmzdX9/E+66VEUfpTbx/kujtCjveQIUOsj5Eb/eGHH6r7aD932/Tnn39Wfz/66CNVflSH/WTgwIESHBwsnsL4CsBAbtv26tSpk9rHY2Nj1b5pq0ePHtKnTx/rY3wmkE+N1+JqP82PtnZnu/U2x3tgO+YFbdelS5c83//yqp3zSm73x7yE9w9tjfEJRL6EA2CJDKxBgwbqptu9e7eqlPLf//5X1YO3rSvvODDVFirNIAh3pNdkRjBn+78YrIaBe1988YW88MILWVazwQA0BHqoJIFBbLnx4IMPysMPPyyrVq1SwRgGVyJwHDp0qF3QgwOEF198UQUAGLDp6MqVK5JX9LaxrQufVbCeFT24TUhIcGvdGBTrCBWMMIDPsTIQpgOCMEeuqg9h2RggevHiRbfbFBWVAIMY81pUVJT6a7tv6/QDQn2bdagv7kgPUF29lvxoa3e2Gxcw8vPzU9eFcITP7q+//pqn+19etXNeyc3+mNdw0IMLceE7isiXMJgn8iH4AUYg1rJlS9WrmtVFonIDAdCXX36p7o8bN87lPKhqM378eGuvfU4HDblx7733yqhRo2TevHkqmP/qq69U5Q70FNr6+uuv5Z133pHixYuri8Gg+oZeuWTZsmXqYCM7+ryuAj3HYALr0LcNAZgruGBXdrB96Bl09yqUtm2bm+lZcRUgoVoIzoDor8+dNtUPTnBhI1eB9I3QtwfbjN5xV69Dn8fT9siPtnZnu3FgivbEAZJj5RgcwOb1/nej2+vO5yWv9se8XicOeBDQe3IhLiJvxmCeyIBQOg89hY4BDeipEPhhvBEI3hBooEfdVe8hzgKg3jxOiXfs2FHyCnrNEMQvWrRIBb4I6tG777gOXLUWUELQtkcV24T/zYlePnHTpk1OQQLK4dlCYLtgwQKVxoEzBI5QXs+2XKYrCMJQ8g+pUQXhp59+kmPHjtmVMpwxY4Zd77o7bYoDRrTJu+++63SlUfT4oucawZiemoJyjrnVpEkTdSD58ccf26WMoRccZ4OQ5oIyjt7Gne3GvDhQxXvw0ksvWedF2s7333+f5/vfjW6vO5+X3Lznudkf83qdespQ69ats5yHyIgYzBMZEHpQJ0yYoNJjcIocP3r4EcOPnt4r3rlz5xtah55ig3x1V6fEkW+L3FrMl5fBPKAXHsELghz8AOOvY+9ohQoVrKkHvXv3VvWpEXRie/Uf9uygZxRBA/KOkdaDHF70Mn/yySdOAQG256233rKm/7Rr104Fq6dPn5bNmzer4Cs+Pl6lI2UHudBYDtZTrlw5udkQFD711FNq3Rs2bFABG7ZZz112p00RVL7xxhvq/Ue9b6RSIa0FBytYLup944ATBzHoCUW7TZ06VcqWLZtjnXnU4ccYC1zLAIFqt27d5OrVqzJz5kyV/44e6jJlyoi3cWe7Bw0apOZ95ZVXVH332267TaUuYQwCeo/zY/+7ke115/OS2/c8p/0xr9eJev558d1I5HUKegQuEbkPFS+Cg4OzrEqDkpVpaWke15nXq8qg9GB2sExU+0C98dysJ7dQLaRixYrW13Pw4EGnec6fP69K+jm+9g8++ECV2UNZRVuuKnysXr3ars41bnjNo0aNsquUAdu3b9cqVarksr2rVq3qsu6+I5TQQ7tOnTo119VsUI/b1fuFtna0ePFi9T+ofuK4nJEjR1pLH+o3vHZcA8DTNv3zzz+datLjVqZMGbuSqWPGjHG7zvySJUu0oKAgp2U3atRIu3DhQq7aCVVQ8ByqomQnr9rane2GL774wmn/w3z6/mdbZ96d/S+31Wzc3V53Pi9Zvefu7I95tU5dgwYNtM6dO+eqXYiMhD3zRAaEihc45Y5TzUiJOHXqlOq5xilrVONACoSt/v37Z1tFBRVkkAOt56ju379fXS3RMU/d0euvv67ScdB7i6s35rSe3MLp/ddee03WrFmjzjq4SvNBzxuuWolexIMHD6qeSqwfvXfoKcYVJm2hao9ju6B6yV9//aXSHZBagGoh6AHEeAOkiqBnT4cewgMHDqiqQagcgoGsSG1A7yKWg23OCXLL8f7gKpSjR4/OdvvwXmCaq4HDeL/w+h1VqlRJ/Y/ew24L1UJwNgU96TjbgUHM6AG1Xb67bYoe4sOHD6v2Q3oXekeRloH9xraaDVI4MB1tjat15mYAItaLSjI4Q4Oea/TYYn3Y922v6ppdO2F78VxO+2RetnVutxvQTmgXzKtfARZXSEbvMvY/vGee7H+u9vWsuLO97nxecnrPc7M/5uU6UZVrz5496v+IfI0JEX1BbwQRUWGBoBe580iNQDnF/Ia0CQRKTz/9tEyZMiXf10fkjfsjDlqQloRUxLwYLE3kTVhnnojoJkIPK/KfC2ogLFFhg4H86MH/3//+x0CefBLTbIiIbrLnn3+ebU50k+BMANJ0iHwVe+aJiHxYdvngRDcb90eivMeceSIiIiIig2LPPBERERGRQTGYJyIiIiIyKAbzREREREQGxWCeiIiIiMigGMwTERERERkUg3kiIiIiIoNiME9EREREZFAM5omIiIiIDIrBPBERERGRGNP/A9O5GvM6fGxyAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "# NumPy: 用於高效率的數值運算與矩陣生成\n", + "np.random.seed(42)\n", + "n_samples = 100\n", + "\n", + "# 模擬數據:預算(百萬美元)、行銷費用(百萬美元)、是否為續集(0或1)\n", + "budget = np.random.normal(50, 15, n_samples) # 平均5000萬,標準差1500萬\n", + "marketing = budget * 0.3 + np.random.normal(5, 2, n_samples) # 行銷費用與預算正相關\n", + "is_sequel = np.random.binomial(1, 0.3, n_samples) # 30%機率是續集\n", + "\n", + "# 模擬目標值:觀看時數(百萬小時),加上一些隨機雜訊\n", + "viewing_hours = (budget * 1.2) + (marketing * 2.0) + (is_sequel * 15) + np.random.normal(0, 10, n_samples)\n", + "\n", + "# Pandas: 將 NumPy 陣列轉換為結構化的 DataFrame,並進行資料操作\n", + "df = pd.DataFrame({\n", + " 'budget_M': budget,\n", + " 'marketing_M': marketing,\n", + " 'is_sequel': is_sequel,\n", + " 'viewing_hours_M': viewing_hours\n", + "})\n", + "\n", + "# 簡單的特徵轉換 (Transformations)\n", + "df['total_spend_M'] = df['budget_M'] + df['marketing_M']\n", + "print(df.head())\n", + "\n", + "from scipy import stats\n", + "\n", + "# SciPy: 用於科學計算與統計檢定\n", + "sequel_hours = df[df['is_sequel'] == 1]['viewing_hours_M']\n", + "original_hours = df[df['is_sequel'] == 0]['viewing_hours_M']\n", + "\n", + "# 執行雙獨立樣本 T 檢定 (T-test)\n", + "t_stat, p_value = stats.ttest_ind(sequel_hours, original_hours)\n", + "\n", + "print(f\"T 統計量: {t_stat:.4f}\")\n", + "print(f\"P 值: {p_value:.4e}\") # 若 P < 0.05,代表續集的觀看時數有顯著不同!\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "# Seaborn: 建立統計圖表,觀察「總支出」與「觀看時數」的關係,並依據「是否為續集」著色\n", + "sns.lmplot(x='total_spend_M', y='viewing_hours_M', hue='is_sequel', data=df, aspect=1.5)\n", + "\n", + "# Matplotlib: 用於調整圖表的細節設定(標題、標籤、儲存等)\n", + "plt.title(\"Relationship between Total Spend and Viewing Hours\", fontsize=14)\n", + "plt.xlabel(\"Total Spend (Million USD)\")\n", + "plt.ylabel(\"Viewing Hours (Million Hours)\")\n", + "\n", + "# 顯示圖表\n", + "plt.show()\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.metrics import mean_squared_error, r2_score\n", + "\n", + "# 準備特徵 (X) 與目標值 (y)\n", + "X = df[['budget_M', 'marketing_M', 'is_sequel']]\n", + "y = df['viewing_hours_M']\n", + "\n", + "# 切分訓練集與測試集 (80% 訓練, 20% 測試)\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", + "\n", + "# 初始化並訓練模型\n", + "model = RandomForestRegressor(n_estimators=100, random_state=42)\n", + "model.fit(X_train, y_train)\n", + "\n", + "# 進行預測與評估\n", + "y_pred = model.predict(X_test)\n", + "print(f\"R² 判定係數: {r2_score(y_test, y_pred):.4f}\") # 越接近 1 代表預測越準\n", + "print(f\"均方誤差 (MSE): {mean_squared_error(y_test, y_pred):.4f}\")\n", + "\n", + "import shap\n", + "\n", + "# SHAP: 解釋隨機森林模型的預測行為\n", + "explainer = shap.TreeExplainer(model)\n", + "shap_values = explainer(X_test)\n", + "\n", + "# 繪製摘要圖 (Summary Plot)\n", + "# 這個圖會顯示哪些特徵影響最大(例如:行銷費用可能比預算更能拉高觀看時數)\n", + "shap.summary_plot(shap_values, X_test)" + ] + }, + { + "cell_type": "markdown", + "id": "366ef0cb", + "metadata": {}, + "source": [ + "## our analysis\n", + "??" + ] + }, + { + "cell_type": "markdown", + "id": "6de61cf1", + "metadata": {}, + "source": [ + "## our analysis\n", + "??" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8bee200f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I like apple\n", + "I like banana\n", + "I like cherry\n" + ] + } + ], + "source": [ + "fruits = [\"apple\", \"banana\", \"cherry\"]\n", + "\n", + "for fruit in fruits:\n", + " print(f\"I like {fruit}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c6db4648", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25\n" + ] + } + ], + "source": [ + "square = lambda x: x ** 2\n", + "print(square(5)) # 25" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3921437", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42264338", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "venv (3.13.9)", + "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.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/netflix-writer.ipynb b/netflix-writer.ipynb index 6e3ae99..f7ba3f2 100644 --- a/netflix-writer.ipynb +++ b/netflix-writer.ipynb @@ -13,10 +13,771 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "a4814bd0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "===============================================================================\n", + "Initializing local development environment. This will verify and set up your\n", + "Python virtual environment, install all 3rd-party package requirements.\n", + "This may take a few minutes...\n", + "===============================================================================\n", + "\n", + "\n", + "===============================================================================\n", + "Initialization complete!\n", + "===============================================================================\n", + "make python-init\n", + "===============================================================================\n", + "Initializing Python virtual environment and installing dependencies. This may take a few minutes...\n", + "===============================================================================\n", + "rm -r -f venv && \\\n", + "\tmkdir -p .pypi_cache && \\\n", + "\tmake check-python\n", + "\n", + "===============================================================================\n", + "Verifying that Python python3.13 is installed ...\n", + "===============================================================================\n", + "\n", + "make python-clean && \\\n", + "\tnpm install && \\\n", + "\tpython3.13 -m venv venv && \\\n", + "\tsource venv/bin/activate && \\\n", + "\tpython3.13 -m pip install pip==25.3 setuptools wheel pip-tools && \\\n", + "\tPIP_CACHE_DIR=.pypi_cache python3.13 -m pip install -r requirements/local.txt\n", + "\n", + "===============================================================================\n", + "Cleaning Python virtual environment and __pycache__ directories ...\n", + "===============================================================================\n", + "\n", + "rm -rf venv\n", + "find ./netflix/ -name __pycache__ -type d -exec rm -rf {} +\n", + "⠙\u001b[1G\u001b[0K⠹\u001b[1G\u001b[0K⠸\u001b[1G\u001b[0K\n", + "up to date, audited 471 packages in 428ms\n", + "⠸\u001b[1G\u001b[0K\n", + "⠸\u001b[1G\u001b[0K101 packages are looking for funding\n", + "⠸\u001b[1G\u001b[0K run `npm fund` for details\n", + "⠸\u001b[1G\u001b[0K\n", + "found \u001b[32m\u001b[1m0\u001b[22m\u001b[39m vulnerabilities\n", + "⠸\u001b[1G\u001b[0KCollecting pip==25.3\n", + " Using cached pip-25.3-py3-none-any.whl.metadata (4.7 kB)\n", + "Collecting setuptools\n", + " Using cached setuptools-83.0.0-py3-none-any.whl.metadata (6.6 kB)\n", + "Collecting wheel\n", + " Using cached wheel-0.47.0-py3-none-any.whl.metadata (2.3 kB)\n", + "Collecting pip-tools\n", + " Using cached pip_tools-7.5.3-py3-none-any.whl.metadata (27 kB)\n", + "Collecting packaging>=24.0 (from wheel)\n", + " Using cached packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\n", + "Collecting build>=1.0.0 (from pip-tools)\n", + " Downloading build-1.5.0-py3-none-any.whl.metadata (5.7 kB)\n", + "Collecting click>=8 (from pip-tools)\n", + " Using cached click-8.4.2-py3-none-any.whl.metadata (2.6 kB)\n", + "Collecting pyproject_hooks (from pip-tools)\n", + " Using cached pyproject_hooks-1.2.0-py3-none-any.whl.metadata (1.3 kB)\n", + "Using cached pip-25.3-py3-none-any.whl (1.8 MB)\n", + "Using cached setuptools-83.0.0-py3-none-any.whl (1.0 MB)\n", + "Using cached wheel-0.47.0-py3-none-any.whl (32 kB)\n", + "Using cached pip_tools-7.5.3-py3-none-any.whl (71 kB)\n", + "Downloading build-1.5.0-py3-none-any.whl (26 kB)\n", + "Using cached click-8.4.2-py3-none-any.whl (119 kB)\n", + "Using cached packaging-26.2-py3-none-any.whl (100 kB)\n", + "Using cached pyproject_hooks-1.2.0-py3-none-any.whl (10 kB)\n", + "Installing collected packages: setuptools, pyproject_hooks, pip, packaging, click, wheel, build, pip-tools\n", + "\u001b[2K Attempting uninstall: pip━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0/8\u001b[0m [setuptools]\n", + "\u001b[2K Found existing installation: pip 25.2━━━\u001b[0m \u001b[32m0/8\u001b[0m [setuptools]\n", + "\u001b[2K Uninstalling pip-25.2:m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/8\u001b[0m [pip]\n", + "\u001b[2K Successfully uninstalled pip-25.2━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/8\u001b[0m [pip]\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8/8\u001b[0m [pip-tools]/8\u001b[0m [click]\n", + "\u001b[1A\u001b[2KSuccessfully installed build-1.5.0 click-8.4.2 packaging-26.2 pip-25.3 pip-tools-7.5.3 pyproject_hooks-1.2.0 setuptools-83.0.0 wheel-0.47.0\n", + "\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.3\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m26.1.2\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", + "Collecting annotated-doc==0.0.4 (from -r requirements/local.txt (line 7))\n", + " Using cached annotated_doc-0.0.4-py3-none-any.whl.metadata (6.6 kB)\n", + "Collecting anyio==4.13.0 (from -r requirements/local.txt (line 9))\n", + " Using cached anyio-4.13.0-py3-none-any.whl.metadata (4.5 kB)\n", + "Collecting appnope==0.1.4 (from -r requirements/local.txt (line 13))\n", + " Using cached appnope-0.1.4-py2.py3-none-any.whl.metadata (908 bytes)\n", + "Collecting argon2-cffi==25.1.0 (from -r requirements/local.txt (line 15))\n", + " Using cached argon2_cffi-25.1.0-py3-none-any.whl.metadata (4.1 kB)\n", + "Collecting argon2-cffi-bindings==25.1.0 (from -r requirements/local.txt (line 17))\n", + " Using cached argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl.metadata (7.4 kB)\n", + "Collecting arrow==1.4.0 (from -r requirements/local.txt (line 19))\n", + " Using cached arrow-1.4.0-py3-none-any.whl.metadata (7.7 kB)\n", + "Collecting ast-serialize==0.5.0 (from -r requirements/local.txt (line 21))\n", + " Using cached ast_serialize-0.5.0-cp39-abi3-macosx_11_0_arm64.whl.metadata (1.3 kB)\n", + "Collecting astroid==4.0.4 (from -r requirements/local.txt (line 23))\n", + " Using cached astroid-4.0.4-py3-none-any.whl.metadata (4.4 kB)\n", + "Collecting asttokens==3.0.1 (from -r requirements/local.txt (line 25))\n", + " Using cached asttokens-3.0.1-py3-none-any.whl.metadata (4.9 kB)\n", + "Collecting async-lru==2.3.0 (from -r requirements/local.txt (line 27))\n", + " Using cached async_lru-2.3.0-py3-none-any.whl.metadata (7.6 kB)\n", + "Collecting attrs==26.1.0 (from -r requirements/local.txt (line 29))\n", + " Using cached attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)\n", + "Collecting babel==2.18.0 (from -r requirements/local.txt (line 33))\n", + " Using cached babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)\n", + "Collecting bandit==1.9.4 (from -r requirements/local.txt (line 35))\n", + " Using cached bandit-1.9.4-py3-none-any.whl.metadata (7.1 kB)\n", + "Collecting beautifulsoup4==4.15.0 (from -r requirements/local.txt (line 37))\n", + " Using cached beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)\n", + "Collecting black==26.5.1 (from -r requirements/local.txt (line 41))\n", + " Using cached black-26.5.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (95 kB)\n", + "Collecting bleach==6.4.0 (from bleach[css]==6.4.0->-r requirements/local.txt (line 43))\n", + " Using cached bleach-6.4.0-py3-none-any.whl.metadata (32 kB)\n", + "Requirement already satisfied: build==1.5.0 in ./venv/lib/python3.13/site-packages (from -r requirements/local.txt (line 47)) (1.5.0)\n", + "Collecting cachetools==7.1.4 (from -r requirements/local.txt (line 49))\n", + " Using cached cachetools-7.1.4-py3-none-any.whl.metadata (5.5 kB)\n", + "Collecting certifi==2026.5.20 (from -r requirements/local.txt (line 51))\n", + " Using cached certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB)\n", + "Collecting cffi==2.0.0 (from -r requirements/local.txt (line 56))\n", + " Using cached cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.6 kB)\n", + "Collecting cfgv==3.5.0 (from -r requirements/local.txt (line 58))\n", + " Using cached cfgv-3.5.0-py2.py3-none-any.whl.metadata (8.9 kB)\n", + "Collecting charset-normalizer==3.4.7 (from -r requirements/local.txt (line 60))\n", + " Using cached charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl.metadata (40 kB)\n", + "Collecting click==8.4.1 (from -r requirements/local.txt (line 62))\n", + " Using cached click-8.4.1-py3-none-any.whl.metadata (2.6 kB)\n", + "Collecting cloudpickle==3.1.2 (from -r requirements/local.txt (line 66))\n", + " Using cached cloudpickle-3.1.2-py3-none-any.whl.metadata (7.1 kB)\n", + "Collecting codespell==2.4.2 (from -r requirements/local.txt (line 68))\n", + " Using cached codespell-2.4.2-py3-none-any.whl.metadata (15 kB)\n", + "Collecting colorama==0.4.6 (from -r requirements/local.txt (line 70))\n", + " Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "Collecting comm==0.2.3 (from -r requirements/local.txt (line 72))\n", + " Using cached comm-0.2.3-py3-none-any.whl.metadata (3.7 kB)\n", + "Collecting contourpy==1.3.3 (from -r requirements/local.txt (line 74))\n", + " Using cached contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.5 kB)\n", + "Collecting coverage==7.14.1 (from -r requirements/local.txt (line 76))\n", + " Using cached coverage-7.14.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (8.6 kB)\n", + "Collecting cssselect==1.4.0 (from -r requirements/local.txt (line 78))\n", + " Using cached cssselect-1.4.0-py3-none-any.whl.metadata (2.4 kB)\n", + "Collecting cycler==0.12.1 (from -r requirements/local.txt (line 80))\n", + " Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n", + "Collecting debugpy==1.8.21 (from -r requirements/local.txt (line 82))\n", + " Using cached debugpy-1.8.21-cp313-cp313-macosx_15_0_universal2.whl.metadata (1.4 kB)\n", + "Collecting decorator==5.3.1 (from -r requirements/local.txt (line 84))\n", + " Using cached decorator-5.3.1-py3-none-any.whl.metadata (3.9 kB)\n", + "Collecting defusedxml==0.7.1 (from -r requirements/local.txt (line 86))\n", + " Using cached defusedxml-0.7.1-py2.py3-none-any.whl.metadata (32 kB)\n", + "Collecting dill==0.4.1 (from -r requirements/local.txt (line 88))\n", + " Using cached dill-0.4.1-py3-none-any.whl.metadata (10 kB)\n", + "Collecting distlib==0.4.3 (from -r requirements/local.txt (line 90))\n", + " Using cached distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)\n", + "Collecting duckdb==1.5.3 (from -r requirements/local.txt (line 92))\n", + " Using cached duckdb-1.5.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (4.2 kB)\n", + "Collecting executing==2.2.1 (from -r requirements/local.txt (line 94))\n", + " Using cached executing-2.2.1-py2.py3-none-any.whl.metadata (8.9 kB)\n", + "Collecting fastjsonschema==2.21.2 (from -r requirements/local.txt (line 96))\n", + " Using cached fastjsonschema-2.21.2-py3-none-any.whl.metadata (2.3 kB)\n", + "Collecting filelock==3.29.4 (from -r requirements/local.txt (line 98))\n", + " Using cached filelock-3.29.4-py3-none-any.whl.metadata (2.0 kB)\n", + "Collecting flake8==7.3.0 (from -r requirements/local.txt (line 103))\n", + " Using cached flake8-7.3.0-py2.py3-none-any.whl.metadata (3.8 kB)\n", + "Collecting flake8-coding==1.3.2 (from -r requirements/local.txt (line 107))\n", + " Using cached flake8_coding-1.3.2-py2.py3-none-any.whl.metadata (3.1 kB)\n", + "Collecting fonttools==4.63.0 (from -r requirements/local.txt (line 109))\n", + " Using cached fonttools-4.63.0-cp313-cp313-macosx_10_13_universal2.whl.metadata (118 kB)\n", + "Collecting fqdn==1.5.1 (from -r requirements/local.txt (line 111))\n", + " Using cached fqdn-1.5.1-py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting h11==0.16.0 (from -r requirements/local.txt (line 113))\n", + " Using cached h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)\n", + "Collecting httpcore==1.0.9 (from -r requirements/local.txt (line 115))\n", + " Using cached httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)\n", + "Collecting httpx==0.28.1 (from -r requirements/local.txt (line 117))\n", + " Using cached httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)\n", + "Collecting identify==2.6.19 (from -r requirements/local.txt (line 119))\n", + " Using cached identify-2.6.19-py2.py3-none-any.whl.metadata (4.4 kB)\n", + "Collecting idna==3.18 (from -r requirements/local.txt (line 121))\n", + " Using cached idna-3.18-py3-none-any.whl.metadata (6.1 kB)\n", + "Collecting iniconfig==2.3.0 (from -r requirements/local.txt (line 127))\n", + " Using cached iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB)\n", + "Collecting ipykernel==7.3.0 (from -r requirements/local.txt (line 129))\n", + " Using cached ipykernel-7.3.0-py3-none-any.whl.metadata (4.5 kB)\n", + "Collecting ipython==9.14.1 (from -r requirements/local.txt (line 133))\n", + " Using cached ipython-9.14.1-py3-none-any.whl.metadata (4.7 kB)\n", + "Collecting ipython-pygments-lexers==1.1.1 (from -r requirements/local.txt (line 135))\n", + " Using cached ipython_pygments_lexers-1.1.1-py3-none-any.whl.metadata (1.1 kB)\n", + "Collecting isoduration==20.11.0 (from -r requirements/local.txt (line 137))\n", + " Using cached isoduration-20.11.0-py3-none-any.whl.metadata (5.7 kB)\n", + "Collecting isort==8.0.1 (from -r requirements/local.txt (line 139))\n", + " Using cached isort-8.0.1-py3-none-any.whl.metadata (11 kB)\n", + "Collecting jedi==0.20.0 (from -r requirements/local.txt (line 141))\n", + " Using cached jedi-0.20.0-py2.py3-none-any.whl.metadata (23 kB)\n", + "Collecting jinja2==3.1.6 (from -r requirements/local.txt (line 143))\n", + " Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting joblib==1.5.3 (from -r requirements/local.txt (line 149))\n", + " Using cached joblib-1.5.3-py3-none-any.whl.metadata (5.5 kB)\n", + "Collecting json5==0.14.0 (from -r requirements/local.txt (line 151))\n", + " Using cached json5-0.14.0-py3-none-any.whl.metadata (36 kB)\n", + "Collecting jsonpointer==3.1.1 (from -r requirements/local.txt (line 153))\n", + " Using cached jsonpointer-3.1.1-py3-none-any.whl.metadata (2.4 kB)\n", + "Collecting jsonschema==4.26.0 (from jsonschema[format-nongpl]==4.26.0->-r requirements/local.txt (line 155))\n", + " Using cached jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)\n", + "Collecting jsonschema-specifications==2025.9.1 (from -r requirements/local.txt (line 160))\n", + " Using cached jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting jupyter-client==8.9.1 (from -r requirements/local.txt (line 162))\n", + " Using cached jupyter_client-8.9.1-py3-none-any.whl.metadata (8.5 kB)\n", + "Collecting jupyter-core==5.9.1 (from -r requirements/local.txt (line 167))\n", + " Using cached jupyter_core-5.9.1-py3-none-any.whl.metadata (1.5 kB)\n", + "Collecting jupyter-events==0.12.1 (from -r requirements/local.txt (line 176))\n", + " Using cached jupyter_events-0.12.1-py3-none-any.whl.metadata (5.8 kB)\n", + "Collecting jupyter-lsp==2.3.1 (from -r requirements/local.txt (line 178))\n", + " Using cached jupyter_lsp-2.3.1-py3-none-any.whl.metadata (1.8 kB)\n", + "Collecting jupyter-server==2.19.0 (from -r requirements/local.txt (line 180))\n", + " Using cached jupyter_server-2.19.0-py3-none-any.whl.metadata (8.5 kB)\n", + "Collecting jupyter-server-terminals==0.5.4 (from -r requirements/local.txt (line 186))\n", + " Using cached jupyter_server_terminals-0.5.4-py3-none-any.whl.metadata (5.9 kB)\n", + "Collecting jupyterlab==4.5.8 (from -r requirements/local.txt (line 188))\n", + " Using cached jupyterlab-4.5.8-py3-none-any.whl.metadata (16 kB)\n", + "Collecting jupyterlab-pygments==0.3.0 (from -r requirements/local.txt (line 190))\n", + " Using cached jupyterlab_pygments-0.3.0-py3-none-any.whl.metadata (4.4 kB)\n", + "Collecting jupyterlab-server==2.28.0 (from -r requirements/local.txt (line 192))\n", + " Using cached jupyterlab_server-2.28.0-py3-none-any.whl.metadata (5.9 kB)\n", + "Collecting jupytext==1.19.3 (from -r requirements/local.txt (line 194))\n", + " Using cached jupytext-1.19.3-py3-none-any.whl.metadata (15 kB)\n", + "Collecting kaggle==2.2.1 (from -r requirements/local.txt (line 196))\n", + " Using cached kaggle-2.2.1-py3-none-any.whl.metadata (16 kB)\n", + "Collecting kagglesdk==0.1.30 (from -r requirements/local.txt (line 198))\n", + " Using cached kagglesdk-0.1.30-py3-none-any.whl.metadata (13 kB)\n", + "Collecting kiwisolver==1.5.0 (from -r requirements/local.txt (line 200))\n", + " Using cached kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.1 kB)\n", + "Collecting lark==1.3.1 (from -r requirements/local.txt (line 202))\n", + " Using cached lark-1.3.1-py3-none-any.whl.metadata (1.8 kB)\n", + "Collecting librt==0.11.0 (from -r requirements/local.txt (line 204))\n", + " Using cached librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (1.3 kB)\n", + "Collecting llvmlite==0.47.0 (from -r requirements/local.txt (line 206))\n", + " Using cached llvmlite-0.47.0-cp313-cp313-macosx_12_0_arm64.whl.metadata (5.0 kB)\n", + "Collecting markdown-it-py==4.2.0 (from -r requirements/local.txt (line 210))\n", + " Using cached markdown_it_py-4.2.0-py3-none-any.whl.metadata (7.4 kB)\n", + "Collecting markupsafe==3.0.3 (from -r requirements/local.txt (line 215))\n", + " Using cached markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.7 kB)\n", + "Collecting matplotlib==3.11.0 (from -r requirements/local.txt (line 219))\n", + " Using cached matplotlib-3.11.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (80 kB)\n", + "Collecting matplotlib-inline==0.2.2 (from -r requirements/local.txt (line 223))\n", + " Using cached matplotlib_inline-0.2.2-py3-none-any.whl.metadata (2.4 kB)\n", + "Collecting mccabe==0.7.0 (from -r requirements/local.txt (line 227))\n", + " Using cached mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)\n", + "Collecting mdit-py-plugins==0.6.1 (from -r requirements/local.txt (line 231))\n", + " Using cached mdit_py_plugins-0.6.1-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting mdurl==0.1.2 (from -r requirements/local.txt (line 233))\n", + " Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\n", + "Collecting mistune==3.2.1 (from -r requirements/local.txt (line 235))\n", + " Using cached mistune-3.2.1-py3-none-any.whl.metadata (1.9 kB)\n", + "Collecting mypy==2.1.0 (from -r requirements/local.txt (line 237))\n", + " Using cached mypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.3 kB)\n", + "Collecting mypy-extensions==1.1.0 (from -r requirements/local.txt (line 241))\n", + " Using cached mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)\n", + "Collecting narwhals==2.22.1 (from -r requirements/local.txt (line 246))\n", + " Using cached narwhals-2.22.1-py3-none-any.whl.metadata (15 kB)\n", + "Collecting nbclient==0.11.0 (from -r requirements/local.txt (line 248))\n", + " Using cached nbclient-0.11.0-py3-none-any.whl.metadata (7.3 kB)\n", + "Collecting nbconvert==7.17.1 (from -r requirements/local.txt (line 250))\n", + " Using cached nbconvert-7.17.1-py3-none-any.whl.metadata (8.4 kB)\n", + "Collecting nbformat==5.10.4 (from -r requirements/local.txt (line 252))\n", + " Using cached nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB)\n", + "Collecting nest-asyncio2==1.7.2 (from -r requirements/local.txt (line 258))\n", + " Using cached nest_asyncio2-1.7.2-py3-none-any.whl.metadata (6.3 kB)\n", + "Collecting nodeenv==1.10.0 (from -r requirements/local.txt (line 260))\n", + " Using cached nodeenv-1.10.0-py2.py3-none-any.whl.metadata (24 kB)\n", + "Collecting notebook-shim==0.2.4 (from -r requirements/local.txt (line 262))\n", + " Using cached notebook_shim-0.2.4-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting numba==0.65.1 (from -r requirements/local.txt (line 264))\n", + " Using cached numba-0.65.1-cp313-cp313-macosx_12_0_arm64.whl.metadata (2.9 kB)\n", + "Collecting numpy==2.4.6 (from -r requirements/local.txt (line 266))\n", + " Using cached numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl.metadata (6.6 kB)\n", + "Requirement already satisfied: packaging==26.2 in ./venv/lib/python3.13/site-packages (from -r requirements/local.txt (line 278)) (26.2)\n", + "Collecting pandas==2.3.3 (from -r requirements/local.txt (line 296))\n", + " Using cached pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (91 kB)\n", + "Collecting pandas-stubs==3.0.3.260530 (from -r requirements/local.txt (line 301))\n", + " Using cached pandas_stubs-3.0.3.260530-py3-none-any.whl.metadata (11 kB)\n", + "Collecting pandocfilters==1.5.1 (from -r requirements/local.txt (line 303))\n", + " Using cached pandocfilters-1.5.1-py2.py3-none-any.whl.metadata (9.0 kB)\n", + "Collecting parso==0.8.7 (from -r requirements/local.txt (line 305))\n", + " Using cached parso-0.8.7-py2.py3-none-any.whl.metadata (8.2 kB)\n", + "Collecting pathspec==1.1.1 (from -r requirements/local.txt (line 307))\n", + " Using cached pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\n", + "Collecting pexpect==4.9.0 (from -r requirements/local.txt (line 311))\n", + " Using cached pexpect-4.9.0-py2.py3-none-any.whl.metadata (2.5 kB)\n", + "Collecting pillow==12.2.0 (from -r requirements/local.txt (line 313))\n", + " Using cached pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (8.8 kB)\n", + "Requirement already satisfied: pip-tools==7.5.3 in ./venv/lib/python3.13/site-packages (from -r requirements/local.txt (line 315)) (7.5.3)\n", + "Collecting platformdirs==4.10.0 (from -r requirements/local.txt (line 317))\n", + " Using cached platformdirs-4.10.0-py3-none-any.whl.metadata (5.5 kB)\n", + "Collecting pluggy==1.6.0 (from -r requirements/local.txt (line 325))\n", + " Using cached pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)\n", + "Collecting pre-commit==4.6.0 (from -r requirements/local.txt (line 329))\n", + " Using cached pre_commit-4.6.0-py2.py3-none-any.whl.metadata (1.2 kB)\n", + "Collecting prometheus-client==0.25.0 (from -r requirements/local.txt (line 331))\n", + " Using cached prometheus_client-0.25.0-py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting prompt-toolkit==3.0.52 (from -r requirements/local.txt (line 333))\n", + " Using cached prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB)\n", + "Collecting protobuf==6.33.6 (from -r requirements/local.txt (line 335))\n", + " Using cached protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl.metadata (593 bytes)\n", + "Collecting psutil==7.2.2 (from -r requirements/local.txt (line 339))\n", + " Using cached psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl.metadata (22 kB)\n", + "Collecting ptyprocess==0.7.0 (from -r requirements/local.txt (line 343))\n", + " Using cached ptyprocess-0.7.0-py2.py3-none-any.whl.metadata (1.3 kB)\n", + "Collecting pure-eval==0.2.3 (from -r requirements/local.txt (line 347))\n", + " Using cached pure_eval-0.2.3-py3-none-any.whl.metadata (6.3 kB)\n", + "Collecting pycodestyle==2.14.0 (from -r requirements/local.txt (line 349))\n", + " Using cached pycodestyle-2.14.0-py2.py3-none-any.whl.metadata (4.5 kB)\n", + "Collecting pycparser==3.0 (from -r requirements/local.txt (line 351))\n", + " Using cached pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)\n", + "Collecting pyflakes==3.4.0 (from -r requirements/local.txt (line 353))\n", + " Using cached pyflakes-3.4.0-py2.py3-none-any.whl.metadata (3.5 kB)\n", + "Collecting pygments==2.20.0 (from -r requirements/local.txt (line 355))\n", + " Using cached pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)\n", + "Collecting pylint==4.0.6 (from -r requirements/local.txt (line 362))\n", + " Using cached pylint-4.0.6-py3-none-any.whl.metadata (12 kB)\n", + "Collecting pylint-django==2.7.0 (from -r requirements/local.txt (line 367))\n", + " Using cached pylint_django-2.7.0-py3-none-any.whl.metadata (7.3 kB)\n", + "Collecting pylint-plugin-utils==0.9.0 (from -r requirements/local.txt (line 369))\n", + " Using cached pylint_plugin_utils-0.9.0-py3-none-any.whl.metadata (2.8 kB)\n", + "Collecting pyparsing==3.3.2 (from -r requirements/local.txt (line 371))\n", + " Using cached pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)\n", + "Collecting pyproject-api==1.10.1 (from -r requirements/local.txt (line 373))\n", + " Using cached pyproject_api-1.10.1-py3-none-any.whl.metadata (2.3 kB)\n", + "Requirement already satisfied: pyproject-hooks==1.2.0 in ./venv/lib/python3.13/site-packages (from -r requirements/local.txt (line 375)) (1.2.0)\n", + "Collecting pytest==9.1.0 (from -r requirements/local.txt (line 379))\n", + " Using cached pytest-9.1.0-py3-none-any.whl.metadata (7.6 kB)\n", + "Collecting pytest-mock==3.15.1 (from -r requirements/local.txt (line 383))\n", + " Using cached pytest_mock-3.15.1-py3-none-any.whl.metadata (3.9 kB)\n", + "Collecting python-dateutil==2.9.0.post0 (from -r requirements/local.txt (line 385))\n", + " Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)\n", + "Collecting python-discovery==1.4.2 (from -r requirements/local.txt (line 392))\n", + " Using cached python_discovery-1.4.2-py3-none-any.whl.metadata (5.6 kB)\n", + "Collecting python-dotenv==1.2.2 (from -r requirements/local.txt (line 396))\n", + " Using cached python_dotenv-1.2.2-py3-none-any.whl.metadata (27 kB)\n", + "Collecting python-json-logger==4.1.0 (from -r requirements/local.txt (line 400))\n", + " Using cached python_json_logger-4.1.0-py3-none-any.whl.metadata (3.7 kB)\n", + "Collecting python-slugify==8.0.4 (from -r requirements/local.txt (line 402))\n", + " Using cached python_slugify-8.0.4-py2.py3-none-any.whl.metadata (8.5 kB)\n", + "Collecting pytokens==0.4.1 (from -r requirements/local.txt (line 404))\n", + " Using cached pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (3.8 kB)\n", + "Collecting pytz==2026.2 (from -r requirements/local.txt (line 406))\n", + " Using cached pytz-2026.2-py2.py3-none-any.whl.metadata (22 kB)\n", + "Collecting pyyaml==6.0.3 (from -r requirements/local.txt (line 408))\n", + " Using cached pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.4 kB)\n", + "Collecting pyzmq==27.1.0 (from -r requirements/local.txt (line 414))\n", + " Using cached pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl.metadata (6.0 kB)\n", + "Collecting rapidfuzz==3.14.5 (from -r requirements/local.txt (line 419))\n", + " Using cached rapidfuzz-3.14.5-cp313-cp313-macosx_11_0_arm64.whl.metadata (12 kB)\n", + "Collecting referencing==0.37.0 (from -r requirements/local.txt (line 421))\n", + " Using cached referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)\n", + "Collecting requests==2.34.2 (from -r requirements/local.txt (line 426))\n", + " Using cached requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)\n", + "Collecting rfc3339-validator==0.1.4 (from -r requirements/local.txt (line 432))\n", + " Using cached rfc3339_validator-0.1.4-py2.py3-none-any.whl.metadata (1.5 kB)\n", + "Collecting rfc3986-validator==0.1.1 (from -r requirements/local.txt (line 436))\n", + " Using cached rfc3986_validator-0.1.1-py2.py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting rfc3987-syntax==1.1.0 (from -r requirements/local.txt (line 440))\n", + " Using cached rfc3987_syntax-1.1.0-py3-none-any.whl.metadata (7.7 kB)\n", + "Collecting rich==15.0.0 (from -r requirements/local.txt (line 442))\n", + " Using cached rich-15.0.0-py3-none-any.whl.metadata (18 kB)\n", + "Collecting rpds-py==2026.5.1 (from -r requirements/local.txt (line 446))\n", + " Using cached rpds_py-2026.5.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (4.1 kB)\n", + "Collecting scikit-learn==1.9.0 (from -r requirements/local.txt (line 450))\n", + " Using cached scikit_learn-1.9.0-cp313-cp313-macosx_12_0_arm64.whl.metadata (11 kB)\n", + "Collecting scipy==1.17.1 (from -r requirements/local.txt (line 454))\n", + " Using cached scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl.metadata (62 kB)\n", + "Collecting seaborn==0.13.2 (from -r requirements/local.txt (line 459))\n", + " Using cached seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\n", + "Collecting send2trash==2.1.0 (from -r requirements/local.txt (line 461))\n", + " Using cached send2trash-2.1.0-py3-none-any.whl.metadata (4.1 kB)\n", + "Collecting shap==0.52.0 (from -r requirements/local.txt (line 463))\n", + " Using cached shap-0.52.0-cp312-abi3-macosx_11_0_arm64.whl.metadata (26 kB)\n", + "Collecting shellingham==1.5.4 (from -r requirements/local.txt (line 465))\n", + " Using cached shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)\n", + "Collecting six==1.17.0 (from -r requirements/local.txt (line 467))\n", + " Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting slicer==0.0.8 (from -r requirements/local.txt (line 471))\n", + " Using cached slicer-0.0.8-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting soupsieve==2.8.4 (from -r requirements/local.txt (line 473))\n", + " Using cached soupsieve-2.8.4-py3-none-any.whl.metadata (4.6 kB)\n", + "Collecting stack-data==0.6.3 (from -r requirements/local.txt (line 475))\n", + " Using cached stack_data-0.6.3-py3-none-any.whl.metadata (18 kB)\n", + "Collecting stevedore==5.8.0 (from -r requirements/local.txt (line 477))\n", + " Using cached stevedore-5.8.0-py3-none-any.whl.metadata (2.3 kB)\n", + "Collecting terminado==0.18.1 (from -r requirements/local.txt (line 479))\n", + " Using cached terminado-0.18.1-py3-none-any.whl.metadata (5.8 kB)\n", + "Collecting text-unidecode==1.3 (from -r requirements/local.txt (line 483))\n", + " Using cached text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)\n", + "Collecting threadpoolctl==3.6.0 (from -r requirements/local.txt (line 485))\n", + " Using cached threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB)\n", + "Collecting tinycss2==1.5.1 (from -r requirements/local.txt (line 487))\n", + " Using cached tinycss2-1.5.1-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting tomli-w==1.2.0 (from -r requirements/local.txt (line 489))\n", + " Using cached tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB)\n", + "Collecting tomlkit==0.15.0 (from -r requirements/local.txt (line 491))\n", + " Using cached tomlkit-0.15.0-py3-none-any.whl.metadata (2.8 kB)\n", + "Collecting tornado==6.5.7 (from -r requirements/local.txt (line 493))\n", + " Using cached tornado-6.5.7-cp39-abi3-macosx_10_9_universal2.whl.metadata (2.8 kB)\n", + "Collecting tox==4.55.1 (from -r requirements/local.txt (line 500))\n", + " Using cached tox-4.55.1-py3-none-any.whl.metadata (3.8 kB)\n", + "Collecting tqdm==4.68.2 (from -r requirements/local.txt (line 502))\n", + " Using cached tqdm-4.68.2-py3-none-any.whl.metadata (58 kB)\n", + "Collecting traitlets==5.15.1 (from -r requirements/local.txt (line 507))\n", + " Using cached traitlets-5.15.1-py3-none-any.whl.metadata (10 kB)\n", + "Collecting typer==0.26.7 (from -r requirements/local.txt (line 520))\n", + " Using cached typer-0.26.7-py3-none-any.whl.metadata (16 kB)\n", + "Collecting types-cachetools==7.0.0.20260518 (from -r requirements/local.txt (line 522))\n", + " Using cached types_cachetools-7.0.0.20260518-py3-none-any.whl.metadata (1.8 kB)\n", + "Collecting types-html5lib==1.1.11.20260518 (from -r requirements/local.txt (line 524))\n", + " Using cached types_html5lib-1.1.11.20260518-py3-none-any.whl.metadata (1.8 kB)\n", + "Collecting types-lxml==2026.2.16 (from -r requirements/local.txt (line 526))\n", + " Using cached types_lxml-2026.2.16-py3-none-any.whl.metadata (11 kB)\n", + "Collecting types-requests==2.33.0.20260518 (from -r requirements/local.txt (line 528))\n", + " Using cached types_requests-2.33.0.20260518-py3-none-any.whl.metadata (2.2 kB)\n", + "Collecting types-tqdm==4.68.0.20260608 (from -r requirements/local.txt (line 532))\n", + " Using cached types_tqdm-4.68.0.20260608-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting types-webencodings==0.5.0.20260408 (from -r requirements/local.txt (line 534))\n", + " Using cached types_webencodings-0.5.0.20260408-py3-none-any.whl.metadata (1.8 kB)\n", + "Collecting typing-extensions==4.15.0 (from -r requirements/local.txt (line 536))\n", + " Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\n", + "Collecting tzdata==2026.2 (from -r requirements/local.txt (line 542))\n", + " Using cached tzdata-2026.2-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting uri-template==1.3.0 (from -r requirements/local.txt (line 546))\n", + " Using cached uri_template-1.3.0-py3-none-any.whl.metadata (8.8 kB)\n", + "Collecting urllib3==2.7.0 (from -r requirements/local.txt (line 548))\n", + " Using cached urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)\n", + "Collecting virtualenv==21.5.0 (from -r requirements/local.txt (line 553))\n", + " Using cached virtualenv-21.5.0-py3-none-any.whl.metadata (3.4 kB)\n", + "Collecting wcwidth==0.8.1 (from -r requirements/local.txt (line 557))\n", + " Using cached wcwidth-0.8.1-py3-none-any.whl.metadata (43 kB)\n", + "Collecting webcolors==25.10.0 (from -r requirements/local.txt (line 559))\n", + " Using cached webcolors-25.10.0-py3-none-any.whl.metadata (2.2 kB)\n", + "Collecting webencodings==0.5.1 (from -r requirements/local.txt (line 561))\n", + " Using cached webencodings-0.5.1-py2.py3-none-any.whl.metadata (2.1 kB)\n", + "Collecting websocket-client==1.9.0 (from -r requirements/local.txt (line 565))\n", + " Using cached websocket_client-1.9.0-py3-none-any.whl.metadata (8.3 kB)\n", + "Requirement already satisfied: wheel==0.47.0 in ./venv/lib/python3.13/site-packages (from -r requirements/local.txt (line 567)) (0.47.0)\n", + "Requirement already satisfied: setuptools>=41.1.0 in ./venv/lib/python3.13/site-packages (from jupyterlab==4.5.8->-r requirements/local.txt (line 188)) (83.0.0)\n", + "Requirement already satisfied: pip>=22.2 in ./venv/lib/python3.13/site-packages (from pip-tools==7.5.3->-r requirements/local.txt (line 315)) (25.3)\n", + "Using cached annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)\n", + "Using cached anyio-4.13.0-py3-none-any.whl (114 kB)\n", + "Using cached appnope-0.1.4-py2.py3-none-any.whl (4.3 kB)\n", + "Using cached argon2_cffi-25.1.0-py3-none-any.whl (14 kB)\n", + "Using cached argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl (31 kB)\n", + "Using cached arrow-1.4.0-py3-none-any.whl (68 kB)\n", + "Using cached ast_serialize-0.5.0-cp39-abi3-macosx_11_0_arm64.whl (1.2 MB)\n", + "Using cached astroid-4.0.4-py3-none-any.whl (276 kB)\n", + "Using cached asttokens-3.0.1-py3-none-any.whl (27 kB)\n", + "Using cached async_lru-2.3.0-py3-none-any.whl (8.4 kB)\n", + "Using cached attrs-26.1.0-py3-none-any.whl (67 kB)\n", + "Using cached babel-2.18.0-py3-none-any.whl (10.2 MB)\n", + "Using cached bandit-1.9.4-py3-none-any.whl (134 kB)\n", + "Using cached beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)\n", + "Using cached black-26.5.1-cp313-cp313-macosx_11_0_arm64.whl (1.8 MB)\n", + "Using cached pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (160 kB)\n", + "Using cached bleach-6.4.0-py3-none-any.whl (165 kB)\n", + "Using cached cachetools-7.1.4-py3-none-any.whl (16 kB)\n", + "Using cached certifi-2026.5.20-py3-none-any.whl (134 kB)\n", + "Using cached cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl (181 kB)\n", + "Using cached cfgv-3.5.0-py2.py3-none-any.whl (7.4 kB)\n", + "Using cached charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl (309 kB)\n", + "Using cached click-8.4.1-py3-none-any.whl (116 kB)\n", + "Using cached cloudpickle-3.1.2-py3-none-any.whl (22 kB)\n", + "Using cached codespell-2.4.2-py3-none-any.whl (353 kB)\n", + "Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Using cached comm-0.2.3-py3-none-any.whl (7.3 kB)\n", + "Using cached contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl (274 kB)\n", + "Using cached coverage-7.14.1-cp313-cp313-macosx_11_0_arm64.whl (220 kB)\n", + "Using cached cssselect-1.4.0-py3-none-any.whl (18 kB)\n", + "Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Using cached debugpy-1.8.21-cp313-cp313-macosx_15_0_universal2.whl (2.5 MB)\n", + "Using cached decorator-5.3.1-py3-none-any.whl (10 kB)\n", + "Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)\n", + "Using cached dill-0.4.1-py3-none-any.whl (120 kB)\n", + "Using cached distlib-0.4.3-py2.py3-none-any.whl (470 kB)\n", + "Using cached duckdb-1.5.3-cp313-cp313-macosx_11_0_arm64.whl (15.4 MB)\n", + "Using cached executing-2.2.1-py2.py3-none-any.whl (28 kB)\n", + "Using cached fastjsonschema-2.21.2-py3-none-any.whl (24 kB)\n", + "Using cached filelock-3.29.4-py3-none-any.whl (42 kB)\n", + "Using cached flake8-7.3.0-py2.py3-none-any.whl (57 kB)\n", + "Using cached mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)\n", + "Using cached pycodestyle-2.14.0-py2.py3-none-any.whl (31 kB)\n", + "Using cached pyflakes-3.4.0-py2.py3-none-any.whl (63 kB)\n", + "Using cached flake8_coding-1.3.2-py2.py3-none-any.whl (7.6 kB)\n", + "Using cached fonttools-4.63.0-cp313-cp313-macosx_10_13_universal2.whl (2.9 MB)\n", + "Using cached fqdn-1.5.1-py3-none-any.whl (9.1 kB)\n", + "Using cached h11-0.16.0-py3-none-any.whl (37 kB)\n", + "Using cached httpcore-1.0.9-py3-none-any.whl (78 kB)\n", + "Using cached httpx-0.28.1-py3-none-any.whl (73 kB)\n", + "Using cached identify-2.6.19-py2.py3-none-any.whl (99 kB)\n", + "Using cached idna-3.18-py3-none-any.whl (65 kB)\n", + "Using cached iniconfig-2.3.0-py3-none-any.whl (7.5 kB)\n", + "Using cached ipykernel-7.3.0-py3-none-any.whl (120 kB)\n", + "Using cached ipython-9.14.1-py3-none-any.whl (627 kB)\n", + "Using cached prompt_toolkit-3.0.52-py3-none-any.whl (391 kB)\n", + "Using cached ipython_pygments_lexers-1.1.1-py3-none-any.whl (8.1 kB)\n", + "Using cached isoduration-20.11.0-py3-none-any.whl (11 kB)\n", + "Using cached isort-8.0.1-py3-none-any.whl (89 kB)\n", + "Using cached jedi-0.20.0-py2.py3-none-any.whl (4.9 MB)\n", + "Using cached parso-0.8.7-py2.py3-none-any.whl (107 kB)\n", + "Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)\n", + "Using cached joblib-1.5.3-py3-none-any.whl (309 kB)\n", + "Using cached json5-0.14.0-py3-none-any.whl (36 kB)\n", + "Using cached jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)\n", + "Using cached jsonschema-4.26.0-py3-none-any.whl (90 kB)\n", + "Using cached jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)\n", + "Using cached jupyter_client-8.9.1-py3-none-any.whl (109 kB)\n", + "Using cached jupyter_core-5.9.1-py3-none-any.whl (29 kB)\n", + "Using cached jupyter_events-0.12.1-py3-none-any.whl (19 kB)\n", + "Using cached jupyter_lsp-2.3.1-py3-none-any.whl (77 kB)\n", + "Using cached jupyter_server-2.19.0-py3-none-any.whl (392 kB)\n", + "Using cached jupyter_server_terminals-0.5.4-py3-none-any.whl (13 kB)\n", + "Using cached jupyterlab-4.5.8-py3-none-any.whl (12.4 MB)\n", + "Using cached jupyterlab_server-2.28.0-py3-none-any.whl (59 kB)\n", + "Using cached jupyterlab_pygments-0.3.0-py3-none-any.whl (15 kB)\n", + "Using cached jupytext-1.19.3-py3-none-any.whl (170 kB)\n", + "Using cached kaggle-2.2.1-py3-none-any.whl (132 kB)\n", + "Using cached kagglesdk-0.1.30-py3-none-any.whl (231 kB)\n", + "Using cached kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl (64 kB)\n", + "Using cached lark-1.3.1-py3-none-any.whl (113 kB)\n", + "Using cached librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl (143 kB)\n", + "Using cached llvmlite-0.47.0-cp313-cp313-macosx_12_0_arm64.whl (37.2 MB)\n", + "Using cached markdown_it_py-4.2.0-py3-none-any.whl (91 kB)\n", + "Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", + "Using cached markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl (12 kB)\n", + "Using cached matplotlib-3.11.0-cp313-cp313-macosx_11_0_arm64.whl (9.3 MB)\n", + "Using cached matplotlib_inline-0.2.2-py3-none-any.whl (9.5 kB)\n", + "Using cached mdit_py_plugins-0.6.1-py3-none-any.whl (66 kB)\n", + "Using cached mistune-3.2.1-py3-none-any.whl (53 kB)\n", + "Using cached mypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl (13.7 MB)\n", + "Using cached mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\n", + "Using cached narwhals-2.22.1-py3-none-any.whl (454 kB)\n", + "Using cached nbclient-0.11.0-py3-none-any.whl (25 kB)\n", + "Using cached nbconvert-7.17.1-py3-none-any.whl (261 kB)\n", + "Using cached nbformat-5.10.4-py3-none-any.whl (78 kB)\n", + "Using cached nest_asyncio2-1.7.2-py3-none-any.whl (7.8 kB)\n", + "Using cached nodeenv-1.10.0-py2.py3-none-any.whl (23 kB)\n", + "Using cached notebook_shim-0.2.4-py3-none-any.whl (13 kB)\n", + "Using cached numba-0.65.1-cp313-cp313-macosx_12_0_arm64.whl (2.7 MB)\n", + "Using cached numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl (5.2 MB)\n", + "Using cached pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl (10.7 MB)\n", + "Using cached pandas_stubs-3.0.3.260530-py3-none-any.whl (173 kB)\n", + "Using cached pandocfilters-1.5.1-py2.py3-none-any.whl (8.7 kB)\n", + "Using cached pathspec-1.1.1-py3-none-any.whl (57 kB)\n", + "Using cached pexpect-4.9.0-py2.py3-none-any.whl (63 kB)\n", + "Using cached pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl (4.7 MB)\n", + "Using cached platformdirs-4.10.0-py3-none-any.whl (22 kB)\n", + "Using cached pluggy-1.6.0-py3-none-any.whl (20 kB)\n", + "Using cached pre_commit-4.6.0-py2.py3-none-any.whl (226 kB)\n", + "Using cached prometheus_client-0.25.0-py3-none-any.whl (64 kB)\n", + "Using cached protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl (427 kB)\n", + "Using cached psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl (129 kB)\n", + "Using cached ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)\n", + "Using cached pure_eval-0.2.3-py3-none-any.whl (11 kB)\n", + "Using cached pycparser-3.0-py3-none-any.whl (48 kB)\n", + "Using cached pygments-2.20.0-py3-none-any.whl (1.2 MB)\n", + "Using cached pylint-4.0.6-py3-none-any.whl (538 kB)\n", + "Using cached pylint_django-2.7.0-py3-none-any.whl (42 kB)\n", + "Using cached pylint_plugin_utils-0.9.0-py3-none-any.whl (11 kB)\n", + "Using cached pyparsing-3.3.2-py3-none-any.whl (122 kB)\n", + "Using cached pyproject_api-1.10.1-py3-none-any.whl (12 kB)\n", + "Using cached pytest-9.1.0-py3-none-any.whl (386 kB)\n", + "Using cached pytest_mock-3.15.1-py3-none-any.whl (10 kB)\n", + "Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\n", + "Using cached python_discovery-1.4.2-py3-none-any.whl (33 kB)\n", + "Using cached python_dotenv-1.2.2-py3-none-any.whl (22 kB)\n", + "Using cached python_json_logger-4.1.0-py3-none-any.whl (15 kB)\n", + "Using cached python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)\n", + "Using cached pytz-2026.2-py2.py3-none-any.whl (510 kB)\n", + "Using cached pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl (173 kB)\n", + "Using cached pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl (1.3 MB)\n", + "Using cached rapidfuzz-3.14.5-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB)\n", + "Using cached referencing-0.37.0-py3-none-any.whl (26 kB)\n", + "Using cached requests-2.34.2-py3-none-any.whl (73 kB)\n", + "Using cached urllib3-2.7.0-py3-none-any.whl (131 kB)\n", + "Using cached rfc3339_validator-0.1.4-py2.py3-none-any.whl (3.5 kB)\n", + "Using cached rfc3986_validator-0.1.1-py2.py3-none-any.whl (4.2 kB)\n", + "Using cached rfc3987_syntax-1.1.0-py3-none-any.whl (8.0 kB)\n", + "Using cached rich-15.0.0-py3-none-any.whl (310 kB)\n", + "Using cached rpds_py-2026.5.1-cp313-cp313-macosx_11_0_arm64.whl (345 kB)\n", + "Using cached scikit_learn-1.9.0-cp313-cp313-macosx_12_0_arm64.whl (8.2 MB)\n", + "Using cached scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl (20.3 MB)\n", + "Using cached seaborn-0.13.2-py3-none-any.whl (294 kB)\n", + "Using cached send2trash-2.1.0-py3-none-any.whl (17 kB)\n", + "Using cached shap-0.52.0-cp312-abi3-macosx_11_0_arm64.whl (490 kB)\n", + "Using cached shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n", + "Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)\n", + "Using cached slicer-0.0.8-py3-none-any.whl (15 kB)\n", + "Using cached soupsieve-2.8.4-py3-none-any.whl (37 kB)\n", + "Using cached stack_data-0.6.3-py3-none-any.whl (24 kB)\n", + "Using cached stevedore-5.8.0-py3-none-any.whl (54 kB)\n", + "Using cached terminado-0.18.1-py3-none-any.whl (14 kB)\n", + "Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)\n", + "Using cached threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\n", + "Using cached tinycss2-1.5.1-py3-none-any.whl (28 kB)\n", + "Using cached tomli_w-1.2.0-py3-none-any.whl (6.7 kB)\n", + "Using cached tomlkit-0.15.0-py3-none-any.whl (41 kB)\n", + "Using cached tornado-6.5.7-cp39-abi3-macosx_10_9_universal2.whl (448 kB)\n", + "Using cached tox-4.55.1-py3-none-any.whl (215 kB)\n", + "Using cached tqdm-4.68.2-py3-none-any.whl (78 kB)\n", + "Using cached traitlets-5.15.1-py3-none-any.whl (85 kB)\n", + "Using cached typer-0.26.7-py3-none-any.whl (122 kB)\n", + "Using cached types_cachetools-7.0.0.20260518-py3-none-any.whl (9.5 kB)\n", + "Using cached types_html5lib-1.1.11.20260518-py3-none-any.whl (24 kB)\n", + "Using cached types_lxml-2026.2.16-py3-none-any.whl (97 kB)\n", + "Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB)\n", + "Using cached types_requests-2.33.0.20260518-py3-none-any.whl (21 kB)\n", + "Using cached types_tqdm-4.68.0.20260608-py3-none-any.whl (24 kB)\n", + "Using cached types_webencodings-0.5.0.20260408-py3-none-any.whl (8.7 kB)\n", + "Using cached tzdata-2026.2-py2.py3-none-any.whl (349 kB)\n", + "Using cached uri_template-1.3.0-py3-none-any.whl (11 kB)\n", + "Using cached virtualenv-21.5.0-py3-none-any.whl (4.6 MB)\n", + "Using cached wcwidth-0.8.1-py3-none-any.whl (323 kB)\n", + "Using cached webcolors-25.10.0-py3-none-any.whl (14 kB)\n", + "Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)\n", + "Using cached websocket_client-1.9.0-py3-none-any.whl (82 kB)\n", + "Installing collected packages: webencodings, text-unidecode, pytz, pure-eval, ptyprocess, fastjsonschema, distlib, websocket-client, webcolors, wcwidth, urllib3, uri-template, tzdata, typing-extensions, types-webencodings, types-cachetools, traitlets, tqdm, tornado, tomlkit, tomli-w, tinycss2, threadpoolctl, stevedore, soupsieve, slicer, six, shellingham, send2trash, rpds-py, rfc3986-validator, rapidfuzz, pyzmq, pyyaml, pytokens, python-slugify, python-json-logger, python-dotenv, pyproject-api, pyparsing, pygments, pyflakes, pycparser, pycodestyle, psutil, protobuf, prometheus-client, pluggy, platformdirs, pillow, pexpect, pathspec, parso, pandocfilters, numpy, nodeenv, nest-asyncio2, narwhals, mypy-extensions, mistune, mdurl, mccabe, markupsafe, llvmlite, librt, lark, kiwisolver, jupyterlab-pygments, jsonpointer, json5, joblib, isort, iniconfig, idna, identify, h11, fqdn, fonttools, filelock, executing, duckdb, dill, defusedxml, decorator, debugpy, cycler, cssselect, coverage, comm, colorama, codespell, cloudpickle, click, charset-normalizer, cfgv, certifi, cachetools, bleach, babel, attrs, async-lru, asttokens, astroid, ast-serialize, appnope, annotated-doc, types-requests, types-html5lib, terminado, stack-data, scipy, rfc3987-syntax, rfc3339-validator, requests, referencing, python-discovery, python-dateutil, pytest, pylint, prompt-toolkit, pandas-stubs, numba, mypy, matplotlib-inline, markdown-it-py, jupyter-core, jinja2, jedi, ipython-pygments-lexers, httpcore, flake8, contourpy, cffi, black, beautifulsoup4, anyio, virtualenv, types-tqdm, types-lxml, scikit-learn, rich, pytest-mock, pylint-plugin-utils, pandas, mdit-py-plugins, matplotlib, kagglesdk, jupyter-server-terminals, jupyter-client, jsonschema-specifications, ipython, httpx, flake8-coding, arrow, argon2-cffi-bindings, typer, tox, shap, seaborn, pylint-django, pre-commit, jsonschema, isoduration, ipykernel, bandit, argon2-cffi, nbformat, nbclient, jupytext, jupyter-events, nbconvert, kaggle, jupyter-server, notebook-shim, jupyterlab-server, jupyter-lsp, jupyterlab\n", + "\u001b[2K Attempting uninstall: click0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 87/177\u001b[0m [coverage]]-client]]\n", + "\u001b[2K Found existing installation: click 8.4.2━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 87/177\u001b[0m [coverage]\n", + "\u001b[2K Uninstalling click-8.4.2:91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 87/177\u001b[0m [coverage]\n", + "\u001b[2K Successfully uninstalled click-8.4.2━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 87/177\u001b[0m [coverage]\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m177/177\u001b[0m [jupyterlab]pyterlab]]onvert]]in-utils]\n", + "\u001b[1A\u001b[2KSuccessfully installed annotated-doc-0.0.4 anyio-4.13.0 appnope-0.1.4 argon2-cffi-25.1.0 argon2-cffi-bindings-25.1.0 arrow-1.4.0 ast-serialize-0.5.0 astroid-4.0.4 asttokens-3.0.1 async-lru-2.3.0 attrs-26.1.0 babel-2.18.0 bandit-1.9.4 beautifulsoup4-4.15.0 black-26.5.1 bleach-6.4.0 cachetools-7.1.4 certifi-2026.5.20 cffi-2.0.0 cfgv-3.5.0 charset-normalizer-3.4.7 click-8.4.1 cloudpickle-3.1.2 codespell-2.4.2 colorama-0.4.6 comm-0.2.3 contourpy-1.3.3 coverage-7.14.1 cssselect-1.4.0 cycler-0.12.1 debugpy-1.8.21 decorator-5.3.1 defusedxml-0.7.1 dill-0.4.1 distlib-0.4.3 duckdb-1.5.3 executing-2.2.1 fastjsonschema-2.21.2 filelock-3.29.4 flake8-7.3.0 flake8-coding-1.3.2 fonttools-4.63.0 fqdn-1.5.1 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 identify-2.6.19 idna-3.18 iniconfig-2.3.0 ipykernel-7.3.0 ipython-9.14.1 ipython-pygments-lexers-1.1.1 isoduration-20.11.0 isort-8.0.1 jedi-0.20.0 jinja2-3.1.6 joblib-1.5.3 json5-0.14.0 jsonpointer-3.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 jupyter-client-8.9.1 jupyter-core-5.9.1 jupyter-events-0.12.1 jupyter-lsp-2.3.1 jupyter-server-2.19.0 jupyter-server-terminals-0.5.4 jupyterlab-4.5.8 jupyterlab-pygments-0.3.0 jupyterlab-server-2.28.0 jupytext-1.19.3 kaggle-2.2.1 kagglesdk-0.1.30 kiwisolver-1.5.0 lark-1.3.1 librt-0.11.0 llvmlite-0.47.0 markdown-it-py-4.2.0 markupsafe-3.0.3 matplotlib-3.11.0 matplotlib-inline-0.2.2 mccabe-0.7.0 mdit-py-plugins-0.6.1 mdurl-0.1.2 mistune-3.2.1 mypy-2.1.0 mypy-extensions-1.1.0 narwhals-2.22.1 nbclient-0.11.0 nbconvert-7.17.1 nbformat-5.10.4 nest-asyncio2-1.7.2 nodeenv-1.10.0 notebook-shim-0.2.4 numba-0.65.1 numpy-2.4.6 pandas-2.3.3 pandas-stubs-3.0.3.260530 pandocfilters-1.5.1 parso-0.8.7 pathspec-1.1.1 pexpect-4.9.0 pillow-12.2.0 platformdirs-4.10.0 pluggy-1.6.0 pre-commit-4.6.0 prometheus-client-0.25.0 prompt-toolkit-3.0.52 protobuf-6.33.6 psutil-7.2.2 ptyprocess-0.7.0 pure-eval-0.2.3 pycodestyle-2.14.0 pycparser-3.0 pyflakes-3.4.0 pygments-2.20.0 pylint-4.0.6 pylint-django-2.7.0 pylint-plugin-utils-0.9.0 pyparsing-3.3.2 pyproject-api-1.10.1 pytest-9.1.0 pytest-mock-3.15.1 python-dateutil-2.9.0.post0 python-discovery-1.4.2 python-dotenv-1.2.2 python-json-logger-4.1.0 python-slugify-8.0.4 pytokens-0.4.1 pytz-2026.2 pyyaml-6.0.3 pyzmq-27.1.0 rapidfuzz-3.14.5 referencing-0.37.0 requests-2.34.2 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 rfc3987-syntax-1.1.0 rich-15.0.0 rpds-py-2026.5.1 scikit-learn-1.9.0 scipy-1.17.1 seaborn-0.13.2 send2trash-2.1.0 shap-0.52.0 shellingham-1.5.4 six-1.17.0 slicer-0.0.8 soupsieve-2.8.4 stack-data-0.6.3 stevedore-5.8.0 terminado-0.18.1 text-unidecode-1.3 threadpoolctl-3.6.0 tinycss2-1.5.1 tomli-w-1.2.0 tomlkit-0.15.0 tornado-6.5.7 tox-4.55.1 tqdm-4.68.2 traitlets-5.15.1 typer-0.26.7 types-cachetools-7.0.0.20260518 types-html5lib-1.1.11.20260518 types-lxml-2026.2.16 types-requests-2.33.0.20260518 types-tqdm-4.68.0.20260608 types-webencodings-0.5.0.20260408 typing-extensions-4.15.0 tzdata-2026.2 uri-template-1.3.0 urllib3-2.7.0 virtualenv-21.5.0 wcwidth-0.8.1 webcolors-25.10.0 webencodings-0.5.1 websocket-client-1.9.0\n", + "\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.3\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m26.1.2\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", + "source venv/bin/activate && python3.13 -m ipykernel install --user --name py311 --display-name \"Python 3.13\"\n", + "Installed kernelspec py311 in /Users/vincent/Library/Jupyter/kernels/py311\n", + "Warning: Looks like you're using an outdated `kaggle` version (installed: 2.2.1), please consider upgrading to the latest version (2.2.2)\n", + "2026-07-15 09:14:18 | INFO | Starting IMDb pipeline...\n", + "2026-07-15 09:14:18 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.basics.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:18 | INFO | Building title_basics...\n", + "2026-07-15 09:14:20 | INFO | Exported title_basics → /Users/vincent/Documents/netflix-writers/netflix/data/imdb/titles.basics.csv\n", + "2026-07-15 09:14:20 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.ratings.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:20 | INFO | Building title_ratings...\n", + "2026-07-15 09:14:20 | INFO | Exported title_ratings → /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.ratings.csv\n", + "2026-07-15 09:14:20 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.akas.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:20 | INFO | Building title_akas...\n", + "2026-07-15 09:14:25 | INFO | Exported title_akas → /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.akas.csv\n", + "2026-07-15 09:14:25 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.crew.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:25 | INFO | Building title_crew...\n", + "2026-07-15 09:14:26 | INFO | Exported title_crew → /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.crew.csv\n", + "2026-07-15 09:14:26 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.principals.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:26 | INFO | Building title_principals...\n", + "2026-07-15 09:14:33 | INFO | Exported title_principals → /Users/vincent/Documents/netflix-writers/netflix/data/imdb/title.principals.csv\n", + "2026-07-15 09:14:33 | INFO | File /Users/vincent/Documents/netflix-writers/netflix/data/imdb/name.basics.tsv.gz already exists, skipping download.\n", + "2026-07-15 09:14:33 | INFO | Building name_basics...\n", + "2026-07-15 09:14:36 | INFO | Building composite table...\n", + "2026-07-15 09:14:37 | INFO | Exported titles_composite → /Users/vincent/Documents/netflix-writers/netflix/data/imdb.titles.composite.csv\n", + "2026-07-15 09:14:39 | INFO | IMDb pipeline complete.\n", + "Warning: Looks like you're using an outdated `kaggle` version (installed: 2.2.1), please consider upgrading to the latest version (2.2.2)\n", + "Dataset URL: https://www.kaggle.com/datasets/dhruvildave/netflix-top-10-tv-shows-and-films\n", + "2026-07-15 09:14:40 | INFO | Dataset downloaded successfully.\n", + "2026-07-15 09:14:40 | INFO | ----------------------------------------\n", + "Found 800 unique shows.\n", + "Warning: Looks like you're using an outdated `kaggle` version (installed: 2.2.1), please consider upgrading to the latest version (2.2.2)\n", + "Dataset URL: https://www.kaggle.com/datasets/asaniczka/full-tmdb-tv-shows-dataset-2023-150k-shows\n", + "2026-07-15 09:14:42 | INFO | Dataset downloaded successfully.\n", + "2026-07-15 09:14:42 | INFO | Renamed TMDB_tv_dataset_v3.csv → tmdb.titles.v3.csv\n", + "2026-07-15 09:14:42 | INFO | ----------------------------------------\n", + "2026-07-15 09:14:42 | INFO | CSV written to: /Users/vincent/Documents/netflix-writers/netflix/data/polti/situations.csv\n", + "2026-07-15 09:14:42 | INFO | ----------------------------------------\n", + "all-weeks-global.csv: 1chunks [00:00, 284.98chunks/s]\n", + "tmdb.titles.v3.csv: 17chunks [00:00, 33.76chunks/s]\n", + "title.basics.tsv.gz: 1265chunks [00:09, 130.26chunks/s]\n", + "title.ratings.tsv.gz: 170chunks [00:00, 350.24chunks/s]\n", + "2026-07-15 09:14:55 | INFO | Building Pandas DataFrame for Netflix data...\n", + "2026-07-15 09:14:55 | INFO | === Netflix DataFrame Schema Info ===\n", + "2026-07-15 09:14:55 | INFO | Netflix shape: 691 rows × 6 columns\n", + "2026-07-15 09:14:55 | INFO | Netflix schema:\n", + "2026-07-15 09:14:55 | INFO | key object nulls=0 unique=691 \n", + "2026-07-15 09:14:55 | INFO | netflix_viewing_hours int64 nulls=0 unique=661 \n", + "2026-07-15 09:14:55 | INFO | netflix_weeks int64 nulls=0 unique=18 \n", + "2026-07-15 09:14:55 | INFO | netflix_year_hint int32 nulls=0 unique=2 \n", + "2026-07-15 09:14:55 | INFO | netflix_title object nulls=0 unique=691 \n", + "2026-07-15 09:14:55 | INFO | netflix_clean_title object nulls=0 unique=691 \n", + "2026-07-15 09:14:55 | INFO | Netflix memory usage: 0.14 MB\n", + "2026-07-15 09:14:55 | INFO | === END Netflix DataFrame Schema Info ===\n", + "\n", + "\n", + "2026-07-15 09:14:55 | INFO | Building Pandas DataFrame for TMDB data...\n", + "2026-07-15 09:14:56 | INFO | === TMDB DataFrame Schema Info ===\n", + "2026-07-15 09:14:56 | INFO | TMDB shape: 168639 rows × 7 columns\n", + "2026-07-15 09:14:56 | INFO | TMDB schema:\n", + "2026-07-15 09:14:56 | INFO | key object nulls=0 unique=73290 \n", + "2026-07-15 09:14:56 | INFO | title object nulls=5 unique=155586 \n", + "2026-07-15 09:14:56 | INFO | clean_title object nulls=0 unique=135299 \n", + "2026-07-15 09:14:56 | INFO | year float64 nulls=31736 unique=93 \n", + "2026-07-15 09:14:56 | INFO | popularity float64 nulls=0 unique=20481 \n", + "2026-07-15 09:14:56 | INFO | vote_average float64 nulls=0 unique=2603 \n", + "2026-07-15 09:14:56 | INFO | vote_count int64 nulls=0 unique=1110 \n", + "2026-07-15 09:14:56 | INFO | TMDB memory usage: 35.78 MB\n", + "2026-07-15 09:14:56 | INFO | === END TMDB DataFrame Schema Info ===\n", + "\n", + "\n", + "2026-07-15 09:14:56 | INFO | Building Pandas DataFrame for IMDb data...\n", + "2026-07-15 09:14:57 | INFO | Joined IMDb basics and ratings: 12643241 records.\n", + "2026-07-15 09:14:57 | INFO | Cleaning IMDb titles...\n", + "2026-07-15 09:15:12 | INFO | Generating blocking keys for IMDb titles...\n", + "2026-07-15 09:15:33 | INFO | === IMDb DataFrame Schema Info ===\n", + "2026-07-15 09:15:33 | INFO | IMDb shape: 12643241 rows × 7 columns\n", + "2026-07-15 09:15:33 | INFO | IMDb schema:\n", + "2026-07-15 09:15:35 | INFO | tconst object nulls=0 unique=12643241\n", + "2026-07-15 09:15:37 | INFO | title object nulls=24 unique=5642637 \n", + "2026-07-15 09:15:37 | INFO | year Int32 nulls=1475271 unique=154 \n", + "2026-07-15 09:15:37 | INFO | averageRating float64 nulls=10948264 unique=91 \n", + "2026-07-15 09:15:37 | INFO | numVotes Int64 nulls=10948264 unique=24682 \n", + "2026-07-15 09:15:39 | INFO | clean_title object nulls=0 unique=5528687 \n", + "2026-07-15 09:15:40 | INFO | key object nulls=0 unique=1095777 \n", + "2026-07-15 09:15:43 | INFO | IMDb memory usage: 3305.37 MB\n", + "2026-07-15 09:15:43 | INFO | === END IMDb DataFrame Schema Info ===\n", + "\n", + "\n", + "2026-07-15 09:15:43 | INFO | Final IMDb dataset has 12643241 records.\n", + "2026-07-15 09:15:43 | INFO | Fuzzy matching tmdb to Netflix with score threshold 0.85...\n", + "2026-07-15 09:15:43 | INFO | Found 37944 candidate pairs after blocking on key.\n", + "2026-07-15 09:15:43 | INFO | 36883 candidates remain after year filtering.\n", + "2026-07-15 09:15:43 | INFO | Calculating Jaro-Winkler similarity for candidate pairs...\n", + "2026-07-15 09:15:43 | INFO | 19922 candidates remain after applying score threshold.\n", + "2026-07-15 09:15:43 | INFO | Matched 394 out of 691 Netflix titles to tmdb.\n", + "2026-07-15 09:15:43 | INFO | Fuzzy matching imdb to Netflix with score threshold 0.85...\n", + "2026-07-15 09:15:46 | INFO | Found 813771 candidate pairs after blocking on key.\n", + "2026-07-15 09:15:46 | INFO | 725275 candidates remain after year filtering.\n", + "2026-07-15 09:15:46 | INFO | Calculating Jaro-Winkler similarity for candidate pairs...\n", + "2026-07-15 09:15:47 | INFO | 47779 candidates remain after applying score threshold.\n", + "2026-07-15 09:15:47 | INFO | Matched 665 out of 691 Netflix titles to imdb.\n", + "2026-07-15 09:15:47 | INFO | === Final dataset DataFrame Schema Info ===\n", + "2026-07-15 09:15:47 | INFO | Final dataset shape: 691 rows × 13 columns\n", + "2026-07-15 09:15:47 | INFO | Final dataset schema:\n", + "2026-07-15 09:15:47 | INFO | key object nulls=0 unique=691 \n", + "2026-07-15 09:15:47 | INFO | netflix_viewing_hours int64 nulls=0 unique=661 \n", + "2026-07-15 09:15:47 | INFO | netflix_weeks int64 nulls=0 unique=18 \n", + "2026-07-15 09:15:47 | INFO | netflix_year_hint int32 nulls=0 unique=2 \n", + "2026-07-15 09:15:47 | INFO | netflix_title object nulls=0 unique=691 \n", + "2026-07-15 09:15:47 | INFO | netflix_clean_title object nulls=0 unique=691 \n", + "2026-07-15 09:15:47 | INFO | tmdb_title object nulls=297 unique=394 \n", + "2026-07-15 09:15:47 | INFO | tmdb_popularity float64 nulls=297 unique=333 \n", + "2026-07-15 09:15:47 | INFO | tmdb_vote_average float64 nulls=297 unique=205 \n", + "2026-07-15 09:15:47 | INFO | tmdb_vote_count float64 nulls=297 unique=181 \n", + "2026-07-15 09:15:47 | INFO | imdb_title object nulls=27 unique=664 \n", + "2026-07-15 09:15:47 | INFO | imdb_averageRating float64 nulls=228 unique=57 \n", + "2026-07-15 09:15:47 | INFO | imdb_numVotes Int64 nulls=228 unique=424 \n", + "2026-07-15 09:15:47 | INFO | Final dataset memory usage: 0.24 MB\n", + "2026-07-15 09:15:47 | INFO | === END Final dataset DataFrame Schema Info ===\n", + "\n", + "\n", + "2026-07-15 09:15:47 | INFO | Dataset head:\n", + " key netflix_viewing_hours ... imdb_averageRating imdb_numVotes\n", + "0 10 26580000 ... 9.4 12\n", + "1 10_fr_mi 13590000 ... 5.9 2334\n", + "2 10_lo 12600000 ... 7.4 20069\n", + "3 12_st 16420000 ... NaN \n", + "4 13_ho_se 26250000 ... 6.6 72\n", + "\n", + "[5 rows x 13 columns]\n", + "2026-07-15 09:15:47 | INFO | Saving composite dataset to /Users/vincent/Documents/netflix-writers/netflix/data/netflix.titles.composite.csv...\n" + ] + } + ], "source": [ "!make init\n", "!python -m netflix.fetch\n", @@ -25,10 +786,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "77ef2d42", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(299097, 15) (691, 13) (168639, 29)\n" + ] + } + ], "source": [ "\n", "import pandas as pd\n", @@ -51,10 +820,266 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "953ac9dc", "metadata": {}, - "outputs": [], + "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", + "
keynetflix_viewing_hoursnetflix_weeksnetflix_year_hintnetflix_titlenetflix_clean_titletmdb_titletmdb_popularitytmdb_vote_averagetmdb_vote_countimdb_titleimdb_averageRatingimdb_numVotes
661st_th2874260000132022Stranger Thingsstranger thingsStranger Things185.7118.62416161.0Stranger ThingsNaNNaN
396ga_sq2289500000202021Squid Gamesquid gameSquid Game115.5877.83113053.0Squid Game!NaNNaN
549ma1446260000162021ManifestmanifestManifest111.4117.7281312.0ManifestNaNNaN
447he_mo1170200000142021Money Heistmoney heistMoney Heist96.3548.25717836.0Money Heist8.2612436.0
167br1108800000112021BridgertonbridgertonBridgerton71.3088.1432045.0Bridgerton4.157.0
103ar_ca_co793740000252022Café con aroma de mujercaf con aroma de mujerCafé con Aroma de Mujer20.7107.500382.0Café con aroma de mujer8.6106.0
690yo77748000082021Youyou続・アタッカーYOU 金メダルへの道7.1012.5002.0YouNaNNaN
686wi75735000062021WindfallwindfallWindfall3.8130.0000.0WindfallNaNNaN
607oz751600000132022OzarkozarkOzark68.0068.2441968.0Ozark8.4394904.0
69al_ar_us659510000112022All of Us Are Deadall of us are deadAll of Us Are Dead107.1088.3543335.0All of Us Are Dead7.692709.0
\n", + "
" + ], + "text/plain": [ + " key netflix_viewing_hours netflix_weeks netflix_year_hint \\\n", + "661 st_th 2874260000 13 2022 \n", + "396 ga_sq 2289500000 20 2021 \n", + "549 ma 1446260000 16 2021 \n", + "447 he_mo 1170200000 14 2021 \n", + "167 br 1108800000 11 2021 \n", + "103 ar_ca_co 793740000 25 2022 \n", + "690 yo 777480000 8 2021 \n", + "686 wi 757350000 6 2021 \n", + "607 oz 751600000 13 2022 \n", + "69 al_ar_us 659510000 11 2022 \n", + "\n", + " netflix_title netflix_clean_title tmdb_title \\\n", + "661 Stranger Things stranger things Stranger Things \n", + "396 Squid Game squid game Squid Game \n", + "549 Manifest manifest Manifest \n", + "447 Money Heist money heist Money Heist \n", + "167 Bridgerton bridgerton Bridgerton \n", + "103 Café con aroma de mujer caf con aroma de mujer Café con Aroma de Mujer \n", + "690 You you 続・アタッカーYOU 金メダルへの道 \n", + "686 Windfall windfall Windfall \n", + "607 Ozark ozark Ozark \n", + "69 All of Us Are Dead all of us are dead All of Us Are Dead \n", + "\n", + " tmdb_popularity tmdb_vote_average tmdb_vote_count \\\n", + "661 185.711 8.624 16161.0 \n", + "396 115.587 7.831 13053.0 \n", + "549 111.411 7.728 1312.0 \n", + "447 96.354 8.257 17836.0 \n", + "167 71.308 8.143 2045.0 \n", + "103 20.710 7.500 382.0 \n", + "690 7.101 2.500 2.0 \n", + "686 3.813 0.000 0.0 \n", + "607 68.006 8.244 1968.0 \n", + "69 107.108 8.354 3335.0 \n", + "\n", + " imdb_title imdb_averageRating imdb_numVotes \n", + "661 Stranger Things NaN NaN \n", + "396 Squid Game! NaN NaN \n", + "549 Manifest NaN NaN \n", + "447 Money Heist 8.2 612436.0 \n", + "167 Bridgerton 4.1 57.0 \n", + "103 Café con aroma de mujer 8.6 106.0 \n", + "690 You NaN NaN \n", + "686 Windfall NaN NaN \n", + "607 Ozark 8.4 394904.0 \n", + "69 All of Us Are Dead 7.6 92709.0 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "# Top Netflix shows by viewing hours\n", @@ -63,10 +1088,312 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "673a7d83", "metadata": {}, - "outputs": [], + "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", + "
tconsttitleTypeprimaryTitleoriginalTitlestartYearendYearruntimeMinutesgenrestitle_keyaverageRatingnumVotesall_akascastdirectorswriters
113321tt24228604tvSeriesOdBita PotOdBita Pot20222026\\NAdventuredita ot9.81344.0odbita potAnze Sever | Bit Severnm7689797nm7689797
10372tt41956044tvSeriesD&D: Dungeon MastersD&D: Dungeon Masters2026\\N\\NFantasy,Horror,Reality-TVungeon asters9.8115.0d&d: dungeon mastersMayanna Berrin | Devora Wilde | Neil Newbon | ...nm0671741\\N
127839tt28305644tvSeriesEDP WatchEDP Watch2023\\N\\NCrimeatch9.7106.0edp watchAlex Rosen | Skeeter Jean | Demarcus Cousins I...nm15017595nm15017595
263196tt12831434tvSeriesThe Simonetta Lein ShowThe Simonetta Lein Show20202026\\NTalk-Showhe imonetta ein how9.7810.0the simonetta lein showGabriela Gonzalez | Kevin Harrington | Julian ...\\N\\N
164455tt34929415tvSeriesA Dog and a PlaneA Dog and a Plane2026\\N\\NComedy,Romanceog and a lane9.7551.0a dog and a planeOabnithi Wiwattanawarang | Pompam Niti Chaichi...nm8797158\\N
156259tt33131139tvSeriesSymposiumSymposium2023\\N\\NTalk-Showymposium9.6127.0symposiumNiko Svanidzenm16438483nm16438483
59321tt8088236tvSeriesGeografens testamenteGeografens testamente2011202328Adventure,Historyeografens testamente9.61143.0the geographers last will | geografens testamenteJudith Buchan | Lena Granhagen | Lakshman Mend...nm1072502nm1072502,nm2050223,nm6813238
63437tt8560994tvSeriesFriday Five SharpFriday Five Sharp2015\\N\\NComedyriday ive harp9.64589.0petak pet | friday five sharpKitodar Todorov | Tedi Dinh | Vladislav Petrov...nm5663366nm5663366,nm11544010,nm1242398,nm9909867
59344tt8103440tvSeriesHerne KathaHerne Katha2018\\N\\NDocumentary,Shorterne atha9.6413.0herne kathaKamal Kumar | Bidhya Chapagainnm9678594,nm9678593nm9678593,nm9678594
36797tt5961444tvSeriesUpanishad GangaUpanishad Ganga20122013\\NDrama,History,Shortpanishad anga9.61359.0upanishad gangaRasika Dugal | Zakir Hussain | Sandeep Mohan |...nm1363374nm1363374
\n", + "
" + ], + "text/plain": [ + " tconst titleType primaryTitle \\\n", + "113321 tt24228604 tvSeries OdBita Pot \n", + "10372 tt41956044 tvSeries D&D: Dungeon Masters \n", + "127839 tt28305644 tvSeries EDP Watch \n", + "263196 tt12831434 tvSeries The Simonetta Lein Show \n", + "164455 tt34929415 tvSeries A Dog and a Plane \n", + "156259 tt33131139 tvSeries Symposium \n", + "59321 tt8088236 tvSeries Geografens testamente \n", + "63437 tt8560994 tvSeries Friday Five Sharp \n", + "59344 tt8103440 tvSeries Herne Katha \n", + "36797 tt5961444 tvSeries Upanishad Ganga \n", + "\n", + " originalTitle startYear endYear runtimeMinutes \\\n", + "113321 OdBita Pot 2022 2026 \\N \n", + "10372 D&D: Dungeon Masters 2026 \\N \\N \n", + "127839 EDP Watch 2023 \\N \\N \n", + "263196 The Simonetta Lein Show 2020 2026 \\N \n", + "164455 A Dog and a Plane 2026 \\N \\N \n", + "156259 Symposium 2023 \\N \\N \n", + "59321 Geografens testamente 2011 2023 28 \n", + "63437 Friday Five Sharp 2015 \\N \\N \n", + "59344 Herne Katha 2018 \\N \\N \n", + "36797 Upanishad Ganga 2012 2013 \\N \n", + "\n", + " genres title_key averageRating \\\n", + "113321 Adventure dita ot 9.8 \n", + "10372 Fantasy,Horror,Reality-TV ungeon asters 9.8 \n", + "127839 Crime atch 9.7 \n", + "263196 Talk-Show he imonetta ein how 9.7 \n", + "164455 Comedy,Romance og and a lane 9.7 \n", + "156259 Talk-Show ymposium 9.6 \n", + "59321 Adventure,History eografens testamente 9.6 \n", + "63437 Comedy riday ive harp 9.6 \n", + "59344 Documentary,Short erne atha 9.6 \n", + "36797 Drama,History,Short panishad anga 9.6 \n", + "\n", + " numVotes all_akas \\\n", + "113321 1344.0 odbita pot \n", + "10372 115.0 d&d: dungeon masters \n", + "127839 106.0 edp watch \n", + "263196 810.0 the simonetta lein show \n", + "164455 551.0 a dog and a plane \n", + "156259 127.0 symposium \n", + "59321 1143.0 the geographers last will | geografens testamente \n", + "63437 4589.0 petak pet | friday five sharp \n", + "59344 413.0 herne katha \n", + "36797 1359.0 upanishad ganga \n", + "\n", + " cast \\\n", + "113321 Anze Sever | Bit Sever \n", + "10372 Mayanna Berrin | Devora Wilde | Neil Newbon | ... \n", + "127839 Alex Rosen | Skeeter Jean | Demarcus Cousins I... \n", + "263196 Gabriela Gonzalez | Kevin Harrington | Julian ... \n", + "164455 Oabnithi Wiwattanawarang | Pompam Niti Chaichi... \n", + "156259 Niko Svanidze \n", + "59321 Judith Buchan | Lena Granhagen | Lakshman Mend... \n", + "63437 Kitodar Todorov | Tedi Dinh | Vladislav Petrov... \n", + "59344 Kamal Kumar | Bidhya Chapagain \n", + "36797 Rasika Dugal | Zakir Hussain | Sandeep Mohan |... \n", + "\n", + " directors writers \n", + "113321 nm7689797 nm7689797 \n", + "10372 nm0671741 \\N \n", + "127839 nm15017595 nm15017595 \n", + "263196 \\N \\N \n", + "164455 nm8797158 \\N \n", + "156259 nm16438483 nm16438483 \n", + "59321 nm1072502 nm1072502,nm2050223,nm6813238 \n", + "63437 nm5663366 nm5663366,nm11544010,nm1242398,nm9909867 \n", + "59344 nm9678594,nm9678593 nm9678593,nm9678594 \n", + "36797 nm1363374 nm1363374 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "# Top IMDb shows by rating\n", @@ -75,10 +1402,417 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "572cc4aa", "metadata": {}, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnamenumber_of_seasonsnumber_of_episodesoriginal_languagevote_countvote_averageoverviewadultbackdrop_path...taglinegenrescreated_bylanguagesnetworksorigin_countryspoken_languagesproduction_companiesproduction_countriesepisode_run_time
177163770The Late Show with Stephen Colbert91419en2056.495Stephen Colbert brings his signature satire an...False/gMMnf8VRg3Z98WaFmOLr9Jk8pIs.jpg...NaNComedy, TalkJon Stewart, Stephen Colbert, Tom Purcell, Chr...enCBSUSEnglishSpartina Productions, CBS StudiosUnited States of America41
3035215803Batang Quiapo2178tl997.030A young man rises to be one of the biggest out...False/jIV5weV19wH02rnuWyMtYI4dYC8.jpg...NaNAction & Adventure, Comedy, DramaNaNtlTV5, Kapamilya ChannelPHNaNABS-CBN Entertainment, Dreamscape Entertainmen...Philippines0
228594722Tagesschau7220839de1457.500German daily news program, the oldest still ex...False/jWXrQstj7p3Wl5MfYWY6IHqRpDb.jpg...NaNNewsNaNdeARDDEDeutschNDRGermany15
359314981The Late Late Show with Craig Ferguson112057en777.065The Late Late Show with Craig Ferguson is an A...False/m0bV3qBiJBBlpFaaKjwHo13MVjm.jpg...NaNComedy, TalkNaNenCBSUSEnglishNaNUnited States of America60
45652261The Tonight Show Starring Johnny Carson312924en517.800The Tonight Show Starring Johnny Carson is a t...False/qFfWFwfaEHzDLWLuttWiYq7Poy2.jpg...NaNTalkSteve Allen, Sylvester WeaverenNBCUSEnglishNBC Productions, Carson ProductionsUnited States of America60
465181329Chronicles of the Sun51252fr497.510NaNFalse/rj3jBAZwPiOgkwAy1205MAgLahj.jpg...NaNSoapNaNfrFrance 2FRFrançaisFrance Télévisions, Epeios Productions, France...France26
160059941The Tonight Show Starring Jimmy Fallon111233en2346.038After Jay Leno's second retirement from the pr...False/xl1wGwaPZInJo1JAnpKqnFozWBE.jpg...Tonight's just getting started.Comedy, TalkJimmy FallonenNBCUSEnglishBroadway Video, Universal Television, Electric...United States of America45
7314244643El amor no tiene receta191es238.300Paz Roble, a kind, hard-working and honest wom...False/bIhmqQNXcyWRzH153d3jaCbLTy3.jpg...NaNAction & Adventure, Family, Drama, Soap, Comed...Juan Osorio Ortiz, Pablo Ferrer García-Travesí...esUnivision, Las Estrellas, ViXMX, USEspañolTelevisaUnivision Mexico, TelevisaMexico50
8641225660Pira-Pirasong Paraiso278tl177.000A con artist takes on the job of pretending to...False/2N4LXvTkUwPRkbvyzdmzvtnCHgR.jpg...NaNNaNNaNen, tlTV5, Kapamilya ChannelPHEnglishDreamscape Entertainment TelevisionPhilippines0
721791759Come Home Love: Lo and Behold12107cn234.565Hung Sue Gan starting from the bottom, establi...False/ohJTnu93hJ0Uonl86Wn3mOSlWXN.jpg...NaNFamily, Comedy, DramaNaNcnTVB JadeHK广州话 / 廣州話TVBHong Kong22
\n", + "

10 rows × 29 columns

\n", + "
" + ], + "text/plain": [ + " id name number_of_seasons \\\n", + "1771 63770 The Late Show with Stephen Colbert 9 \n", + "3035 215803 Batang Quiapo 2 \n", + "2285 94722 Tagesschau 72 \n", + "3593 14981 The Late Late Show with Craig Ferguson 11 \n", + "4565 2261 The Tonight Show Starring Johnny Carson 31 \n", + "4651 81329 Chronicles of the Sun 5 \n", + "1600 59941 The Tonight Show Starring Jimmy Fallon 11 \n", + "7314 244643 El amor no tiene receta 1 \n", + "8641 225660 Pira-Pirasong Paraiso 2 \n", + "7217 91759 Come Home Love: Lo and Behold 1 \n", + "\n", + " number_of_episodes original_language vote_count vote_average \\\n", + "1771 1419 en 205 6.495 \n", + "3035 178 tl 99 7.030 \n", + "2285 20839 de 145 7.500 \n", + "3593 2057 en 77 7.065 \n", + "4565 2924 en 51 7.800 \n", + "4651 1252 fr 49 7.510 \n", + "1600 1233 en 234 6.038 \n", + "7314 91 es 23 8.300 \n", + "8641 78 tl 17 7.000 \n", + "7217 2107 cn 23 4.565 \n", + "\n", + " overview adult \\\n", + "1771 Stephen Colbert brings his signature satire an... False \n", + "3035 A young man rises to be one of the biggest out... False \n", + "2285 German daily news program, the oldest still ex... False \n", + "3593 The Late Late Show with Craig Ferguson is an A... False \n", + "4565 The Tonight Show Starring Johnny Carson is a t... False \n", + "4651 NaN False \n", + "1600 After Jay Leno's second retirement from the pr... False \n", + "7314 Paz Roble, a kind, hard-working and honest wom... False \n", + "8641 A con artist takes on the job of pretending to... False \n", + "7217 Hung Sue Gan starting from the bottom, establi... False \n", + "\n", + " backdrop_path ... tagline \\\n", + "1771 /gMMnf8VRg3Z98WaFmOLr9Jk8pIs.jpg ... NaN \n", + "3035 /jIV5weV19wH02rnuWyMtYI4dYC8.jpg ... NaN \n", + "2285 /jWXrQstj7p3Wl5MfYWY6IHqRpDb.jpg ... NaN \n", + "3593 /m0bV3qBiJBBlpFaaKjwHo13MVjm.jpg ... NaN \n", + "4565 /qFfWFwfaEHzDLWLuttWiYq7Poy2.jpg ... NaN \n", + "4651 /rj3jBAZwPiOgkwAy1205MAgLahj.jpg ... NaN \n", + "1600 /xl1wGwaPZInJo1JAnpKqnFozWBE.jpg ... Tonight's just getting started. \n", + "7314 /bIhmqQNXcyWRzH153d3jaCbLTy3.jpg ... NaN \n", + "8641 /2N4LXvTkUwPRkbvyzdmzvtnCHgR.jpg ... NaN \n", + "7217 /ohJTnu93hJ0Uonl86Wn3mOSlWXN.jpg ... NaN \n", + "\n", + " genres \\\n", + "1771 Comedy, Talk \n", + "3035 Action & Adventure, Comedy, Drama \n", + "2285 News \n", + "3593 Comedy, Talk \n", + "4565 Talk \n", + "4651 Soap \n", + "1600 Comedy, Talk \n", + "7314 Action & Adventure, Family, Drama, Soap, Comed... \n", + "8641 NaN \n", + "7217 Family, Comedy, Drama \n", + "\n", + " created_by languages \\\n", + "1771 Jon Stewart, Stephen Colbert, Tom Purcell, Chr... en \n", + "3035 NaN tl \n", + "2285 NaN de \n", + "3593 NaN en \n", + "4565 Steve Allen, Sylvester Weaver en \n", + "4651 NaN fr \n", + "1600 Jimmy Fallon en \n", + "7314 Juan Osorio Ortiz, Pablo Ferrer García-Travesí... es \n", + "8641 NaN en, tl \n", + "7217 NaN cn \n", + "\n", + " networks origin_country spoken_languages \\\n", + "1771 CBS US English \n", + "3035 TV5, Kapamilya Channel PH NaN \n", + "2285 ARD DE Deutsch \n", + "3593 CBS US English \n", + "4565 NBC US English \n", + "4651 France 2 FR Français \n", + "1600 NBC US English \n", + "7314 Univision, Las Estrellas, ViX MX, US Español \n", + "8641 TV5, Kapamilya Channel PH English \n", + "7217 TVB Jade HK 广州话 / 廣州話 \n", + "\n", + " production_companies \\\n", + "1771 Spartina Productions, CBS Studios \n", + "3035 ABS-CBN Entertainment, Dreamscape Entertainmen... \n", + "2285 NDR \n", + "3593 NaN \n", + "4565 NBC Productions, Carson Productions \n", + "4651 France Télévisions, Epeios Productions, France... \n", + "1600 Broadway Video, Universal Television, Electric... \n", + "7314 TelevisaUnivision Mexico, Televisa \n", + "8641 Dreamscape Entertainment Television \n", + "7217 TVB \n", + "\n", + " production_countries episode_run_time \n", + "1771 United States of America 41 \n", + "3035 Philippines 0 \n", + "2285 Germany 15 \n", + "3593 United States of America 60 \n", + "4565 United States of America 60 \n", + "4651 France 26 \n", + "1600 United States of America 45 \n", + "7314 Mexico 50 \n", + "8641 Philippines 0 \n", + "7217 Hong Kong 22 \n", + "\n", + "[10 rows x 29 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "# Top TMDb shows by popularity\n", @@ -96,10 +1830,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "d4c3643c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "count 6.910000e+02\n", + "mean 6.919165e+07\n", + "std 1.879555e+08\n", + "min 1.130000e+06\n", + "25% 8.930000e+06\n", + "50% 2.028000e+07\n", + "75% 5.560000e+07\n", + "max 2.874260e+09\n", + "Name: netflix_viewing_hours, dtype: float64" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "netflix[\"netflix_viewing_hours\"].describe()\n" @@ -107,10 +1860,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "a2af3ec2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "count 48167.000000\n", + "mean 6.851699\n", + "std 1.293658\n", + "min 1.000000\n", + "25% 6.300000\n", + "50% 7.100000\n", + "75% 7.700000\n", + "max 9.800000\n", + "Name: averageRating, dtype: float64" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "imdb[\"averageRating\"].describe()\n" @@ -118,10 +1890,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "9739ec75", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "count 168639.000000\n", + "mean 5.882644\n", + "std 42.023216\n", + "min 0.000000\n", + "25% 0.600000\n", + "50% 0.857000\n", + "75% 2.431500\n", + "max 3707.008000\n", + "Name: popularity, dtype: float64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "tmdb[\"popularity\"].describe()\n" @@ -137,10 +1928,79 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "791fa1d0", "metadata": {}, - "outputs": [], + "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", + "
netflix_titlenetflix_viewing_hours
661Stranger Things2874260000
396Squid Game2289500000
549Manifest1446260000
447Money Heist1170200000
167Bridgerton1108800000
\n", + "
" + ], + "text/plain": [ + " netflix_title netflix_viewing_hours\n", + "661 Stranger Things 2874260000\n", + "396 Squid Game 2289500000\n", + "549 Manifest 1446260000\n", + "447 Money Heist 1170200000\n", + "167 Bridgerton 1108800000" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "netflix.sort_values(\"netflix_viewing_hours\", ascending=False).head(5)[[\"netflix_title\",\"netflix_viewing_hours\"]]\n" @@ -156,10 +2016,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "7cc4e2f8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 Crime,Drama\n", + "1 Documentary\n", + "2 Comedy\n", + "3 Reality-TV\n", + "4 Reality-TV\n", + "Name: genres, dtype: object" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "imdb[\"genres\"].dropna().head()\n" @@ -175,10 +2051,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "de414ec8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "original_language\n", + "en 76304\n", + "zh 14422\n", + "ja 14048\n", + "ko 7820\n", + "de 7712\n", + "fr 7290\n", + "es 5602\n", + "pt 3551\n", + "ru 2963\n", + "nl 2923\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "tmdb[\"original_language\"].value_counts().head(10)\n" @@ -194,10 +2092,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "790b2dc3", "metadata": {}, - "outputs": [], + "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", + "
number_of_seasonspopularity
number_of_seasons1.0000000.189827
popularity0.1898271.000000
\n", + "
" + ], + "text/plain": [ + " number_of_seasons popularity\n", + "number_of_seasons 1.000000 0.189827\n", + "popularity 0.189827 1.000000" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "tmdb[[\"number_of_seasons\",\"popularity\"]].corr()\n" @@ -213,10 +2162,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "d35c689f", "metadata": {}, - "outputs": [], + "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", + "
netflix_weeksnetflix_viewing_hours
netflix_weeks1.0000000.634786
netflix_viewing_hours0.6347861.000000
\n", + "
" + ], + "text/plain": [ + " netflix_weeks netflix_viewing_hours\n", + "netflix_weeks 1.000000 0.634786\n", + "netflix_viewing_hours 0.634786 1.000000" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "netflix[[\"netflix_weeks\",\"netflix_viewing_hours\"]].corr()\n" @@ -232,10 +2232,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "7ffc7fa4", "metadata": {}, - "outputs": [], + "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", + "
cast_countaverageRating
cast_count1.00000-0.07716
averageRating-0.077161.00000
\n", + "
" + ], + "text/plain": [ + " cast_count averageRating\n", + "cast_count 1.00000 -0.07716\n", + "averageRating -0.07716 1.00000" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "imdb[\"cast_count\"] = imdb[\"cast\"].fillna(\"\").apply(lambda x: len(x.split(\"|\")))\n", @@ -268,10 +2319,277 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "b4f3f532", "metadata": {}, - "outputs": [], + "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", + "
keynetflix_viewing_hoursnetflix_weeksnetflix_year_hintnetflix_titlenetflix_clean_titletmdb_titletmdb_popularitytmdb_vote_averagetmdb_vote_countimdb_titleimdb_averageRatingimdb_numVoteshit_score
661st_th2874260000132022Stranger Thingsstranger thingsStranger Things185.7118.62416161.0Stranger ThingsNaNNaN1.000000
396ga_sq2289500000202021Squid Gamesquid gameSquid Game115.5877.83113053.0Squid Game!NaNNaN0.796553
549ma1446260000162021ManifestmanifestManifest111.4117.7281312.0ManifestNaNNaN0.503176
447he_mo1170200000142021Money Heistmoney heistMoney Heist96.3548.25717836.0Money Heist8.2612436.00.407131
167br1108800000112021BridgertonbridgertonBridgerton71.3088.1432045.0Bridgerton4.157.00.385769
103ar_ca_co793740000252022Café con aroma de mujercaf con aroma de mujerCafé con Aroma de Mujer20.7107.500382.0Café con aroma de mujer8.6106.00.276155
690yo77748000082021Youyou続・アタッカーYOU 金メダルへの道7.1012.5002.0YouNaNNaN0.270497
686wi75735000062021WindfallwindfallWindfall3.8130.0000.0WindfallNaNNaN0.263494
607oz751600000132022OzarkozarkOzark68.0068.2441968.0Ozark8.4394904.00.261493
69al_ar_us659510000112022All of Us Are Deadall of us are deadAll of Us Are Dead107.1088.3543335.0All of Us Are Dead7.692709.00.229454
\n", + "
" + ], + "text/plain": [ + " key netflix_viewing_hours netflix_weeks netflix_year_hint \\\n", + "661 st_th 2874260000 13 2022 \n", + "396 ga_sq 2289500000 20 2021 \n", + "549 ma 1446260000 16 2021 \n", + "447 he_mo 1170200000 14 2021 \n", + "167 br 1108800000 11 2021 \n", + "103 ar_ca_co 793740000 25 2022 \n", + "690 yo 777480000 8 2021 \n", + "686 wi 757350000 6 2021 \n", + "607 oz 751600000 13 2022 \n", + "69 al_ar_us 659510000 11 2022 \n", + "\n", + " netflix_title netflix_clean_title tmdb_title \\\n", + "661 Stranger Things stranger things Stranger Things \n", + "396 Squid Game squid game Squid Game \n", + "549 Manifest manifest Manifest \n", + "447 Money Heist money heist Money Heist \n", + "167 Bridgerton bridgerton Bridgerton \n", + "103 Café con aroma de mujer caf con aroma de mujer Café con Aroma de Mujer \n", + "690 You you 続・アタッカーYOU 金メダルへの道 \n", + "686 Windfall windfall Windfall \n", + "607 Ozark ozark Ozark \n", + "69 All of Us Are Dead all of us are dead All of Us Are Dead \n", + "\n", + " tmdb_popularity tmdb_vote_average tmdb_vote_count \\\n", + "661 185.711 8.624 16161.0 \n", + "396 115.587 7.831 13053.0 \n", + "549 111.411 7.728 1312.0 \n", + "447 96.354 8.257 17836.0 \n", + "167 71.308 8.143 2045.0 \n", + "103 20.710 7.500 382.0 \n", + "690 7.101 2.500 2.0 \n", + "686 3.813 0.000 0.0 \n", + "607 68.006 8.244 1968.0 \n", + "69 107.108 8.354 3335.0 \n", + "\n", + " imdb_title imdb_averageRating imdb_numVotes hit_score \n", + "661 Stranger Things NaN NaN 1.000000 \n", + "396 Squid Game! NaN NaN 0.796553 \n", + "549 Manifest NaN NaN 0.503176 \n", + "447 Money Heist 8.2 612436.0 0.407131 \n", + "167 Bridgerton 4.1 57.0 0.385769 \n", + "103 Café con aroma de mujer 8.6 106.0 0.276155 \n", + "690 You NaN NaN 0.270497 \n", + "686 Windfall NaN NaN 0.263494 \n", + "607 Ozark 8.4 394904.0 0.261493 \n", + "69 All of Us Are Dead 7.6 92709.0 0.229454 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "df = netflix.copy()\n", @@ -301,11 +2619,12115 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "8532b959", + "metadata": {}, + "source": [ + "## our analysisy\n", + "Data table attribute summary table" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "2d84ebc6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "================================================================================\n", + "🔍 原始資料集維度(Columns)與欄位身家調查\n", + "================================================================================\n", + "\n", + "📌 1. Netflix 複合資料表 (netflix.titles.composite) — 共 691 列, 13 個欄位\n", + "--------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
資料型態非空值數量缺失值數量缺失值比例數值範例
keyobject69100.0%10
netflix_viewing_hoursint6469100.0%26580000
netflix_weeksint6469100.0%2
netflix_year_hintint6469100.0%2021
netflix_titleobject69100.0%The 100
netflix_clean_titleobject69010.14%the 100
tmdb_titleobject39429742.98%The 100
tmdb_popularityfloat6439429742.98%127.224
tmdb_vote_averagefloat6439429742.98%7.916
tmdb_vote_countfloat6439429742.98%7666.0
imdb_titleobject664273.91%The 100
imdb_averageRatingfloat6446322833.0%9.4
imdb_numVotesfloat6446322833.0%12.0
\n", + "
" + ], + "text/plain": [ + " 資料型態 非空值數量 缺失值數量 缺失值比例 數值範例\n", + "key object 691 0 0.0% 10\n", + "netflix_viewing_hours int64 691 0 0.0% 26580000\n", + "netflix_weeks int64 691 0 0.0% 2\n", + "netflix_year_hint int64 691 0 0.0% 2021\n", + "netflix_title object 691 0 0.0% The 100\n", + "netflix_clean_title object 690 1 0.14% the 100\n", + "tmdb_title object 394 297 42.98% The 100\n", + "tmdb_popularity float64 394 297 42.98% 127.224\n", + "tmdb_vote_average float64 394 297 42.98% 7.916\n", + "tmdb_vote_count float64 394 297 42.98% 7666.0\n", + "imdb_title object 664 27 3.91% The 100\n", + "imdb_averageRating float64 463 228 33.0% 9.4\n", + "imdb_numVotes float64 463 228 33.0% 12.0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "📌 2. TMDb 原始資料表 (tmdb.titles.v3) — 共 168639 列, 29 個欄位\n", + "--------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
資料型態非空值數量缺失值數量缺失值比例數值範例
idint6416863900.0%1399
nameobject16863450.0%Game of Thrones
number_of_seasonsint6416863900.0%8
number_of_episodesint6416863900.0%73
original_languageobject16863900.0%en
vote_countint6416863900.0%21857
vote_averagefloat6416863900.0%8.442
overviewobject933337530644.66%Seven noble families fight for control of the ...
adultbool16863900.0%False
backdrop_pathobject777809085953.88%/2OMB0ynKlyIenMJWI2Dy9IWT4c.jpg
first_air_dateobject1369033173618.82%2011-04-17
last_air_dateobject1387352990417.73%2019-05-19
homepageobject5099811764169.76%http://www.hbo.com/game-of-thrones
in_productionbool16863900.0%False
original_nameobject16863450.0%Game of Thrones
popularityfloat6416863900.0%1083.917
poster_pathobject1087375990235.52%/1XS1oqL89opfnbLl8WnZY1O1uJx.jpg
typeobject16863900.0%Scripted
statusobject16863900.0%Ended
taglineobject533016330996.84%Winter Is Coming
genresobject997136892640.87%Sci-Fi & Fantasy, Drama, Action & Adventure
created_byobject3649613214378.36%David Benioff, D.B. Weiss
languagesobject1100505858934.74%en
networksobject975897105042.13%HBO
origin_countryobject1376093103018.4%US
spoken_languagesobject1092805935935.2%English
production_companiesobject5934210929764.81%Revolution Sun Studios, Television 360, Genera...
production_countriesobject775119112854.04%United Kingdom, United States of America
episode_run_timeint6416863900.0%0
\n", + "
" + ], + "text/plain": [ + " 資料型態 非空值數量 缺失值數量 缺失值比例 \\\n", + "id int64 168639 0 0.0% \n", + "name object 168634 5 0.0% \n", + "number_of_seasons int64 168639 0 0.0% \n", + "number_of_episodes int64 168639 0 0.0% \n", + "original_language object 168639 0 0.0% \n", + "vote_count int64 168639 0 0.0% \n", + "vote_average float64 168639 0 0.0% \n", + "overview object 93333 75306 44.66% \n", + "adult bool 168639 0 0.0% \n", + "backdrop_path object 77780 90859 53.88% \n", + "first_air_date object 136903 31736 18.82% \n", + "last_air_date object 138735 29904 17.73% \n", + "homepage object 50998 117641 69.76% \n", + "in_production bool 168639 0 0.0% \n", + "original_name object 168634 5 0.0% \n", + "popularity float64 168639 0 0.0% \n", + "poster_path object 108737 59902 35.52% \n", + "type object 168639 0 0.0% \n", + "status object 168639 0 0.0% \n", + "tagline object 5330 163309 96.84% \n", + "genres object 99713 68926 40.87% \n", + "created_by object 36496 132143 78.36% \n", + "languages object 110050 58589 34.74% \n", + "networks object 97589 71050 42.13% \n", + "origin_country object 137609 31030 18.4% \n", + "spoken_languages object 109280 59359 35.2% \n", + "production_companies object 59342 109297 64.81% \n", + "production_countries object 77511 91128 54.04% \n", + "episode_run_time int64 168639 0 0.0% \n", + "\n", + " 數值範例 \n", + "id 1399 \n", + "name Game of Thrones \n", + "number_of_seasons 8 \n", + "number_of_episodes 73 \n", + "original_language en \n", + "vote_count 21857 \n", + "vote_average 8.442 \n", + "overview Seven noble families fight for control of the ... \n", + "adult False \n", + "backdrop_path /2OMB0ynKlyIenMJWI2Dy9IWT4c.jpg \n", + "first_air_date 2011-04-17 \n", + "last_air_date 2019-05-19 \n", + "homepage http://www.hbo.com/game-of-thrones \n", + "in_production False \n", + "original_name Game of Thrones \n", + "popularity 1083.917 \n", + "poster_path /1XS1oqL89opfnbLl8WnZY1O1uJx.jpg \n", + "type Scripted \n", + "status Ended \n", + "tagline Winter Is Coming \n", + "genres Sci-Fi & Fantasy, Drama, Action & Adventure \n", + "created_by David Benioff, D.B. Weiss \n", + "languages en \n", + "networks HBO \n", + "origin_country US \n", + "spoken_languages English \n", + "production_companies Revolution Sun Studios, Television 360, Genera... \n", + "production_countries United Kingdom, United States of America \n", + "episode_run_time 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "📌 3. IMDb 原始資料表 (imdb.titles.composite) — 共 299097 列, 16 個欄位\n", + "--------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
資料型態非空值數量缺失值數量缺失值比例數值範例
tconstobject29909700.0%tt38876090
titleTypeobject29909700.0%tvSeries
primaryTitleobject29909610.0%Gomorrah: The Origins
originalTitleobject29909610.0%Gomorra: Le origini
startYearobject29909700.0%2026
endYearobject29909700.0%\\N
runtimeMinutesobject29909700.0%\\N
genresobject29909700.0%Crime,Drama
title_keyobject2981219760.33%omorrah he rigins
averageRatingfloat644816725093083.9%7.2
numVotesfloat644816725093083.9%1019.0
all_akasobject299043540.02%gomorra: le origini | gomorrah: a kezdetek | g...
castobject2552414385614.66%Flavio Furno | Biagio Forestieri | Luca Lubran...
directorsobject29909700.0%nm3634704,nm4574756
writersobject29909700.0%nm0006938,nm1288339,nm2500207
cast_countint6429909700.0%13
\n", + "
" + ], + "text/plain": [ + " 資料型態 非空值數量 缺失值數量 缺失值比例 \\\n", + "tconst object 299097 0 0.0% \n", + "titleType object 299097 0 0.0% \n", + "primaryTitle object 299096 1 0.0% \n", + "originalTitle object 299096 1 0.0% \n", + "startYear object 299097 0 0.0% \n", + "endYear object 299097 0 0.0% \n", + "runtimeMinutes object 299097 0 0.0% \n", + "genres object 299097 0 0.0% \n", + "title_key object 298121 976 0.33% \n", + "averageRating float64 48167 250930 83.9% \n", + "numVotes float64 48167 250930 83.9% \n", + "all_akas object 299043 54 0.02% \n", + "cast object 255241 43856 14.66% \n", + "directors object 299097 0 0.0% \n", + "writers object 299097 0 0.0% \n", + "cast_count int64 299097 0 0.0% \n", + "\n", + " 數值範例 \n", + "tconst tt38876090 \n", + "titleType tvSeries \n", + "primaryTitle Gomorrah: The Origins \n", + "originalTitle Gomorra: Le origini \n", + "startYear 2026 \n", + "endYear \\N \n", + "runtimeMinutes \\N \n", + "genres Crime,Drama \n", + "title_key omorrah he rigins \n", + "averageRating 7.2 \n", + "numVotes 1019.0 \n", + "all_akas gomorra: le origini | gomorrah: a kezdetek | g... \n", + "cast Flavio Furno | Biagio Forestieri | Luca Lubran... \n", + "directors nm3634704,nm4574756 \n", + "writers nm0006938,nm1288339,nm2500207 \n", + "cast_count 13 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# 1. 載入你本地最原始的 composite 與 v3 資料集\n", + "# (這三個是你在前面步驟中讀取過的原始 DataFrame)\n", + "print(\"=\" * 80)\n", + "print(\"🔍 原始資料集維度(Columns)與欄位身家調查\")\n", + "print(\"=\" * 80)\n", + "\n", + "# ------------------------------------------\n", + "# A. Netflix 複合資料集 (包含已匹配的 IMDb 資訊)\n", + "# ------------------------------------------\n", + "print(f\"\\n📌 1. Netflix 複合資料表 (netflix.titles.composite) — 共 {netflix.shape[0]} 列, {netflix.shape[1]} 個欄位\")\n", + "print(\"-\" * 80)\n", + "# 建立一個清晰的欄位結構表\n", + "netflix_info = pd.DataFrame({\n", + " \"資料型態\": netflix.dtypes,\n", + " \"非空值數量\": netflix.notna().sum(),\n", + " \"缺失值數量\": netflix.isna().sum(),\n", + " \"缺失值比例\": (netflix.isna().mean() * 100).round(2).astype(str) + \"%\",\n", + " \"數值範例\": netflix.iloc[0].values\n", + "})\n", + "display(netflix_info)\n", + "\n", + "# ------------------------------------------\n", + "# B. TMDb 原始資料集 (tmdb.titles.v3)\n", + "# ------------------------------------------\n", + "print(f\"\\n📌 2. TMDb 原始資料表 (tmdb.titles.v3) — 共 {tmdb.shape[0]} 列, {tmdb.shape[1]} 個欄位\")\n", + "print(\"-\" * 80)\n", + "tmdb_info = pd.DataFrame({\n", + " \"資料型態\": tmdb.dtypes,\n", + " \"非空值數量\": tmdb.notna().sum(),\n", + " \"缺失值數量\": tmdb.isna().sum(),\n", + " \"缺失值比例\": (tmdb.isna().mean() * 100).round(2).astype(str) + \"%\",\n", + " \"數值範例\": tmdb.iloc[0].values\n", + "})\n", + "display(tmdb_info)\n", + "\n", + "# ------------------------------------------\n", + "# C. IMDb 原始資料集 (imdb.titles.composite)\n", + "# ------------------------------------------\n", + "print(f\"\\n📌 3. IMDb 原始資料表 (imdb.titles.composite) — 共 {imdb.shape[0]} 列, {imdb.shape[1]} 個欄位\")\n", + "print(\"-\" * 80)\n", + "imdb_info = pd.DataFrame({\n", + " \"資料型態\": imdb.dtypes,\n", + " \"非空值數量\": imdb.notna().sum(),\n", + " \"缺失值數量\": imdb.isna().sum(),\n", + " \"缺失值比例\": (imdb.isna().mean() * 100).round(2).astype(str) + \"%\",\n", + " \"數值範例\": imdb.iloc[0].values\n", + "})\n", + "display(imdb_info)" + ] + }, + { + "cell_type": "markdown", + "id": "58a83a66", + "metadata": {}, + "source": [ + "## our analysis\n", + "Data table attribute summary table; Threshold settings; Comparison with other data." + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "02788717", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Distribution diagnostics\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
VariableCountMeanMedianSkewness95th percentile
0TMDb popularity1683.874000e+0114.637.731.285900e+02
1Netflix viewing hours1681.112935e+0834485000.003.285.236960e+08
2Binge velocity1682.366224e+0715963125.002.156.571730e+07
3IMDb vote count1682.760432e+043927.506.169.204995e+04
\n", + "
" + ], + "text/plain": [ + " Variable Count Mean Median Skewness 95th percentile\n", + "0 TMDb popularity 168 3.874000e+01 14.63 7.73 1.285900e+02\n", + "1 Netflix viewing hours 168 1.112935e+08 34485000.00 3.28 5.236960e+08\n", + "2 Binge velocity 168 2.366224e+07 15963125.00 2.15 6.571730e+07\n", + "3 IMDb vote count 168 2.760432e+04 3927.50 6.16 9.204995e+04" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
StageTitlesCoverage (%)
0Netflix composite rows691100.0
1Exact IMDb title match64092.6
2Exact TMDb title match29342.4
3Exact match to both28541.2
4Narrative titles used16824.3
\n", + "
" + ], + "text/plain": [ + " Stage Titles Coverage (%)\n", + "0 Netflix composite rows 691 100.0\n", + "1 Exact IMDb title match 640 92.6\n", + "2 Exact TMDb title match 293 42.4\n", + "3 Exact match to both 285 41.2\n", + "4 Narrative titles used 168 24.3" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3QAAAHQCAYAAADpgihqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWMBJREFUeJzt3Qm8FXPcx/HfbSMkQqEsiVZpUyJLkVDZsiSF7HsSypatUEmyZReRLbuQFktEVKISSpukotBC+z3P6/t/njnP3HPPdvfzv33er9d91T0zZ85/Zu6Zme/8l8mKRCIRAwAAAAB4p0xJFwAAAAAAkD8EOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAAAAA8BSBDgAAAAA8RaADAAAAAE8R6AAAAADAUwQ6ACgiS5cutUceecTOO+8869ixo/v3wQcftBUrVrDNtwLz5s2z/v375/l9p59+uj322GMp59Hflu++/PJLO/bYY23hwoUJ51m3bp3169fPTjzxRDvllFPs119/LbL1P+mkk+yZZ56xTFFU5Sktfz8+7lOgKJQrkqUCwFbugw8+sFtuucWOOOIIu+CCC2z33Xe33377zZ588kkbOXKkPfXUU9aoUaOSLiaKkC6Y586dm+f3LV682P7666+k8zzwwAO2/fbbm+/+++8/F9A2btyYcJ6XXnrJfWe0Pffee2+rXr16ka2/tv3ff/9tmaKoylNa/n583KdAUSDQAUAhmzFjhvXu3dsuvPBCu/baa6Ov16lTx1q1amWdO3e2Hj162Lhx46xChQpsf+TZXnvttdVsteXLl9uOO+5obdu23SrXvyiw/YDShUAHAIXs4Ycftp122smuvPLKXNO23XZbu/76611TM901rlatmp166qmuOdnMmTNt/vz51rp162gQ/Oqrr+zll192TdJ22GEHd1HbrVu3aBBcsmSJq/XTezdt2mQ1a9Z0gVHBMZDOPImk+95U5VSzp5NPPtmF3IC2we23326PP/641apVK+l20LyqqVm0aJHttttu1qlTJ9eMNWzy5Mn2wgsvuDJUrlzZjjvuOFeGsmXLJm16pvVR89hPP/3UNm/ebIcccohdc8019vHHH9uoUaNs9erVrjZVZdl5552j733//fftvffeczWv5cuXt4YNG9rll19ue+yxh1133XVuedpmalKo2lqtT7rrohor1eJ+/vnn7u9Ey1aZ9PcSlFvLu+qqq6K/d+nSxc2rGwWq+VKZNV21w4G3337b3nzzTbdOtWvXtjPPPNNuuukmGzhwoDVt2jThdkq2rnn5fH32W2+95ebT9IMOOsiSOfvss23OnDn277//uu2ov6s+ffrke/1TrUe6Cmt75KU8qlXT3+Trr79u22yzTfR1/Z3dc889Nnz4cFd7mc53Nnb75fcYke770tle+fke6n2nnXaaLVu2zCZOnOi+60ceeaRdfPHFVrFixYTlzs+xAshoEQBAoVm3bl2kXr16kT59+qT9nmbNmkXq1q0befbZZyNTpkyJfPLJJ+71xx57LFK/fv3Iww8/HJk5c2bk7bffjrRs2TLSvXv3yKZNmyJr1qyJtGnTJnLllVdGvv/++8iPP/4Yue+++yJ16tSJTJ8+3S0jnXkSSfe9qcopjRs3du8NGzduXKR27dqR2bNnJ90Or776qtumDzzwgFv+G2+8ETnooIMiw4cPjy7r9ddfd+/t16+fm2fMmDGRVq1aRXr06JF0HVu0aBFp1KhRpG/fvq4cb775pltO27ZtI+ecc05k6tSpkQkTJrj5rrnmmuj7hg0bFmnatGnk3XffjcyZMyfy6aefRk488UT3I8uWLYtccsklkXbt2kUWLlwYWbt2bdrros/SNu7Vq5fb7pMmTXLLad++fSQ7Ozs6z5133pnjPfrp3bu3e8+XX37p3nPyySdH59H+OfDAAyPPPfec++whQ4ZEGjRo4PaBPiORVOua7udrnRs2bBh58cUX3efr70HbQp//888/x/3sxYsXR2688cZI8+bN3Xb8888/873+6axHvL/TotoeeS3PV1995bbV+++/n6M8V199deTUU0/N03c2vP3ye4xI933pbq/8fA/1u7bRueee644ZY8eOjRx++OGRs88+O7Jly5a4+zS/xwogkxHoAKAQLViwwF106eI5XQoywQVZYOnSpe5ie9CgQTle14Whlj9q1KjI119/7f4/efLk6HRd8OvCd9WqVe73dOZJJJ33plPOvAS62O2wfv36SJMmTSK33HJLjtcVRnQxFwRbXTDqwjZMF45avv5NRMsIByXp3LmzW6eVK1dGXxs4cGDk4IMPdv/fsGGDW59HHnkkx7JGjx7tPu+XX35xv/fs2TPSoUOHPK1LojK99dZbOZYdL9CEL5BFwVrv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qFEj++OPP+zff/+1++67zw499NBc869fv94uueQSW716tQuAgc2bN9tNN91kH3/8sdWvX9/mzJljNWvWtGHDhlmVKlWKv4ZOK6ZCJvpJlVqL09q1a23Dhg3u/9nZ2a58a9asSTq/5tE6ht8T/Oi9GzdujPte7SjNk1/J3r9p06YCLbukFXTbAAAAAMXt+eeftxdeeCH68+GHH1qrVq2sZ8+eLtjFGjx4sM2fPz/X64888oirtXvrrbfccsaMGePef/PNN+e7bAUKdCtWrLDmzZvbkUceaUcffXSunzvuuMOKy/jx45NWWZ500kn28MMPu///8ssvrtwHH3ywzZs3L26YO+yww9w8f//9t3vt999/d78fddRRbt1at25tjRs3dv9//PHHXVAJqPpU84Zfy0v5p0yZ4pYbBMbwtAkTJrhlZ5JU2z4s2DZBuAYAAAAy2ZYtW+zpp5+2c88919XOSZkyZezyyy+3Zs2aueaTYV9++aW98sordtBBB+V4XdngxRdftDPPPNP23ntv99rOO+9sV155pX3yySf266+/llwfugEDBtjUqVNz/QwcONCKw3///ec2hNq05sUBBxzg0nW8gLLPPvvEfc+QIUPcuk2bNs1mzpxpt99+uw0fPtz69etXaOVXta0+o0KFCvlet+KS6eUDAAAACkIVF3/++ae1adPGVbh88803NnnyZKtWrZprKlm3bt3ovGqJpiaVF198sTVs2DDHctS8Uq38VCkUFvyuSp2MHRRFNV668A/T73o9lpJrstobbUQ1fwwLmk5qmWqvmq5jjjnGPvroo1yvf/DBB25aKmXLlnU1dgp1SuE//vhjwjInE1v+cLPEdNdNnxE0D01Eyw22ueaNLVeqZcTbN8nKF29fxSs3AAAAkKnm/1/TyUWLFln79u1dqz81kVSLOtXGhd155522yy672BVXXJFrOUuXLnX/7r777jle32233dy/v/32W+YGuqFDh7pmmUq2snz5cheEnnrqqeg8TzzxhLVr184OOeQQV5WpQDVu3LjodNWInX766da0aVNXfanUq+WoCrRDhw5unhtuuMF1VkzX4Ycf7qo2w80u//nnH9ckM7aKNBmVe6eddnJtYMOeeeYZa9mypUvd559/vi1btizXe+OVX38YapaokJRq3b7//ns744wz3HZRlW+PHj3cdknU3FF/hOrMqXJp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urunOqHq94BOnDppnnXWWTleT3edli5dap9++qmdeeaZ0XUMpumu7BdffGFdunSxTJJof8QKtk143QAAZhs2bLD+/fvbueeea1dddZX9+OOPVq9ePffTp08fO+6446xZs2bWu3dv23///W3EiBFWvnx5t+mqVKliN954o3300Ue2884728033+zmv/fee910nZ9XrVpl/fr1s6OOOorNDQBba6B77LHHbOPGjda8efNc0xR6issLL7xgf/31l11zzTW5ps2ZM8f+/fdf9/8FCxa4u5Q6kZUp87+VkZUrV7Ydd9zR3e3UiXCvvfayVq1a5VjGokWLrG/fvm5ddULUuv3zzz/uPUceeaTtsccebr41a9bYkCFD3Mnz0Ucfdc1e5Oeff3bz6nPjhcVYmzdvthtuuMGFHDWrUfl1Io9EIrmm/fDDD27ZmRLoYsuXSrBtFJQJdACQM9DdfffdrkYtTOcdmT59ulWoUMH++OMPu/7666NhTnQM1nlo7Nixrobv2muvdTcbw3QDUjfU0r0BBwAopX3odKK56667rCSpdq1x48Zxp+kuZmDUqFEu0CmchQOnQp8ccsgh9uGHH+YKdO+//76b9vnnn+da/tlnn21t2rSJ/q7wdckll9jll1/uavXyc5LUSVzrFNRw6s5rsI21/PC0TBNbdgBA/uhmo5pOyn///ZfjJqPo5mHQSia2v9wuu+wSvWmm1iPBcgJqlqmwd9hhhxHmAKCUKfQ+dN9//7298sorOZo9zpgxw1599VVX4xX49ddfXXt/9ReYOHFijmmyevVq13REHcPnzp0bff2TTz5xJyZ1Fn/33XcLVNZjjjnGxo0b52qZwhTyjj766LSWsf3227saJ4XE8ePH55im5U6aNMkFPTWjjEe1cNoGwbpNnTrVzfvyyy+798dOi0fbUp+h7amay2TNHbU9N23a5O7Sqnmq3ivLly9309TUM3Z7qIyzZs1ywU0d7LU/E5U9fAGi5amZ7sqVK3OVJTs724VtlUG1kQCA+IYNG2bbbbedHXvssbbnnntGj7Fhwe9qVhmm86f64Om9lSpVsvvvv5/NDAClTKEHuqpVq9rgwYPdCUjUVFG1V7/88otrKiK33Xab61+mgKDO3dddd52ddNJJrrZHFCrUxv/FF1+0CRMmWLdu3Vy/AlEAUd82BReNBFYQBx54oLuTqTKET35q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AAAAPEWgAwAAAABPEegAAAAAwFMEOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAAAAA8BSBDgAAAAA8Va6kCwAAwNZiyZIl9uijj9rXX39tf//9t+211152xhln2Nlnn21lyvzvPdYNGza4eUaPHm1r1661mjVr2iWXXGLt2rWLLuerr76yCy+8MNfyq1evbuPGjSvWdQIAlCwCHQAAxWDVqlV2zjnn2N57722PP/647b777vb555/bzTffbL/88ovdcccdbr6+ffvaxIkT7YorrnAh7sMPP7Srr77aHnzwQTv++OPdPDNnzrRKlSrZpEmTcnxGVlYW+xIAtjLlMuUkd8011yScfvDBB9tVV11VbGXR3dGqVasWy+fl9TO///57e+CBB+ypp56y8uXLF/ryE33es88+G717nFfhz89P+QGgNFDNmWroRo4caXvssYd7rX379jZnzhx74oknrEePHlahQgV77733XJhr0KCB7bjjjnb++efbRx995N4XBLoffvjB6tata+XKZcRpHACwtfeh27hxo2s+0rRpU9esJPbn2GOPLZZyKHQcd9xx7k5pccnrZ/71119uW2VnZxfJ8gv6eak+v6DLAwBfderUyQWxIMwFatSo4Y6Jy5Yts/Xr17v/x9a06QbY6tWro78HgQ4AgIy6tVe7dm077LDDSuzzN2/e7Po0lKbPLIl1yqTPB4BMoVYO8Vo66CaXApuaYu6www7uJuYrr7xiu+22m+233372wQcf2JQpU6JNMhXsfvvtN5s7d66dcsoptmjRItt5553tpJNOcjV7quUDAGw9MirQpaKmeosXL7b77rvPypYt68JCnz59bP/997fLL7/czaOmK2quohOcaodq1arl+iwEd0T//fdfe+mll2z69Om2zTbbWKtWrdxdU7nsssvcv1q+TpLnnXdejs9Xc8Hnn3/efZaaICqotGzZ0i3/zTfftE8++cQqV65s3bt3tzp16kTfl6hM1apVi/uZicoYvhBYsGCBjRo1yjXf0WddfPHF7kIgTHd54y1/3bp1runOjBkz3F3gNm3a2Mknn5y074UuHF5++WX7888/7aijjrLOnTtH50+0vEgkkuvzdcGSbvkBoLSbOnWqC2w6bwTHwLvuussuuOACu+2229yP6Jirn6B2TsfXnXbaye68807Xl+7TTz91/583b549/PDDJbpOAICtsMlluhQSJkyYYCNGjHC/P/300+4kptflp59+stNPP90Fn9NOO811Jle/g6D/nZp2du3a1caMGeP6LRxyyCGuL9fAgQNdENEJVDp06GCHH354rs9Xc0F9/vXXX++C3BFHHOGCyqmnnuruniqwKORp5DE1m0lVpnifmayMYeproeY2et+7775rvXv3zlXeeMvXnV2FQ/XlUFNILX/QoEGuU34yCmb16tWzY445xh555BG7/fbb3evJlpdsm6ZTfgAozebPn+8GO2nevLlde+210fPMmWee6f7fv39/++yzz2zo0KHunBAcp3X+UagbMmSIGyVTwU7nH9XOjR071r777rsSXS8AwFZcQ6dhmtXMJJYu9uvXr++anvTq1cud3DQ6mObXncw999zTzae7lM8995zrixdQqLjlllvc/9955x379ddf7eOPP3YnQFFtkmr9NF+LFi3ca/os1aLFo6B244032qGHHup+10lWtVZBKDzwwAPdMnWXVB3ak5Up3meq1ipRGcN0JzYog8qk33XHNlzLFm/5jz32mAudr7/+um2//fZu2gEHHGDdunVzw2Y3bNgw7nprO6tmTlTbedFFF7mwptHXki0v9vO1bumWHwBKA7Vi0PEtTK0ULr30UtfCRK1P1OJEPy+++KI73uuYqht8aoqpY6+CnwKewl7QAkTTwxo3buz+VesOdWFA0e7T8L/ILOyfzMW+SV9eroszKtCp34BGtIwVBDY599xzbfz48dazZ09r27atqx0LP39HPwpTuvOpE6Zq8IIBOHSSU+AKgpKo2aN+8kJBLaB+C1WqVIlu8KDJjJ4dlE6ZYqVbxnDw0rRNmza5L8l2222XtOzTpk1zISsIX6K7wwqemhYv0GkUtXDtmoKYahw1bHaq5SmEx5Pf8gOAb3TcD1/4L1y40AYMGOBaPVx55ZXu94Bq3nQeCcJaMC04xn7xxRcJzx9qGi9qtv/jjz8W6Trhf4X3HTIP+ydzsW/Sk26faO8GRVFw0kNWv/nmGxeUwlasWOGaBga1Y7qLqROmgoWo/1ph9NNSv7awZMPvpypTrHTLGO8zY+8Ax6PgFG/54QuIWLqQUJ/FgMLctttua//991++lleQ8gOAb3TOCo5vOvbfc889rkm9+oDHDpJy0EEHuWaWOsaq9cK+++5rFStWdOeQoLnl5MmT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jRplb775pnXv3t1uueUWmzt3bgmsEQAA2CoCnZoXHXrooXbTTTflmvbvv/+6aR9//HGxl2vMmDH2448/uv9PnTrVTjjhhCILlsk+KzxN20Hbo7TQ+rRq1aqkiwGUuCeffNJOOeUU10xStW+xRowYYTvttJP16tUr+tphhx1mXbt2tZUrV7rfv/rqK3eD7PTTT4/O06VLF3eT6MsvvyymNQEAAFtdoAuoX4jCTCZQkLzmmmuitUcKUWruVKFChWL9rNhpAEqnTz/91K688kp77bXX4vZ5++KLL+zwww+3cuXKudq2iRMn2u+//+6aU6oWToIgOG/evOj7gto+hUEAAFC6ZFwfOgWX+++/30aOHOnuUqeiGizdeVZ/kvBr69ats8qVK9uGDRtsm222iftaquWoH4usXbvWDT5Qvnx5W7Nmje28884uXOmCKxzutAzNG3tnXZ+rz0u2Pok+S8uKnZZIss+JRCKufLHrHW97xq6DXlOo1HrnZXmp1lvrst122yUtD7A1eeGFF6xs2bIJpyuYHXnkkXb++ee7ZtfbbrutuwmmGjq1bsjKyrITTzzRPvroI9fkUv3w9F1Vs8zWrVu7Wn8AAFC6ZFwN3Z577uma3+kOdTKPPvqoHX300W7egw8+2F2sqFmi6K61Lmquuuoqa9GihV144YVxX0u2HA0k0KlTJzePLpQefvhh15RJNWcKhGrOpOZRsWU655xzor9/++23bhnNmze3Zs2a2RVXXGHLli3LtS7JPkuhJ3ZarGSfo5CqvjNNmzZ1y2vTpk2ucofFa84ZbhKZzvJSrffYsWPdNtd+0L+ZUiMLlLRkYU43SPT9U+g75phj7J133rFXX33VHROef/55159OVHunwVR0I0jzvPXWW27ES30fdaMIAACULhlXQye6q3z22We7u8mqUYulgPH666+7u84ajluh58Ybb7Q777zTjj/+eDfP8uXLba+99nIjwClM6C527GuplqPpCi66YFI/FYVC0V1wjRY3evRoFxAD+v2ss85y/1d/lksuucSFGQ1woBCo5V522WXuM3XRFb6IS/RZ8aYFwTWdz9FodwpMWoZq2PT/q6++2t3lr1u3bp73TarlpSqPmoGp5uDWW29120r9ArW/ga2RQppq0OLR63o8QVArr3mDm166YRK83rJlS3cz6pVXXrHTTjvN7rvvPjcYio5r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dDEQB/sms7F/Mhv7J7OxfzIX+yZv2yrd61tq6AAAAADAU/ShAwAAAABPEegAAAAAwFMEOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAAAAA8BSBDgAAAAA8RaADAAAAAE8R6AAAAADAUwQ6AAAAAPBUuZIuAJBfq1atssmTJ9umTZvssMMOsypVqrAxS8CECRPsoIMOst122y3H67/++qt99913VqlSJWvVqpVVqFAhT9ORf1u2bLFp06bZ77//bnvssYc1a9bMypXLebjXtl+wYIHts88+1rRp01zLSDUd+ffvv//a119/bWvXrrWWLVta1apVc0zXMe3LL7+0v//+25o0aeL2QV6mo3D89ddf9tFHH9lZZ51lWVlZOV7XuUd07KpcuXKu9yWbjvz79ttv7eeff87x2s4772zHH3989Pd58+bZzJkz3TXBoYceauXLl88xf6rpKJiffvrJfvzxR3dc0/GtbNmyOaZPnTrVFi9ebLVq1XLXDrFSTUd8WZFIJJJgGpCxZs2aZRdeeKHVr1/fnWh18fnoo4+6gzOKz2effWaXXXaZvfDCC3bwwQdHX3/ppZds8ODBdvjhh7tQoAtQzROEvlTTkX+6mDzvvPNs8+bNduCBB9qMGTNs2223tWeffdZ22WUXy87OthtuuMGmTJnigt4333xjzZs3tyFDhliZMmVSTkfB6GLyggsusL333tt22mkn+/zzz61///7WsWNHN33lypV2zjnn2DbbbGPVq1e3L774wu2Prl27pjUdhUfHtk8++cR++OGH6A0RfR8uv/xy993477//bO7cufbkk09ao0aN0pqOgrniiits+fLl1qBBg+hrummlbS7a1vpRkFawqFixoj3//PPRUJ1qOvJPceK2226zMWPG2FFHHWXff/+9C9sjRoxw5yCd56+66ir3nVBQ++qrr+zYY491xz9JNR0pKNABPsnOzo507NgxMmDAgOhrQ4cOjbRu3TqyefPmEi3b1uTVV1+NHHjggZHatWtHpkyZEn39999/jzRo0CAyceJE9/uGDRsi3bp1i/Tu3Tut6SiYG2+8MXLWWWdFvwvavp06dXKvy1tvvRVp0aJFZMWKFdH9od/1ejrTUTBdunSJ3H777dHfX3zxxUjjxo0ja9ascb/re9C9e/fo/hs/frz7vixZsiSt6Sgcr7zySqRe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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Genres require at least 8 matched titles.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
genretitle_countmedian_qualitymedian_reachmedian_intensitymedian_stayinghit_ratebalanced_score
0Action & Adventure267.1360.2018448333.02.00.2310.764
1Drama977.1519.9116970000.03.00.3810.736
2Comedy317.1321.8317030000.02.00.1940.653
3Crime367.0119.0518428333.02.50.3330.556
4Kids87.1720.6812667500.02.00.1250.514
5Animation197.1150.6514360000.02.00.0000.514
6Sci-Fi & Fantasy237.1129.8413290000.02.00.3040.486
7Mystery287.0213.4715423571.03.00.3570.486
8Documentary196.825.5916380000.02.00.0530.292
\n", + "
" + ], + "text/plain": [ + " genre title_count median_quality median_reach median_intensity median_staying hit_rate balanced_score\n", + "0 Action & Adventure 26 7.13 60.20 18448333.0 2.0 0.231 0.764\n", + "1 Drama 97 7.15 19.91 16970000.0 3.0 0.381 0.736\n", + "2 Comedy 31 7.13 21.83 17030000.0 2.0 0.194 0.653\n", + "3 Crime 36 7.01 19.05 18428333.0 2.5 0.333 0.556\n", + "4 Kids 8 7.17 20.68 12667500.0 2.0 0.125 0.514\n", + "5 Animation 19 7.11 50.65 14360000.0 2.0 0.000 0.514\n", + "6 Sci-Fi & Fantasy 23 7.11 29.84 13290000.0 2.0 0.304 0.486\n", + "7 Mystery 28 7.02 13.47 15423571.0 3.0 0.357 0.486\n", + "8 Documentary 19 6.82 5.59 16380000.0 2.0 0.053 0.292" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3QAAAIWCAYAAAAf289eAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcsdJREFUeJzt3QeYE9X3//GzlKUIUlRQQQRBkI6AdBQUURQRQaWpoKjYAFFU7BWxYMWGveHXioBdEEFREUEUkCpFigrS28ICm//zub9n8s+G7G6SzZbZfb+eZ2E3mUzuTG6SOXPOvZMUCAQCBgAAAADwnSJ53QAAAAAAQHwI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgA5IpffvnF7rrrLuvbt6+dddZZ7v9HHnnE1qxZU2BegXHjxtnpp59uBw4cyNZ63nzzTTvzzDMtL7z77rtuG1JTU60gCd+n4du5b98+e/HFF2327NlWEN155502ZMiQhK3r2muvjekxW7ZssTvuuMN2795teSG8zXndnnh99913rt9m93Pzzz//tJEjR1pOOO+88+z555/PkXUDiKxYBrcDQELs3bvXHThNmTLFLrnkErvxxhutXLlytnr1anv77bddcPfkk0/aaaed5vs9vm3bNrddgUAgIevJC3o9WrdubcWLF7eCJHyfhm/n4sWL7bHHHrOXXnrJCqINGza4ICYRBg8ebGlpaTE9ZuLEifbBBx/YrbfeankhvM153Z54KQBVP87uCZenn37a/vrrr4S1K3zdhxxySI6sG0BkBHQAcpSycF988YW99957Vr9+/eDttWrVso4dO9rVV19tI0aMsKlTp1rZsmV5NfLYoYce6n4KusKynTmhUqVK5jd+bLNfHXPMMXndBKDQIaADkGPWrl3ryhAHDhyYLpjzJCUl2dChQ+2JJ55wGQQvoFM25eWXX7Yff/zRnYlu0KCBDRo0yKpXrx4sl/vss8/spptucmVyK1eutMMOO8x69+7tMi+i5/36669dedKECRMsOTnZRo8ebUcffXSW6xcFoF9++aVrlzKKbdq0scsuu8xKly6d5XbPnTvXXnvtNVcWpXVefvnl1rhx4+D969ats1dffdV+++03S0lJsaOOOsp69OhhZ599dobrzOox0ewTUZZG65k5c6YrDW3atKldddVVdvjhhwfX88orr7h1aZ9Fu15lDVRmtXDhQnf/GWecYcuWLbNdu3bZqFGjMtwu73F//PGH289ar9pWpkwZu+WWW1yp5DvvvONei1D9+/e3evXquWXi2aeh2/nrr78G13Pbbbe510onGdRvr7jiCrvgggvSPbZfv37WokUL13ejoSyQtkdmzZplVatWtWeeecb1/xUrVris4IIFC1y2UP3syiuvTBdsqn3qzyqTU5apRo0ark81atQouIzu0/Zr/6uPdujQwQYMGOBew1CffvqpTZo0yf755x+rVq2a6/eh64m2fHHz5s327LPPBv/W9jVs2NDef/99+++//1y/99at/exlPs8991zr2bOnO5EjWW1/VusW9TGt4+eff7bt27fbkUce6cprzz//fLePw9scqT1a5+OPP+6yS3Xr1g1u6/r16+3iiy92/SOWKoJPPvnE7Wv1S22X2nrNNddY5cqVg2WJqljQ9qh6QX22SZMmdt111wWXkQ8//NBlE7du3eruD21bRvS54+1TlRIfd9xx7n2ljLQMGzbMvv/+e3efPh+1b04++eQs263PT5V8qk2h/eqbb76xhx9+2N566y23nLatc+fOwdc42m396KOP3Gf1jh07rE6dOu51uf32293zhn5+htK6+/Tp475r1Da1Wdui923JkiWDy+mz/n//+5+tWrXK9S1tt97HWl7l/9pOvec92matU+0pUuT/Ridp+z7++GO3/brtp59+crcp01m+fHnX57SuokWLuuW7devm2vf777+7fq7+E+1nBhCzAADkkJdeeilQu3btwKJFi6J+zNatWwOdO3d2P1OnTg0sWLAgcMMNNwSaNm0aXM/YsWMDjRs3dst89tlngcWLFwdGjRrlnuvHH390yzz77LOBE044IdCzZ8/AvHnzAq+//nrU63/++ecDzZs3D3zxxReBZcuWBaZNmxbo0KFDYMiQIZm2Xc+pNpx00kmBjz76KPD7778HbrnllkD9+vUDv/32m1vmn3/+CbRs2TJw4403uvv1/KNHj3aP+/77790yTz/9dKBu3brB9UbzmGj2ibb91FNPDXTv3j3w3XffuTZdfPHFgTPPPDOwY8eO4Hr0mD179kS93rVr17r2XXbZZYHZs2e7/dqpUye3DbotI2vWrAm0aNEi0L9//8Avv/wSmDx5cqB9+/butdC2RtoXHq3fWyaefRq6nbt373bPrb8//PBDtz4577zzAj169Ej3vHPnznXLzZw5MxAt7QP1xREjRgTmz5/v+oaoXzZp0iRw+eWXu+3/+eef3fOdddZZwddD7a9Xr55rr/qn9u9VV13lXpNNmza5ZbTN+vv6668PzJkzx/XXjh07ur89V155ZaBOnTqBCy+80L1ueozapef/999/o94Wb13aN6F/63Xs3bu3W7e2a+DAgW7dmzdvdj+PP/548LPAa3c025/VukWPP+ecc9z9er++//777j33xhtvRGxzpPbovdGgQYPAyJEj023ryy+/HGjUqFGwPdEYM2aM+/z45JNPAkuWLHGvR9euXdPts2bNmrntUp/Qa6G2n3766en6m/qwnnvcuHFuux966CHXh9XuP//8M+Jzb9++PXDKKacEBg8e7Nar7dPj9NprHaLXW/uwS5cugVWrVgV27doVVbtnzJjhnvvLL79M95xXX3114IILLki3bQ888EBM2/rkk08GGjZsGHjrrbfce0Tbrtcwq/ea1q2+cOmll7r3htrWtm1b97mWlpYW3C69h/T5rM+Gjz/+OPh5tX///sBtt93mPndC96G3n//444/g7X369AkMHTrU/f7ee++5ffrggw+6deq7ok2bNu67xKN26X2v755Zs2a5/QnkFAI6ADlGX5T6Uty7d2/Uj9HBh77IV65cGbztwIED7sDikksuSXcwrgMMj7689UWug4bQ4Cr8YCCa9etAQweAoXTQpwAkM95z6oAhlAIoHWDIo48+6g5uUlNT0y2jA4pbb701YvARzWOi2SePPfaYO0DcsGFDuu3Swc67776bYUCX1XrVBv3tPUZ0YK2DmcwCOj1eB5A7d+4M3qaARM8XS0AXzz4N304d7Orv6dOnB5d588033W3aFs/999/vgnvvYDEa2gfqcwocQ+kg+LTTTkv3/li/fr0LLJ566in3twKZK664It3j1A+94FP69u3rAprQNn3zzTfp2q7+rDZ4wZToPaBlvAAzOwGd2qygyKNAQev+4IMP3N+vvfaa+zv0tY5m+7Natx6r3/V6hvr7778D//33X4ZtjtQeHay3bt06sG/fvnTv3WHDhkW9b1JSUtx77IUXXkh3+4QJE9zzeZ87CkRC2yN6HbTMihUrXNCl96VOLoVSn88soFOw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8cUX27Zt2yy/GTt2rM2dOzevmwEAAAAgm8jQZdPff/9tAwYMsPPPP99uuukmK1Lk/2LkzZs3W+/eve3GG2+0l19+ObtPAwAAAAAHIaDLpmeffdYqVqyYLpgT77bx48fbzp07rUyZMu52Zex++OEH27Bhg9WqVcvatm1rSUlJ7r53333XWrRo4Zb/9ddfrVKlStapUyd335QpU1yQ2LJlSzv++OPTtWH79u327bffuv91X6tWrdLd/88//9j06dNd+zp37hy8fdasWbZs2TLr169fuuXfeecda9CggTVq1Ci7uwcAAABADiKgyyYFWj179kwXzHlOP/109+P58ccfbdiwYXbCCSdY9erV7bXXXrNjjjnGXnzxRStdurS98sor9tlnn9mePXtcMKXSyI8++sgFgTVq1LAdO3bYqFGj7PXXX7eTTjopWO45cOBANx7u2GOPtbffftuOPvpo99jk5GSbNm2aDRkyxNq1a2eHHnqoyxYqYJQDBw7Yfffd54JIL0hcvXq13XvvvTZp0qTs7hoAAAAAOYyALht2795tW7dudUFZVlJTU13G7pxzzrE77rjD3abHdu3a1Z577jkbPny4u23Xrl32/vvvu4lVlCUbMWKE3XPPPdanTx93v8blffLJJy6gS0tLs9tvv9169erlAkVRMNijRw976aWXbNCgQe65VBJ6ww03uPu//PJLGzp0qPtdmTwFfxMmTHBtE627bt26blIXAACQd1JSUtyka8ifr03o/0C09J72qvMShYAuG7wXQ4FVVubNm2cbN260iy66KHhb+fLlrVu3bjZ16tRgQKcSTAVz4gWK7du3Dz5GAdimTZvc72vXrrVFixZZs2bNXJbPo0zcTz/95LJy//33nwvwPGeeeaZVqFAh2H4FmAroNNZPWUZlCC+44ILs7BYAAJAAK1euJGDI51atWpXXTYAPqYoukQjosqFUqVJ22GGHuYlRMsrKrVmzxmrWrGlbtmxxt2lcXCj97d0nZcuWPWg9Ksf0KAjzztatW7fO/a+/NX7O07x5cxcsKoAUtTFU5cqVg7+fe+65rjxTAaDG/emDSVlDAACQtzTcggxd/qTMnI6ZNIRGx4NAtDR/RaIR0GVThw4d3IQjyrCFp0+/++47u/baa93EKEceeaS7TUFWtWrVgssog+ZlzGLlBYdnn322y9KF8y5NoOcMDRRDL6WgYFOlnZ9//rmVK1fO2rRpY0cccURc7QEAAIlDoOCP1yj0xDuQlUSXWwrXocumq666yv766y+X5QqloGn06NEuQNKEJbVr13aZsQ8++CC4jMbLffrpp+lKKmOhSVCqVq3qJkIJ9cUXX9hXX31lDRs2dMGZSio9s2fPdrNehlKWTmWfmghFvwMAAADwBzJ02aRs2zPPPOMydJpRUpcV0CySCqp03xNPPOGWK1GihJtRcvDgwS5FrzKKr7/+2gVc1113XXwvXrFi9sADD7igUhOfNG7c2JYsWWK//PKLG1On+0eOHOmeU+Pt9FzKxIVnBFVi+fDDD7s2epdJAAAAAJD/EdAlwCmnnOLKLpXl0pg5TUry2GOPWevWrQ8qz1Sgp0sdKOjTRCQdO3YMToKiC5Erq+Y56qij7IorrkhXcqHn2rt3b/BvPYeycZMnT3Zj8bQ+BXHeuDktr4lOtIwmb1E2T4GnsoYejZ1r2rSpy/ZR3gEAAAD4R1KA0baFngb2quxT16hr0qRJ3Ptj/vz57v9XJm+y5ev+/zg9AAAQvZpVytmTN3Rgl+XzS1dppnFd6okxdIiFZr7XOLrQJE52kaErxHRhcZWLqkRTM2NmJ5gDAAAAkPsI6AqxokWLupktzzjjDDv//PPzujkAAAAAYkRAV8hpMhUAAAAA/sRlCwAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADAp7gOHRKuauWy7FUAAPgeBZALCOiQcMP7NWOvAgCQDWlpAStSJIl9CCBLlFwioVJTUy0lJYW9ipiozyxcuJC+g7jQf1AQ+w7BHIBoEdAh4QKBAHsVMfcZHVDRdxDvZw79B/QdAIUVAR0AAAAA+BQBHQAAAAD4FAEdAAAAAPgUAR0AAAAA+BQBHQAAAAD4FAEdAAAAAPgUAR0SLimJC6Ei9j5TqlQp+g7i/syh/wAACqtied0AFCzJycnuwAqIhfpMvXr12GmIC/3H39LSAlxEGwCygYAOCTd63Bxbu34HexYAkKmqlcva8H7N2EsAkA0EdEg4BXPL121jzwIAAAA5jDF0AAAAAOBTBHQAAAAA4FMEdAAAAADgUwR0AAAAAOBTBHQAAAAA4FMEdAAAAADgUwR0AAAAAOBTBHQAAAAA4FMEdAAAAADgU8XyugH4P/v377cffvjBli1bZsWKFbM6depYq1atLCkpKdNd9MYbb1j9+vWtefPm7EoAAACgkCGgywd+/fVXu/HGG61ChQrWsmVL27dvn73yyitWuXJle/HFF61ixYoZPjY5OdmKFCHRCgAAABRGBHR5bPXq1TZw4EC77LLLbPDgwcHbhw4dar1797brr7/e3nzzzQwf36dPn1xqKQAAAID8hoAujz333HN29NFH23XXXZfu9rJly9pNN91kn3zyie3cudPKlCljr776qrVu3doWLFhgu3btsi5dutiXX34ZLLl8/fXXrW3btrZp0yaX9TviiCOsa9euFggE7LPPPrMtW7a4Ms5GjRqley4t//XXX9v27dvt+OOPtw4dOpD1AwAAAHyAWr08NnXqVOvYsWPEsXIKrB577DEXzMnbb79tV1xxhc2ZM8fmzp1rxYsXt//9738ueJNx48bZHXfcYc8++6ylpKTYmDFj7PLLL7d+/fq5IHDJkiXWq1cv+/HHH4PPofWceeaZ7rYdO3bYE088YX379nWPBwAAAJC/kaHLQ8q8bdu2zapWrRr1Y2rWrGkPPfRQhvcrG6eJUjSurlatWnbzzTfbgw8+aD179gxm47744gtr06aNpaWl2Z133mn9+/cPZgiHDBnilh07dqwr9wQAIKfpJKK+v3Kbd/KSk5ig7yC36LMuq0kPY0VAl4c0m6UcOHAg6seovDIzKsn0JkmpUqWK+19llh5NtLJ58+bg+D3Nqtm4cWOXmfOUKFHCZs2aFePWAAAQn5UrV+ZpULVq1ao8e274G30H8dCkholEQJeHSpYs6ca5rV27NuL9e/fudWWSCuKKFi3qbjvssMMyXechhxxy0G2lSpUK/q4zAt5Z0H/++cf9X758eRfEeU499VQrV65cnFsFAEBsatSokWcZOh2QV69ePd13JUDfQU5RMiXRCOjymIKnb7/91k2AEn75Ad2u2S4nTpxoJ5xwQsKfu1KlSsGxeieddFLC1w8AQDTyOpjS85cuXTpP2wB/ou8gVokutxQmRcljgwYNsn///deeeuqpdLdv3LjRHn30URds5UQwJzojqZ/XXnst3ZnRjz76yM2uCQAAACB/I0OXxzTOTRcPHzZsmMvI6cLimixlypQp7vICmuUyp6iMc+TIkS6o1DXv9HyLFy+2pUuX2ksvvZRjzwsAAAAgMQjo8oEWLVq4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DvYsAPhE1cplbXi/ZnndDABAHAjokHAK5pav28aeBQAAAHIYY+gAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6KI0evRoGzlyZFw7+bHHHrNp06ZZTvrvv/9y9fkAAAAA5D0CuigsX77cxo0bZx988IHNmTMn5p3cqFEjO+qooyynvP7663bnnXfm2vMBAAAAyB+K5XUD/GD8+PFWv359K1GihL3//vvWrFmzmB5/+umnW05atmyZBQKBXHs+AAAAAPkDAV0WDhw4YJMmTbJ+/fpZhQoVXNnlbbfdZuXKlQsu8+ijj1rnzp1t5cqVNnfuXHffeeedZzVq1AiWQCoI7NChg1v2jDPOsBUrVtivv/5qlSpVsr59+7rnee+992zz5s3Wpk0b69SpU3D9aWlp9u2339rChQttw4YNVr58eXd/48aNbeLEiTZ79mzbs2ePjRgxwu6//357+umng8/nZRi/+OIL99hatWpZjx49rEyZMlG1HQAAAED+RcllFmbMmOECIWW99LN//34XRIX6+uuvbejQofbNN99YzZo1XWCkoGnjxo3u/smTJ9vSpUuDy9500032/fffW506deyzzz6z/v3722WXXWZFixa1kiVL2nXXXWdfffVVcP233HKLC7wUhJ1wwgkusOvdu7ctWrTIqlevbkcccYQL8lq0aGFFihRJ93wffvihde/e3bVFbfv000/d396Yu6zaDgAAACD/IkOXhY8//tgFOvqRk046yWXSLrnkknTLHX300TZmzBj3+4UXXmitW7d2QVKvXr0OWueRRx7psnZy2GGHuYDqySeftC5dugQzaprURJk8Zefatm1r119/vVWpUiW4/pYtW7rxfBdddJEde+yxLgBTIBZq586dLqM4ePBgu/LKK91tygZ27drVtfW+++6Lue0AgIIrJSUlXQl/Ydje0P8B+g5ymj5jk5KSErpOArpMbN++3aZOnWqXXnpp8DaVJyoQUjAVOpYu9Hdl2SpWrOgeH8mJJ54Y/P3www8/6DaVdm7bts39roybMmoqyVRZ5OrVq23JkiWuM+i2zMyfP992795tZ599dvC24sWLu8BRmbp42g4AKLj0PVMYg5tVq1bldRPgU/QdxCM5OdkSiYAuEwp69u7da7///rsbnyZbt251/ytLFxoIlS1bNt1jFYhldJazdOnSMb2wmpRFl01ITU212rVru1ksixUrluVZ1F27drn/VY4ZSn+HfmHH0nYAQMGl8dOF6fNf34U6INfwhVKlSuV1c+Aj9B1kZzLDRCOgy6LcUmPWunXrlu72ffv22Zdffmm33357uslRcsK6devc82gcncbaKUWrMkwFlFmpWrWq+//vv/+2448/Pnj72rVr3bg7AABCFdagRtsd6WQrQN9BoiW63FKYFCUDGsc2b948N1ZOY9NCfzQmTZm7CRMmWE5bv369C+CaNGkS7AC6Jp5KKRVYemWUkcovNaOlArkXX3zRrcML7jSpi8bnAQAAAPA3MnSZlDlqVklvopJQCq50XTpdk05Zs5zUsGFDNxHLVVdd5SYrUcbOK73U794yaq+WeeCBB4KPVVnmqFGj7Oqrr7Zzzz3XTZ4ya9Ysa9eunV1++eU52m4AAAAAOY+ALgMKojS7ZEYlGAqcFi9e7GqodRkCBUuhQm+78cYbrVq1agfd7o1XUNDlXRdOzj///HTZtzfffNNda04zWeqx9erVcxOebNq0yS3Ts2dPNwOm/takJqHPp2BvypQpLpDTrJfDhg0LztgZqT0Z3QYAAAAg/0kKFKbRz8hRCjLllcmbbPm6/5ulEwCQ/9WsUs6evKGDFTYavqBrutatW5cxdKDvIFdoSJeGUSnpkiiMoQMAAAAAnyKgAwAAAACfIqADAAAAAJ8ioAMAAAAAnyKgAwAAAACfIqADAAAAAJ8ioAMAAAAAnyKgAwAAAACfIqADAAAAAJ8ioAMAAAAAnyqW1w1AwVO1ctm8bgIAIAZ8bgOAfxHQIeGG92vGXgUAn0lLC1iRIkl53QwAQIwouURCpaamWkpKCnsVMVGfWbhwIX0HcaH/JAbBHAD4EwEdEi4QCLBXEXOf0UE5fQfxfubQfwAAhRUBHQAAAAD4FAEdAAAAAPgUAR0AAAAA+BQBHQAAAAD4FAEdAAAAAPgUAR0SLimJ6xgh9j5TqlQp+g7i/syh/wAACisuLI6ESk5OdgdWQCzUZ+rVq8dOQ1wKa//hQuAAACGgQ8KNHjfH1q7fwZ4FgBxStXJZG96vGfsXAEBAh8RTMLd83TZ2LQAAAJDDGEMHAAAAAD5FQAcAAAAAPkVABwAAAAA+RUAHAAAAAD5FQAcAAAAAPkVABwAAAAA+RUAHAAAAAD5FQAcAAAAAPkVABwAAAAA+RUAHAAAAAD5VLLefcPv27TZhwgRbtGiRpaWlWfXq1a1r1652zDHHRL2OBx54wFq1amWdOnWKeP///vc/++mnnyLe17JlS+vXr1+W65BvvvnGpk6dauXKlbP+/ftb5cqVM21XNM+bCGvXrrWqVasmZF0AAAAA/CtXA7rVq1db3759rVGjRtahQwcrWrSozZo1y8466ywbM2aMuy0aWu7oo4/O8P4FCxa4n5tvvvmg+6pUqRLVOt577z179NFHbdiwYTZjxgzr06ePffrpp1a6dOlsPW92jR071ubOnWsvvPBCQtYHAAAAwL9yNaBTEHLsscfac889F7ytZ8+elpycbPfdd1/UAV27du2yXKZs2bJ25plnxr2O8ePHW48ePVxWrXPnzm75efPmuaxedp43EUFxIBDIsfUDAAAA8I9cDejWr19vRYocPGzv6quvtrZt27oSTO9+BU/KiG3ZssWOO+44u/DCC+2www5z90VTLpmVrNZx5JFH2vLly93vf//9tyUlJdlRRx1l2bV//3774osvbOHChbZhwwYrX768nX766cFA8f7777cuXbrY0qVLXSZO5Z7nn3++nXDCCfbBBx+4ks7U1FQbMmSIPfbYY65dma1vx44d9v7777v1VaxY0Zo1axbc5q+++sqmTZtmDz74oFuP5/bbb3dtiCZwBgAAAFBIJkU544wzXInlwIED7ZNPPrGNGze621X6qKyWF8xNmjTJZcZUktmiRQsXrCio2bZtm7tfJZArVqzIVluyWsc111xjs2fPttdff93uuOMO97eyi9l1ww032EsvveTGDrZv394FuQMGDHABrHz33Xd2/fXX22+//ebG3a1atcp69erllmvQoIFVq1bNKlWq5MpUtX+yWt+ll15qP//8s7Vp08aNAdS2vPLKK+4+bY8ykdpOjx6n22rVqpXtbQUAAABQgDJ0yrIdOHDABSDDhw93t9WuXdvOOeccN+lIiRIl3P2jRo2yq666yq699lq3jIK5KVOm2J49e1zGKhrr1q1zWaxQCoQU0ERD2TmNl1NbFBSFryue51UG8uyzz7YmTZoEJ1jRtitwUyClsYWijOQjjzzifu/WrZu7X5OzaByfxuJpPykAzmp9um3+/Pn24YcfWsOGDd39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2zp27JgLrxYAAACAeBXYSVFOPPFEW7dunW3atMn9/cwzz9j1119v9erVc0HVxo0brUePHrZy5Up3/1tvveXur1+/vvXv398OHDhgF154oVtO5s2bZ+vXr0/3HLpNgZMsWLDAbrrpJktLS7OBAwe651Zwdsstt7jASEHfE088YR999FHw8fpdj1FgpedMSUmxc845x/75559069yzZ49rs8pHtc41a9a4wKxhw4Yu8LzxxhutePHids0119iUKVNc0HnllVe6gO6GG26wWbNmBdd39913uwymgsuTTz7ZBXc//vhjsE2zZ8+2GTNmWKNGjXL8NQIAAACQPQUyQyeaHEWUbUtKSrIXXnjBBTMXXHCBu71Dhw7u9zFjxtjDDz9sTz31lA0dOtQFTt79KtsMzaZlRYGZgkJR5uzqq6+2kSNHWrt27dxtCpQUXOl59+7da4888ojddttt7nlEAdbatWtdmx588EF3W7Nmzezmm292v2uyl2+//dZlEi+66CI77LDDXEZNJacKJAcPHuwyj+XKlXPLK2j76quvbMmSJdaiRQt3m4JLBbKexo0b24QJE9y6RRlMtVfrBpA3dHJH721Ev79C/wdiea/RdxAP+g7ipe93xSaJVGADOgVMUqJECZeZUoClgCnUKaec4rJky5cvtx07drjxd+FZvliccMIJwd9VHim1a9cO3nbIIYe40kpRZnDr1q2udPLdd98NLqPMXujYuNAZLBVcKuumcslwuk/BnzKSCvj++usvF8hpWWUbPTVq1Ej3OAWTjz76qO3cudNKlizpAsC77rorpu0GkFj6fCA4id2qVavoiogLfQfxou8gHometLHABnQKaEqVKmVHH320mw3TC6hClS5d2gV6mikz0v1ZCT+DruAxXEaXTti2bZv7f9CgQXb44YdnuB61MVRmEf3TTz9tL730ksvSKbhUSeY333yTbpnwbdRYw1GjRtnXX3/tsnIah6dyTgB5RydeyNBFT8GvDqqqV6/uPvcB+g5yGp87iNeyZcss0QpsQKcARWWTmuyjWrVq7rYVK1akGxumzFyVKlXcJCqisWmhk6SEB2YK/jwKfLygLB5em9S+0Fk6YxEa3Glbnn32WXvyySeDE7eovSonzao0VZlLZebKlCnjJlGJFJgCyD0EJfHvt/CTYAB9BzmJzx3EKtHllgVyUhRl2zQ2TRk6jSmTmjVrunJEBTteGZMmNPnkk0+se/fuLqjR2DLN9qgJSETlkJrc5KeffgqeMdeMkBqrJuPGjQuWdcbjqKOOcmPVNF7OK7FU2zSJyosvvhh1utZrw65du9Jl4FRmOXr0aLc9XgYyI9oHmhhl8uTJ7ncAAAAA/uD7DJ3Gx2naflHgoguLK/ulSwUokPMoU6VJTzRurnLlym6s2qWXXuqm55d77rnHBYC6X1k6rUfliCeddJK7/9prr3U/nTp1cjNK6jkaNGiQrbZrwhRNoqISR61PQWiTJk2Ck6BkRQGhxt8pI6dr7p133nlupkuN29PsmxoDqB9vJs+MKJOps9oKBuPNFgIAAADIfUkBHw/UUJmhZrH0aFKPI4888qAxaaEUNGkCFI21UIlhpPs1cYnKMDUBSSgFjEuXLnWzSOp+TTqi7J6uG6fAUs+r5xdNMrJ48WIXoHnj6DTGQ5mz0EDTK/XUdijQ1I8nfJ2RbvMmUVEQp1LJf//9102MovZpYhbNmqnt0eUadD07tTX0OTyaNVMzYepadfHS+uWVyZts+br4y1GBwqpmlXL25A0d8roZvqPJnxYtWuQmkaLkEvQd8LmD/ExVgiq71FwXieLrDF14YBQN70Lh8dyvEsfQrFydOnWCv4dn6xQshme7FERGouDLG8cXKlIGMPw2jQHUj0eBXmgAGDomMKOOowyegjGVaAIAAADwD18HdMgeZQt79erlMofXXXddukAQAAAAQP5HQFeIaYZNjS1U5jFShhAAAABA/kZAV8jFU7YKAAAAIH8ocJctAAAAAIDCgoAOAAAAAHyKgA4AAAAAfIqADgAAAAB8ioAOAAAAAHyKgA4AAAAAfIqADgAAAAB8iuvQIeGqVi7LXgV47wAAgFxAQIeEG96vGXsViFNaWsCKFEli/wEAgKhQcomESk1NtZSUFPYqYqI+s3DhQvqOPpQJ5gAAQAwI6JBwgUCAvYqY+4yCOvoOAABAbAjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnCOgAAAAAwKcI6AAAAADApwjoAAAAAMCnkgKBQCCvG4GC4ddffzV1p+LFi1tSUlJeNwc+on6zb98++g7oP+CzB77A9xbilZqa6o6TmzZtaolSLGFrQqHnBXEEc4iV+kxycjI7DnGh/yBe9B3Qd5AXnzuJPlYmQwcAAAAAPsUYOgAAAADwKQI6AAAAAPApAjoAAAAA8CkCOgAAAADwKQI6AAAAAPApAjoAAAAA8CkCOgAAAADwKQI6AAAAAPApAjoAAAAA8CkCOgAAAADwKQI6AAAAAPCpYnndAPjPr7/+an/99ZfVqFHDmjRpkvDlUXAtXrzY/VSuXNlatmxpRYpkfk5p7ty5ru8cccQR1qxZMytZsmSutRX5y6pVq+z333+38uXLW+vWrS05OTmqxy1ZssRWr15tp59+eo63EfnTv//+a7Nnz7YSJUpY27ZtrXTp0pkuv337dvvxxx8tLS3Nfe7o8wqF05YtW+znn3+2AwcOWJs2baxChQpZLj9nzhwLBAKu71SsWDHX2or8afny5a5fNG/ePNPldu/e7T53du3aZa1atYr5cycpoF4HREEfaNdff73Nnz/fTjzxRJs5c6a1a9fOHnnkEUtKSsr28ijYHnroIZswYYI7GNeBeZUqVezll192B1nhUlJS7PLLL7d//vnHfSkuXbrUfdi9+OKL7sQACpfXX3/dxowZ4z4/li1b5k4EvPnmm1keLO3cudO6detmhx9+uL3//vu51l7kH1988YXddtttLpDT58nGjRvtjTfesOrVq0dcXgfvgwcPtnr16rnPplmzZtmTTz5pp5xySq63HXlLJxSvvPJKa9Soke3fv98WLlxozz//fIYH5lr+6quvtrp167rPqAULFtizzz6b5YE8Cq4tW7ZYnz59rEWLFnbfffdluJxOXF988cXuuKhcuXLueFnHTGeeeWb0T6aADojGe++9F2jbtm1g8+bN7u/Vq1cHmjZtGvj8888TsjwKrp9++ilQv379wIoVK9zfW7duDZx22mmBF154IeLyTz75ZKBz586B3bt3u78PHDgQGDRoUGDAgAG52m7kvb/++itQt27dwM8//+z+3rt3b6BXr16BO++8M8vH3nTTTe6xF1xwQS60FPnN9u3b3XfO+PHj3d9paWmBwYMHBy677LKIy+/atct9Z40ePTrdZ1H79u3dY1F46DtH30FPPPFE8LaHH344cPrpp2fYF7p27Rq4++67g3/ff//9bh0onJYuXRro0qVLoHbt2ll+X11yySWB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gE8R0AEAAACATxHQAQAAAIBPcWFxAMgjKSkp7sLF4Rdh1wXXGzdunO4ittHQxUp1cdLzzjsvwwtt50fffvutrVq1yi699FIryH788Ufbv3+/nXzyyXndFOSAnTt3uguV60Lmsn79env//feta9eu7mLmfnl/hrc7kq1bt9qHH35ol112mfvMApC3eBcCQB4GdM8884w70Pfs3bvX5s+fbxdffLENGTLEDhw4EPX6dMCo9a1bt878RAHda6+9ZgXZP//8Y8OHD7dq1arldVOQQ3r06GFff/2179+fGzZscO3USZaMlC9f3mbPnm2vvvpqrrYNQGRk6AAgjzVr1swGDx6c7rYOHTrYsGHD7KuvvrKzzjorz9qGxLjrrrtcxqN69ers0gJq8+bN6f6uXLnyQe/rguTmm292QWynTp3o10AeI6ADgHzopJNOcv+Hn81fs2aN/fTTT+7gUaWZ7dq1yzLrk9ljvPIqZQRXrFhhv/76qxUvXtwFlMcee2y69WzatMll01RupVKsjh07HlRutXHjRreMnuuYY45xy5QqVSrdMn/++af98MMPFggE3P3RSE1NtenTp7usgdqnctSmTZsetFw0bVQGQvtD216lShW3TOnSpd19//77r33wwQd2wQUX2IwZM2zXrl3Wpk0bO/7446PevnDz5s2z7777zm6//faoXxuVZr7wwguu9LZ9+/bpHqMgXxm/AQMGRLXfs9qmaPrU8uXLXSZZ+1InIJQ51vNdd911UbUhEq/v9evXz/744w9btGiRVaxY0U4//XQrV65cumWzs33Z7bdZvUf0Wj3//PMuuz537lwbM2aMXXnlle75sipdjGe/Zef1jOX9Ht6H9f7T51KrVq3cbccdd5x7D44dO9ZGjRqV4WMB5DxKLgEgH9KBoQ5qQ7Nzr7zyinXr1s0dhO3YscMd2J955pmZlnll9RivvEpn2++//3538Dtt2jTr0qWLTZkyJbieTz75xB1ofvbZZ26ZRx55xC688EJ3MOn54osv3Nn6jz/+2LZt22YvvfSSnX322S4Y8OjgT+35/fffbeXKlda3b1938JkZHZjqMTpo1kHyX3/9ZVdddVW6YCLaNr777rt2xhlnuGV1IK11du7c2ZW5egfL2h9ql0rKvv/+e7dctNsXyeuvv24NGzY8KIuR2WtTrFgx++WXX+zRRx9N9xgFUnqddDAe7X7PbJui6VMa56mgRI9dunSp9e/f32677TZ77rnnYnrtw3l979prr7UHHnjA/vvvP/vf//7nAjq1JxHbl4h+G+17JJ7SxXj2W3Zez3i2Zc6cOe7kgT6TvPGBHrV10qRJwecHkEcCAIA8sWnTpkDt2rUDvXv3Djz99NPu54knngjcfPPNgRNPPDEwZcqU4LKrVq0K1K1bNzB+/Ph067jssssCPXr0cL//8ssvbn0zZ86M+jHz5s1zjxk4cGDgwIEDwWX69u0b6Nmzp/t9zZo1gYYNGwYeeuih4P1bt24NtG7dOvDoo4+6v1evXh1o0KBB4JZbbgmkpaW52/bt2+e2rWvXru62+fPnB+rUqRN46623gutZsmSJW3f79u0z3E/PPvtsoHHjxoE9e/YEb9O6tL927NgRdRt///139/zPPPNMcJm9e/cG+vXr555f6587d67bH0OHDg0uo7ZHs32R7N+/P9C8eXP3uoaK5rX5+OOPXVuWLl0avP/77793t82ZMyfq/Z7RNkXThoULFwZOOOGEdK/Z8uXL3XPqsdG2IRKv73Xp0iX4Oupxl1xySaBjx46B1NTUbG1fovptNO8RadasWbrn8h43derUiO/PePdbdl7PaLYltN1qc5MmTdw6Qt9/ng0bNrhl1VcB5B0ydACQzyg7k5yc7MbfeGfNlVG4+uqr3dl2L2ulzNbu3btt7dq1EdcTy2OUgQktQ2vQoIHLhHlZBJWTqYzMo+yhxoV5pVwTJ050ZZFqc1JSUnA7VNqlrI5Ktj799FNXSqYMiad27dqu3CszJUuWdBPITJgwwT2H1z49V5kyZaJuox6v57/88suDy2g/ax+pFE0lZR6vrEy0PdFsXyTKzmzfvt1tZ6yvjTKHKgXVfvMoG6LSOK/cNJZ2hW9TNG1Q5qhs2bLWu3fv4GNVaqfMjCfefeMZOHBg8HXU4/S3So2VfcrO9iWq30bzHolHdvdbPK9nLNuiDPEVV1zhyn6VjS1RosRBbTjiiCPcBCnKuAPIO4yhA4B8OCmKZrg855xzbOTIka4kq169eq7cUOVpCxYscEFCnTp1LC0tLcOZMGN5TIUKFdL9rXE1GhvkBSU6aAtfxjtw9MbF6WB0/Pjx6ZZRGZ13v0osjz76aBdEhapVq5b99ttvGe6fXr16uQNTHYg//PDD1rZtWzvllFPc83uBQDRt1PNruvjwA1M9v7eOSpUqud/VzlDRbJ8OfMN594e3K5rXRsGcykMV0GmCnD179tjkyZPdQXYs7apZs2bEbYqmDZqGX/tMzxFKQV12943HG/vl8cab6fXKzvYlqt96wXhm75F4ZHe/xfN6eqLZFpVvKlBU6Wb46x++LpVuAsg7ZOgAIB/SDHka+6OpznWQpoBGmSVlmJ566qlg9iJ8TEuoWB7jZQgiiebSCTpozOgMvsa6eQftmggl0mMzc8ghh7ixRRoPpMBGWZd77rnHHZhrcpBo2xjpuUOfXwe1nvAD2Gi3L5yXBQnfxmhfm+7du7vsigLeb775xmUqzz333LjaFb5N0bShaNGiWb4+8e4bT+h+99bntTc725fIfpvVeyQe2d1v8byesWyLrpeo8XYKDhXcZbYdid43AGJDhg4A8ikdvOtgV5ma9957zx386UAt9EBOAV9G4nlMJCrxU1CpSRtCZx/UAaQO9pQx0jLKHuni4F7WTFTGpTJBncVXJuXnn392AVnogezq1aujaocmFdGPStI0icn555/vslfe82fVRmV+VBoW/vzKhEhms4VGs32ReBm/8AxGtK9Ny5Yt3UycCmaVcdIsg/o7lnZllD2Jpg3KxGmfKXsTukxoeV68+yZ0ubp16wb/VmZOFNBoxsZ4ty9R/VbriEasQU1291tOvd89mnRFJ5VUnqmZO0877bRgNjSUSjt1AgpA3iFDBwD5kMZ0zZw500499VRXoqhxTDqoDp2db+HChW6Zffv2RVxHPI+JRDNtKrDUbI0ejf3RVOVan2hmPWWjnn322XSP1SyN77zzjgtsdM0qPe+bb76Z7uBVB7WZUdCm2Q8jZXWUzYi2jeedd54LkjVrY+gymnlT69H07hmJZvsiUbmiyv4WL14c12ujIEEZOQV0mqJe25CIdkXbBpW77ty5002T79H4ts8//zwYwGSnDaL+4D2f/lc2SGWOTZo0yda6E9Vvo6X3aSwlmIl87kS+38Ppchs6qaSZTcOzteoLKsmsX79+3OsHkH1k6AAgj2lacJ0B9yijoAkdFGR41y7TtOFffvmlO2uuSUQ0TbimG9dkBppOfMuWLQetN57HZJRJ0BTnd955pztAVNbGu46cbvOyKffdd58rhVT2Q9P0K7Oj7JcOWJU50Fg13a8f3acDVm2ngp7Qg9Bw2g96Hm2L1quxZAooNI7Ou6xDNG3UtevuuOMOe+ihh9z2K9ugZZSBUWlZpPI3TzTbF4kyJWqnMpOxvjZehkZll5qUQqV0miglEe2Ktg3aR0OHDnX7Vtug68Sp9PPII48MZn6y0wZvGn5NlNOiRQubNWuWez1efPFFFzBmZ92J6rfROuGEE1zgrQywJifJSiKfO5Hv93B6zUeMGOF+3njjDZdR9KhPKGiO9nqSAHJGkqa6zKF1AwAyEZ4tEh3EqvxKkxnoAFdjmEJLm3QwrQNeld2pHE8Zhw8//NAFNjrg/+ijj1wWR0FSNI/Rc+lCw8oWhF5YWBeR1ix7ut6bR+PVdICojI0OjnXQGNo+L7Ooi2jreXXQrwyjMgehVEanGSV14Nu6dWsXzOmANvRAMZwORnW9La1fz6mDX+/i66GiaaOyCmqjJo1QmaWWCb9ItYIoXeQ5XDTbF07XBOvTp4+7Fpo3AUs0r01oeZuyWLpItNoVSWbtymybom2DMowqVVSQoddMGSQ9burUqXHvG69s1gveNAGLSvc0CZBmNk3E9iWi33oX487qPaITMcomqz/rPahsVuiFxRUAh78/49lv2Xk9o3m/e9sbfkF0ZTqV6dMspN7YUJU/a3IWTVYEIO8Q0AEAkMM0db4OfJWN8RMd5CvY0EG8F/QqQOjZs6fL/Kh8MV5eQKcJbzQBB/xFl1ZQGbWy7JECaQC5h5JLAABymEr8FLwooxFpYon8SpkiZeNUSuiNMVSAp0zdTTfdlNfNQx565JFH3GycBHNA3iNDBwBALtD4LU1aoTF1fqISQpW76vIJKrXThCUquwwvW4xVRqWMyP9UAq0yztDySwB5h4AOAAAAAHyK0yoAAAAA4FMEdAAAAADgUwR0AAAAAOBTBHQAAAAA4FMEdAAAAADgUwR0AAAAAOBTBHQAAAAA4FMEdAAAAADgUwR0AAAAAGD+9P8AVUz6OupecJMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3MAAAJICAYAAADLg72gAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqplJREFUeJzs3Qd0VOX29/GdXukJvTfpHVQQsSAqYkNRsYtdxHrtvberXnsBG4q9ICoKNhCwIIqAgtJ7KIFASK/v+j3+J28SJiGZTEgm+X7Wykpm5syZM2cmM2efZz97B+Xn5+cbAAAAACCgBFf1BgAAAAAAyo9gDgAAAAACEMEcAAAAAAQggjkAAAAACEAEcwAAAAAQgAjmAAAAACAAEcwBAAAAQAAimAMAAACAAEQwBwAAAAABiGAOqAKZmZk2bdo0u+qqq+yUU06x448/3i666CJ7/fXXLTU1ldekmGuvvdZuuummgsvbtm0rctnbMv5SWeutDjZs2GBHHXWU/fDDDzX+ufrD+PHj7a677irX+xLVh7/e34H0Ous533LLLVW9GQAqUWhlrhzA3tauXWsTJkxwAd24ceOsV69eFhISYosXL7YXXnjB3nrrLXvzzTetWbNm7L7/c/PNNxfZF++995599tln9sgjj5S4jL9U1nqrg6ysLFu/fr2lpaXV+OfqDwkJCZafn1+u9yWqjy1btlhERESF1xNIr7Oec3R0dFVvBoBKRDAH7EcZGRnu7H5wcLB9/PHHFhsbW3DbAQccYEcccYSNGjXK7rnnHnvxxRd5bf5PkyZN/LKMLyprvdVRbXqu/sD+AgBUNYI5YD/66KOPbOXKlTZlypQigZxHo0aN7IorrrClS5dabm6uG7GTv//+21555RX3OzIy0oYOHWoXXnihxcTEFKTSdOjQwZo3b26ffPKJ7dy50zp27OjWpSBRlNLZpk0b2717ty1atMg6d+5sjz32WJnW740eU+tr0KCBffHFF26UZ8CAAXb55Ze75+Ghdb766qu2YsUKCw0NtcGDB7uU0jp16rjbtT0vv/yy/fbbb7Znzx5r0aKFC2hPOOGEIo8VHh7uzoQ/9dRTbv9p/yhF8JxzzrFzzz23yDJlfeyy7Lfi6y3LfWTOnDluhFVnxtu2bWsXXHCBS9HTfj3xxBPtm2++ceu87bbb7LDDDiv1ffPTTz+50YBVq1a5y3rtLr74YuvSpYu7rBMEcXFx7iRA4RRKjfwWXv/s2bPdyK9GmNq3b++2o/hr6m0fVvS9J8uWLbPXXnvNradevXo2fPhwO+uss9zrUtbHKonSRPW8Nm/ebO3atbMrr7zS/Xiee1n3z772c3H7el9qROSll15y78FWrVoV3E/rv+yyy+z++++3Aw88cK/1Kt363XfftQ8++KDgvSoLFixwKXOPP/64G9Evyz4r6f++LP93ZdlvZVlPSftO75u6deva9OnTLSUlxbp3727XXXedrV692u0z/e906tTJLVt4/+3rdSrts66wf/75x/7zn/+49+lDDz1kYWFh+9ynJX3+eFPRz9yyvB/L8n/l+e7RflaKqP73i/9/Aghg+QD2m7POOiv/0EMPLdd9fv755/yePXvmT5gwIX/hwoX58+bNyz/uuOPyR48enZ+RkeGWOeOMM/IHDRqUf/755+f/8ssv+X/88Uf+mWee6a5LS0tzy4wZMya/S5cu+ffdd1/+4sWL86dOnVrm9Xujx+zTp0/+yJEj8+fMmZP/448/5h9//PH5Rx55ZH5ycrJbZvr06fldu3bNv/POO/MXLVqU/+233+aPGDEi/5hjjsnfvXu3W+b000/PP+200/Lnz5+fv3z58vy33nrLbecnn3xS5LHOO+889/eOHTvcc9B6165dm5+UlLTXMmV97LLst+LrLct9Pv/8c/ccHn/88fwlS5bkT548Ob937975BxxwQP6bb77plklJSXHbr9+l+fLLL/O7deuW/8Ybb+T//fff7jEvuOCC/IEDB+anpqa6ZU4++eT8yy+/vMj9Vq5cmd+5c2e3LaLXW9v0v//9z23Ta6+9lt+rVy+3jB7D23P113tP743u3bvn33LLLe72r7/+On/IkCH5d9xxR7key5tPP/3UPa9HH33Uva8nTpzoHrvwcy/L/vFlP+/rfZmQkOC27Zlnniny2E888YRbb2ZmptfnpP8DbduHH35Y5Ppbb701f+jQofm5ubll3mcl/d+X5f+uLPutLOvxRvtO/xOXXHKJ+//8/vvv8/v3759/+OGH548aNcp9pug1OProo93nikdZXqeSnnPh12vZsmX5Bx54oNv2PXv2FKx/X/u0pM8fbyrymVuW51mW/ys9Z33unHPOOe410uONHTvW/Y/s2rWr1NcIQGAgmAP2o8GDB7sv5PJQ8KGDGc8BnOggQgcJOiD3fGHrQCg9Pb1gGR086KBrxowZBQcWAwYMyM/Kyir3+r3RY+pAYuPGjQXX6W9dp4NXPc7BBx+cf9lllxW53/r1690yjzzySP727dvdNr799ttFltF6dNBU+LEKBxlPP/20O5gqvj2eZcry2GXdb96CudLuo/2oA6r//Oc/RR570qRJbhlPMFdWOsi77rrrily3dOlSt66ZM2eW6aDbs03F1/PSSy+VGsz5672ng3MdQBamg30dZG7ZsqXMj1WcltX/1BVXXFHkegXR5Q3mfNnPZXlfjhs3zp3gKEyXdZKhNHosBcgeCvz0//vYY48VXFeWfebt/76s/3f72m9lXY832nd9+/YtCEzk5ptvdutTcOfxwQcfuOv0WGV9nUr6rPO8XlpewYwC0cKBXFn3qbfX2ZuKfOaW5XmW5f9Kz7lfv35Fnqf2r9aj4A9A4KOaJbAfpaenF6TyFHbmmWe6lJ3CP7///rutW7fOpRyNHDnSzbPzUOqOUtmUNuehlBml63g0btzY/U5OTi64rnXr1kUevzzr92bQoEEurcpDf/fs2dPmzp3rUkV37NjhKnUWpnSpvn37utQ4pWhqm5588kmXjuZJJ9J6GjZsaL4qy2OXZ78VV9p9/vzzT9u+fbsdffTRRe6j1DNfPP/883brrbfaH3/84dIY//vf/xZUVCxr5VOlYGmbjjzyyCLX631WEn+995TWtXz5chsxYkSR9R933HE2Y8YMl2bn6/tQaXKJiYkutayw4umj+2s/ezN69GiXmqgUSVm4cKG7vK9tPPnkk+2XX35xr5vMmjXL7c+TTjrJXS7PPiv+f++v/7uKrkdpg4WLcyg9W8+la9euBdfVr1/f/U5KSirX61T8OXts3LjRzj//fDd/WfOSC6e7V/Tz0BtfP3P39TzL8n9V+P+z8PP0fGYrJRpA4GPOHLAfaV7R1q1b97r+0UcfdXMw5Mcff7S7777bHWzoC1smT57s5jwUpts895HCB9PiOVAoXH1P81+Kr6Os6/fGW8XN+Ph4F0x5DkI9B/bFC0do7qDmBGq+xzPPPGMTJ060J554wu0jHehoTlHh+ULlUZbHLs9+K660+3j2qfZDYbpc+OCtPNVPb7/9dncwq4NczZUaM2aMm4OTl5dXrv1R/PUvvo2F+eu9V9JroQNcHcCW97EKU8Du7XnpPVQV+9kbBZo6sP7000/dnFJVQdQBfr9+/Uq9n4J/zcXTPKfzzjvPtTLRiRId8Jd3nxXfP/76v6voerzNhdRcL29BmOf/sayvU/Hn7KFAWvtQnwFvv/22mzvmr89Db3z9zN3X8yzL/5VHVFRUkctBQUHuty/PB0D1QzAH7Eea5K7iBgroClfCa9myZcHfKtZR/CBZRTuKj6qIt4Oe8qjo+lW0oLhdu3a5ifieAzVN/i9OByieM8d67jpo1YHFkiVL3FnlN954w53l97WiZ1kfuzJ4RiSKP7aKQ5Q3KNCZ86uvvtp69+5tzz33XMHz0khb8YOz4sFndnZ2wd+eg+rio42ljT76673nWU9lPFZJz8vTaqGs+6es+9kXKoWv4ObLL790Iy36rQIVZRn1UoERBXMapdOITeHeZhV9fcryf7ev/VbW9fiLP14nFSNSUZEHH3zQjX5pdFpFVvbH521ZH6Msz7Ms/1cAagfSLIH96Oyzz3ZfzN4qq3kLkDxpSGvWrHFnWz0/OoC68cYbXbXEiqjo+nXwVvjsrrZd1dWUfqnKdDowmT9/fpH7KEVIqYieanyFz/L36dPHHbAec8wx7gx0STxnlktS3sf2J88+VTpdYUqbLS8dECswUWpd4VEM7XfxHGjrzHvxwFqvqUe3bt3cNnlS/TxK28f+eu/p4FnBffHH2rRpkzuQVsU+Xx9LVf2UPvbrr7+W+rz2tX/Kup/3paT3pVItFdxrBF4H6vuq9Oih7dFz0QiStkEpdP5+fUr7v9vXfivrevzFH6+Tsgn0ntF26n2p6qCez7Cy7tN9ff6UpiyPUZbnWZb/KwC1A8EcsB9proLKin/33XeubHXhUTilzTz77LNuXoTOFOvLWmf1Va5a6Tiff/65Wy4nJ8fNn1AqY+GDO19UdP06cFCpbo04qTXBfffd5/5WWphGv1S2WyXWv/3224I5g3feeac7UNHj6oBGcz4+/PDDggMxlZdXmfODDjqoxMfVwZgOwHRW2tt8prI8dmXRtqlUuUrlewI47SdPAF+eA0GVbtdrpPeLZ0REB3RKaxOl4or2lebW/PXXXwXzgnRGv/BZfD1njUgojdeTbva///2vxMf213tPB/kahdA6NO/L81oosBHNYfT1sXS/Sy+91N3v+++/L3j/6H6F7Wv/lHU/70tJ70uNsOgxFJQpvVJplmUxbNgwN2fshRdecKN0Gq3zx+tT1v+7fe03X/9/feWv10kUCKm9gu6vNgjl2af7+vwpTVkeoyzPsyz/VwBqB9Isgf1MB2iaP6M5Jgo4dFCgL26lJ2pESQcYOiOr/lWeXk/6Wz2pNJdOB01K0dQBXo8ePSq8PRVZv+Zy6MywRuIUzCkIVRDTtGlTd7t6OOks9M033+zmUenAR6MpSsPy9ErSAYmC2IcfftgdJGk/KP1I21KSww8/3CZNmuSWU6ERbXtxZXnsyqIeZzrQU1Cr56QAV0VulNblSY8qS585pWxqmXvvvdf1I9Pz0Y8CGL0+GmUUFXTQiOjpp5/u7qPX8Prrry+SlqfX2bNter0zMzNd0FlaKpy/3nvqjSUaeVAwq8fWwab6bHn2h6+PdckllxQ8X43G6uBX7wlPMY6y7J+y7ud9Ke19qVRJHbCXpziLno/mzmm0xlP4pDBf95l68ZXl/25f+62s6/EXf71OHkp/1WexgiRts/qvlWWfluXzpzRleYyyPM+y/F8BqPmCVNKyqjcCqM08Z3d1oKKgriSeSe9KfSo+50tz8PRlXngyvIJEnUlXhTgdZKkBr4Iab0VB9rV+b8aOHesOMHTgoO1XMFd45KAwbYsm92s7SiqKoDQ0rUfbW3w/eIrGFJ5nqLPZWqe2Vev1tsy+Hrss+634estyHw+dQdfz0rIahVV1TRU+0AGanqsqMapAwr6aYnsKiWjdnup/2g69ZoWL0CglTj96PL3WqpxXfP0KdvS42lYFC+vXr3eFULTekvZhRd97ha/XejQqUrwoQ1keqzR6/6kgih5To446UFdBjsIjVPvaP/vaz/of0oiIp3BMWd6XHioU8vTTT7u5b+V5Xp73idLw9Njl3Wf7+r8v7f+urPutrOvZ1/tG81n1OIUbhGskXc9N+99zgqssr5O35+zt9fLsX70nPZUz97VPS3udC6voZ25Z/+9L+7/ytp91f/2PFP//BBCYCOYA+KRwMIeiB2CnnHKKS6fTCIYCJh2gam6OKuipKqE/CimgZBqV8xbMVeUJG70njj32WLvuuuuqenMAADUIc+YAwI90FlxpVOq1p/RTpWQdcsghbkRMgS+BXO2iAE6vv+bJFS6DDwCAPzAyB8An3tJ3YHu1I9CPUmiZw7L/KHBWIY6ypLBWNr3+mstUUt8zAAAqgmAOAAAAAAIQaZYAAAAAEIAI5gAAAAAgANFnrhQLFy50lekoWAAAAAB4n6esOfQ0q68ajMyVQoEcbfhQW+m9r95d/A8AAIDSjhc4Vqg6jMyVwjMi17Nnz/31egDVhpr1Llu2zDp27FjQsBYAAKCwJUuWsEOqECNzAAAAABCACOYAAAAAIAARzAEAAABAACKYAwAAAIAARDAHAAAAAAGIYA4AAD9566237IUXXihy3c6dO+2KK66w1157zV1+9tln7YsvvvB6/7lz59qDDz7I6wEAKBNaEwAA4CerV6+2pKSkgsvp6el22WWXWW5urp1++unuuqOOOspiY2O93n/btm2U+QYAlBnBHAAAlSAnJ8euueYaNzL37rvvFvRrPOCAA9jfAAC/IJgDAKAS3HnnnbZo0SJ75513LC4uruB6pVm2a9fOjjvuOHf5/ffft1mzZlnz5s2tTZs2BcspCJw0aZKtWbPGWrVqZWPGjLFOnTrxWgEAChDMAQBQivz8fFubkGwbtu6xzYmplpKWZWZB1qBOhDWPj7E2zepa87iiaZNPPvmkffTRRy4YU+BW2PLlyy08PNz9rfl1CuauvfZaS0xMdIFe+/bt3W033HCDC/DOOOMMW7hwoZ199tku6IuKiuL1AgA4BHMAAHiRm5dvvy3banP+2GTrtiRbVnaeuz74/0qH5ef/+xMVEWIHtGlgQ/u0dIHfTz/9ZF9//bU1bdrUPvnkExs6dKjX/atlJ0+ebPfdd58NHz7cXaf5dgsWLHB/b9y40fr27et+hg0bZgcffLDl5f27DQAAuO8kdgMAAEVtT0q3iVOX2BvTl9qqTbstJirMmsVFu5G4po3+/WkWp59oCwsLsUUrEu3lTxbbyg27bNeuXfbQQw/ZM888YzNnznQjdN4kJye7VMouXboUXNejR4+Cv2+55RabMmWKHXTQQXbmmWfa1q1bLSYmhpcKAFCAkTkAAArZuG2PTfr0T9uyI9Ua1I20qIiSvyqDgoIsNirM/exJy7JN21OsTed+dujhI6xebIRdeeWVdv/991u/fv32SrdUumRwcLDt2bOnSPVLj8MOO8zmzJljf/zxh2tZcMcdd7giKp5RPAAAGJkDAOD/7Nidbq9MUyCXZk0axZQayBVXJzrcLZ+aZfbqZ39ZRlaOXXLJJdatWze7/vrrLStLc+3+P82bGzx4sOtNJ9nZ2S4t0/O37rtp0yYbMGCAXXXVVda2bdsibQ8AACCYAwDAzPLy8u3jWStdkZMmjaItJDio3PslODjIIsNC7J91SfbN/PVu5O3RRx+19evX2xNPPLHX8nfddZf98ssvduyxx9rRRx9tISEh7vqwsDAbOHCgnXrqqS7FUr3pNJI3cuRIXisAQAHSLAEAMLNFK7bbouXbrWGdSJ8COTmg31GWl5drFhlq3y/YYH06x1vLFi3svffecw3BVcBk/PjxBU3DW7dubV9++aUtXbrUGjRo4K7XaJxcfPHFNnr0aFu7dq3VqVPHtSVQWicAAB4EcwCAWk+VJecu3uwqWEZF+v7VWLdRs4L1JSSm2q9Lt1rLxnWsQ4cO7sdb03CNwvXu3bvgcsOGDQv+btSokfsBAMAb0iwBALVewo5UW7Vxl9WN+bf/W0VpBC0yItR+XbrFsrJza/3+BQBUDoI5AECtt3FbimVm5VZoVK64mMgwS0nPdoEiAACVgWAOAFDrqQ1Bvr4U/TgnLTws2LJz8mzrjrRav38BAJWDYA4AUOulZ+Zooptf94OnWEma1g0AQCUgmAMA1Hr+HJHb64uWApQAgEpCMAcAqPXqxkT4vey/KmNKvZiIWr9/AQCVg2AOAFDrNY+LMcVyubl5ftsXmVk5FhEeYs3iYmr9/gUAVA6COQBArde2eV2LjQq3PWnZftsXWleThtEWVz+q1u9fAEDlIJgDANR6daLDrX+XxpaWke0afleURvhyc/NtcM/mFsykOQBAJSGYAwDAzA7p08IFdUl7Miu8PxJ3ZVizuGjr37UJ+xYAUGkI5gAAMLMW8bE24sA2rnm4a1Xgo+SUTAsJCbKTD+tosVFh7FsAQKUhmAMA4P8c1r+VDezWxJKSM13KZXntTsm09MxcO2pQa+vZIY79CgCoVKGVu3oAAAJHWGiwnXVMV9d37tdlWy01Pcca1Yvc57y3nNw8S9yVbuGhIXbs4LY2cnA7v7c6AACgOII5AAAKiQgLsXNHdrPOrRvY53PX2JYdaRYaGmQxkWEWGR5iISHBrkhKTm6+az+ggE+Xm8XH2ujDOlr39o3YnwCA/YJgDgCAYjQSN7hXcxeY/fb3NvtpSYLt2J3u2g3k/V8z8NCQIIsID7UOLevZwT2bW5/O8RYVwdcqAGD/4VsHAIAS1IuNsCMGtLLD+7d0VS4TElMLiqPUiQ6zZnGx7jcplQCAqkAwBwDAPihYa1g30v0AAFBdEMwBALAP48ePt40bN7q/g4ODrU6dOnbQQQfZuHHjLDKSAA8AUDUI5gAA2IdVq1bZyJEj7aijjrLc3FzbunWrPf/88/bTTz/Z66+/biEhIexDAMB+RzAHAKiVdu3JtPVbky0hMc2270qz7Jw8Cw0OsgZ1I61ZXIy1bFzHmjSMLli+WbNm1rVrV/d3jx49rF+/fnbMMcfYl19+aaNGjarCZwIAqK0I5gAAtYZaCKzauNt+/jPBFq3Ybqnp2abalPn5mhdn7u+g/7scFRlqB7Subwf1aOZ1XQ0aNLDhw4fbzJkzXTB34okn2jnnnGNTp061U0891fr27WuvvfaarVy50i1/6KGH2kUXXeTSNEePHm133HGHG93LyMiwCy64wK3vueees+zsbLfc0KFD3f3WrVtX4noAALUbwRwAoFbYk5Zln89dbT//ucX1h4uJCrP4BlGub1xxaj+QlpFji1Yk2pKVO9wo3u6UzL2Wa926tRuZk7///tv9fdVVV1lcXJydf/75dsopp7jAbfny5XbPPfdY+/btXQCoZe+77z674YYbbNGiRXb99de70b4rrrjCFixYYNdee61L4VThldLWAwCo3QjmAAA13tqEZJv8xVLblJhi9WLCrWHdmFLbCajPXGx0mPvJyMqxzOxc+2b+eut78Fbr36VJwXIRERFF7qeCKIMGDbKsrCx74YUXrEuXLu76Xr162VdffWVr1qwpWPbqq6+2gw8+2AYOHGj/+9//XCCny7q/Rui2bdtm8fHx+1wPAKD2IpgDANRoazbvtkmf/mk7dmdY04bRXkfiShMZHuoahCuoe+urvy03N98GdW/qblMhlObNmxeZVyfh4eHWpk2bgsBLP0uWLHGBmkeLFi3c79DQUJcy2bhxY3dZxVR0OScnp0zrAQDUXlUazKkimKfUc3FhYWFFviBLuv/27dutadN/v1Q9NmzYYHl5eUWua9iwoSslDQCoPZQe+frnS21HcoY1jYu24FJG40oXZHViwi0nJ8/e+2a5NawXaR1b1rd58+bZscceW7CUp6rlzp07XWpkhw4drGfPnjZkyBBbvXp10TWWYVvKsh4AQO1VpcHc7t273STu4jZv3uy+uKZNm1bq/ZWGMmvWLPv4448LrsvMzLSjjz7amjRp4s52elx++eVuvgEAoPYUO5k6e6Vt2ZlqTRvFVCCQ+5fuHVc/0hJ2pNmH3/5jkbt+cScUTz/99L2W/f333y0tLc0VONHo2sKFC117AxU3KQ9/rQcAUDNVaTCn0bKvv/66yHWzZ892zVnvuuuuUu/78ssvu2Cue/fuRa7Xl5xG7D777DOLjY2tlO0GAFR/S1Yl2m9/b7MGdSIsJDio4uv78VNbvvBbl/kxZ0+SNWvW3F599VX3XVac5sHppKIqUtarV8/q1q1rhx12WInZKCXx13oAADVTtZozl5qaarfddpur3NW/f/8SR/M0SXzFihXuS05nLAtTpS+lXRLIAUDt9uPizZaTm2fRkWEVXtehJ19luTn/joYFB4dYWm6ENY5rZO07di5YRi0JPHPmFHjp8qZNmywqKspVt9y1a5clJSW525VR0qpVq4L7erusdWk0rrT1AABqt2rVpGbSpEkFKZElSU5Ots6dO9sXX3xhffr02et2BXlK0dSZU1UC0ygdAKB22bw9xf5Zl+TmuflDvUbNrWGTNu6nfnxLi49rZIm7023JysSCZdRQXMGXh4qYKEBTACb169e3du3aub9VnbLwsqVdLm09AIDaLbQ6jcq9+eabdskll1hMTEyJy+kLrbQUTAVzarB6+OGHuzkFWq9KRU+YMMGnBquac1F89A+oDdLT04v8BgLJsjXbLS0j25pEh1bKST1lbebm5Nnfa7ZbtzYU1wJQe+lYuSwFnVDDgzmlkegL94wzzqjQejIyMqxfv3527733upSUX375xQWISnlR+mZ5KSBctmxZhbYJCGRr166t6k0Aym3xsmTLysyy1JSilY39KTc3x5as2Gxdm+zdTBwAapPCmQWopcGc0iY1qVuTuyti8uTJRS4feOCBduKJJ7pg0ZdgTi0SOnbsWKFtAgKRRuQUyLVt29adGAECybd//WnR0XkWWyey0h4jPyTLcvKDrEPHzhYe9m9LAgCobVauXFnVm1CrVYtgTpO5VW75iSeeqNB6NIqmtgYqgBIREVFwfXx8vCuc4gsNG0dHR1dou4BApkCO/wEEmpw8NeMOLuj7VhnU/kYNxEPDIy06quJFVgAgEJFiWbWqRQGUJUuWuIIlAwYMqNB6tI7jjz++SN85mT9/vmu2CgCoHdSKID+/kh/k/x7AD10PAAAI3JE5tRNQnx6NoBW3Z88e27lzpyt8sq8CJhqNO+ecc+x///ufq/al+3z00Uf2559/2gcffFCJzwAAUJ00qBtpaxOSK/UxsnP+bXsQEe7fr9Jvv/3WvvvuO1e9uX379nbmmWe6XnNV5d1333Vz2s8666wq2wYAQDUO5vQl0bt3b6+3qan4Cy+8YJ988sleveMaNGhQ0NPH4/rrr3dB3DvvvOOCwE6dOrkvIua9AUDt0apJHVv4z7ZKfYzM7Fzr0rahXxqSe74Lr732Wjf/5Oyzz7ZGjRrZnDlzbNSoUa7as9oVVIVVq1bR5gcAqqlqEcyp2mRJRo8e7X68ufDCC91PYRq9U0XMilbFBAAErhbxMRYcFORGz8JCgyulFHdenlmbphUr2lW8gNfSpUtdwS7Pycujjz7aBVL333+/vfXWW357LABAzVAtgjkAAPypc+sG1qhepO1OzbRG9fxfjTU1PceiIkKsV8d/G3n7g6YDKJWxeBbKdddd5wqFeeaGa174jz/+6AoTnXDCCTZo0CB32y233OLur+kFiYmJ7kRot27dXHaL7n/yySfbsGHDCtY7bdo0++GHH9x6TjnllIIMmaysLHvttdfcfPZevXq5wFU0SjhjxgwXWHpoxDAyMtLGjBnjt/0AAAiwAigAAPhTZHioHdSzmWVm5Vpunn8roSi4SU7NtAPaNLTm8UUDr+Jyc/Ns+fok+/63Dfb2jL/tlWl/2uuf/2WfzVltv/291ZL2ZLjlcnJybPXq1da1a9e91qH55JoyILfddpu9+uqrLijT9IHx48fbzJkz3W0LFiywa665xgVwPXr0sAkTJtjVV1/t/u7QoYO7rOkH8uSTT9rTTz9thxxyiLtNGTK6v9x0001uisOxxx7rgsIPP/zQXX/AAQe4QFJpl579MGnSJDevDwBQNRiZAwDUSIN7NreflyTYjl3p1rih/1rMJKdmWVRkmA0f1LrEZbKyc+3HxZtt7uLNtnVHmmXn5rnql8HFqmzGRoVZn86NbVCXBi44KtxWp7itW7e6+ePTp08vCKC0/DPPPGMjRoxwlzUy5xkl06iZKjyfeuqpBSN/CsTU3PeVV16xKVOmFIzGqbT4888/bw899JBb/zfffOPmnx933HEFwVvjxo3dKKBG9DS3T8Gf2jP079/fH7sVAOADgjkAQI1Uv06EnXBoB3vji6WWkpZtsdFhfil6ohTLkYPbWseW9b0usy4h2T74doWt2rTLQkKCrF5shIWHBu/ViykvL9/2pGXZDws32sLl2ywyKto2b95iffsWXZ/SHlNSUmzNmjVWt27dIiNhffv2dWmPSr+Udu3aFekR2bJly4LLCvzUj3XdunXu91NPPVWwTerFumXLFlu7dq1L81Qg56HWPqqsKSrG8txzz7kRwM8//9wFiwCAqkMwBwCosfp3aWyrNu6yWb9vNMUtMRVo7q3RtsRd6dajfZyNOLCN12X+XJVok6cvc6N3cfUjLTys5KblGqVToFc3JtyS9mRanSad7fV3ptmIo0dYWOj/v5/aFCi98vXXX7e0tDRXEMXTDF1BXlhYWEHrnuItfLw189UcNy2nipkaWfPQOjV/LiMjw6V9em7LzMwsWEYFWe655x7Xv1Xz595+++1y7EEAgL8xZw4AUGMpmDnliE42tE8L25OWbTt2ZxQU9CgrLb8nNcsSd2VYt3aN7PxR3SwyYu9zoas37XaBXGp6tjWLiy41kCu+jQ3rRlr3A0fZkt9+sLsfe71gGzdv3mz//e9/Xa85zVlTuwK12xGNxilV8qCDDirX82nTpo1r66O0zUMPPdT9aG7c3Llz3Zw9tf15//333bIakVPQ5lGnTh077LDD7L777rMWLVowXw4IEM8++6zdcMMNPt3X83m0bNkyN6e2Mqgn9I033mh33XWX+2wqi3nz5rmq9so22JeXX37ZZRNUpvJ+t/gLwRwAoEYLDQm204d3tlOP6GjhYcGWkJhqKenZ+/zi1e3pmTm2RXPecvLsyIGt7OITe1id6PC9ls3IzLH3v13uRuQaN4zyOiK2Ly3adLIBIy60ae+9YEcMH+Fa7GjOmoqUKK1Rc90efvhhl+aoSpUaJVNPuttvv718+yM01B599FG3HlW41GM88cQTdswxx7jbHnvsMXdZc++URtm0adMi91eq5YoVK1wlTQDVn0b0VTjpp59+ssWLF5f5fkrxHjdunCUlJbnL+ixQ5Vt/U/B2/vnnu5Tu9PR0V6ypLHQya8WKFa6C774oEF2/fr1VlokTJ9qnn35qVYE0SwBAjRcSEmxHDGhtXdo0tM/mrra/1+60hJRMCw0NdpUvFeSpL53iu6ycXFcFMys7z13foUV9GzmkrRuVK4nSONduTrb4Br4Fch6dew22Os16WGj2Djv9yHbW9YBObjTO4+CDD7Zvv/3WHcAoLVKVKz2Pp+IlhefTebusypUyYMCAgvUopVLrUbDoeYzvv//eHfxoFE8HdPrxUHCp1E4FgQCqP1WnjYuLc8WKVJ1WLUfKQinXGv3y0Ki9pxWKP/32228uW+Ccc85xAddRRx3lHlsp4SVRuxW1Vhk/fry98847rnKvJ/28KmhbquoEF8EcAKDWUCuBS0/uZZu3p9iCZVtt+YZdtnVHqqWmZZs6GCgu0ny1po1irEPL+tbvgHgXzGl+W2lFUVS5MiI82C8NyuMbxtr2pBALqdOmSCBXuLCJt4MxBWjluayCKGpb4I3SKUs6aNPZ/cGDB7uDQwDV32effeZO0iiYu/fee+3WW28tEiglJCTY5MmTXSCllicXXHCB1a9f36U8iqrXKgNAJ340d/eRRx5x12/bts3eeOMNlyKptGsVTtL9dCJIVW/1eErT1mfWaaedVuLnjU466bF37Nhhf//9t7Vt27bUQE6++uor91hnnXWWSyFVmnjhPpqaT6yqvcuXL3efVx5Tp061TZs2uSDQQxkP2j+6v9LXVfn3l19+cesfO3ZsQWsY3efSSy9161AwqRT1k046yY0Q/vPPP25fiLIa1O5F+9qT2aA0z+bNm7vMhssuu8xVGVbapwJXtYEp6THLgmAOAFArg7oT/q9HnFIkdyZnuFRKT/VJb6mUJVm2Zocl7s5wTcr9lRYaZEH2y18JdnDPZlZdKO30vPPOcwdHOjABUDV2p2Tayo27bEtiqm3flW45ufkWHRlqTRpGW4vGse4ElOfEkgIknYBRsKZ5twrQ1JvSM4qkoETBx9ChQ91ou4IkBSKaN3viiSe6ViWnn366NWnSxAVtv/76a0FqpAIZBSMKllQUSQGKgjilZSrA0WeF0jJVxOmiiy6y2bNne22/0qVLFzvyyCNd0Kj5u5onvC96HKWB161b1wVVSrUsHMxdfvnlrtCTtl2BnrINFCDpR3N+tT3aFvXe1LYqnVQUtOp5ah8o6FOwqEJPCnJ//PFHl9p+8cUXuwrAKkyl/aJ5y5rL7AmYRY+ZmppasD0KcBUMi0Y7tY/OPfdcF7iW9phlQTAHAKjVVMxkX82/S7Nha4oLdPwxKucRHRVqm7aluEDTW7GVqqB0zv/85z9utFBn4QHsX8oomL1wo/3+zzbXbuX//2+qINK/v0OCg1xQN7hXcxvSq7l98cUXbsTME2QoYFPg4wnmNGqnHpJKwxYFZz///LNLre7Xr5+7TsGKgqbCFLwoMNLo05IlS1wgc+edd7pemGqRoqq7an+iVifqg9mnTx/XXkWBW3EKINW3UqNiKrCkuXOlUcDz+++/u6BMFLBdeeWVLkBSKuhff/1lixYtsjlz5li9evVs5MiR7jrp3r27S+lUYKnt+vLLL10WgvbBxo0b7eOPP3Z9Nj1tXRSQ6eSV5hmLHsfTkkXboBRRXacRNe2PwqntpVHhFj1+WR5zX6rHNwQAAAFqw7Y9FZon501EeIiroLl1Z5q1aVb0IKoqlXWuDQD/yc3Nc0HcVz+ts92pmRYbFeYCNm/p32qhsi0pzT78boVLJZ/74SeuqIiCB9m+fbsbMVMQoeBBAVbh9EfNh9UonWjeWkl0PwVoHvoM1GWNXCmY00kfBXKiwkpKm/SMTBWmgOiWW25x6ZtaXumYAwcOdCOCGmlTJd/iFIBqnQ8++KC7rCBQvTN1vUa71C9TAZsCOY/CAaICWa1fwZTu43mMVatWuXl3nvRSz/4q3PJFI2mF09G9Paey8ARuZXnMfSGYAwCgAlLSsiw0xL/BXGhwkOXm/ltNE0DtpfTvd7/+x35akuBG/5vHxZR68kgtUeIbRLv7/bVshS3/Z5ldc+M91r3T/0/ZfuCBB9wImqpGKiBRYFdeGgHTvLTC9uzZY/Hx8e7vwj0sPbxVENYImUYAe/fu7S5rNEoZAArO1KrAGwVg6pNZeC5ckyZN3Iijgjn1yyyc4lg8MFX66IsvvugCKQW2w4cPd9cr4NSP0skLKzx/r/jzKqkqsl6jwrcpoC7Ms56yPOa+0JoAAIAKcFUw/bwHPevz84AfgACiYGDqrJWuwFLdmDA3L7esWQAK/FIT/rD6TdrbqtRm1qRNj4K+kgpmFMxp/QceeKCb36XRIM8cOhXo0FwyT3VIjXwVp7RKpUeqCIpnDp3mpZW376XmhWm+mGc9SsPUCJ2CHc2fK27p0qVuVFBz3jzP59BDD3Vz3lQ8Rber2JOCOVXxFK1b1SYLB34KHu+++26XVqrgz5OCqcdViqlnvQr4lEq5L9pXSi31UNqlnpfoeSxcuNDr/SrymB6MzAEAUAGN6kfZqk27/boPdVZdB2MqxgKgdlqyKtHmLNpksdFhFh0ZVu77r1v2s3Xuf5SlpmfbB9+tsGvP6GcxUWFuztfTTz/t5sZpdEuFTDSXTvO9FCipx2XDhg3dOjTfToGS5sMVphRF3V/3U5VGVaPU3DXNeVOhkLLS/bW8tkmBnQqFqACIWqVo5FAtVDR6WLjwiea4Fa+m27lzZxcIanTujjvucKOPGtnT9Qo0C6dHigJaNUB/7bXXCq5TEKm5g0r7fOmllyw5OdmNEKqH3L6ouIx6d+o+KmSifabt0NxCBcYlVfKsyGN6BOVXVbvyAKAJnbKviZhATW0yqg/Vrl27Fpy1ArC3b+avsw+/W2nN4qL9NncuaU+GRUWE2X2XHOx65AGoXdTy5JHJv9rWHWnWpFH5v4Nzc3Ns67qlFt+ikwWFRti2nWk2cnA7O+HQf3tNqgy+yuarl6Qo4FFA1rp1azdy5aGiIhrxUrCizzf1pizctsQzIqc5ap5qkrpP8eVUUVPH0555dMVt3rzZNmzY4HphegI1jWgVD9r++OMPN+pVPDgTjWhpZNFT7EVBlObwKUjUNilAVHDqSbtUZc4hQ4bsNT9Nxz/afl2vYyBPSqSCTs0b9jwHtSNQRUxti+bOaduUfurp5+nZp1qHRj61Hj2+qllqfmFMTMw+H7MsCOZKQTCH2oxgDiibVRt32VPvLXRnvKP8VHly8/ZU15bgvOO68TIAtZCKl7w67U838u+PSrlqvxITGWa3XTDIp1G+0nC8XLU43QcAQAW0b1HP2jSta7v3ZPplP6odgQ7eDuzxb7NZALXPgmVb3G9/tTypGxNuSckZ9ufqHX5ZH6oPgjkAACpAqUeHD2jl0iE1N6UiNPNBZ9A7ta5vnVo14HUBaiHNmV27OdmiIv1X2iI0JNg0sWrj1qIVKBH4COYAAKigvp3jbUDXJrYrJdMdiPkqcVeG1Y2JsFMP7+Sa/wKofbYnpVl6Vq5FhP1bTdJfQkKDbN2WZL+uE1WPYA4AAD+Mzp18WEfr0KK+a9irxr3lHZFL3JVuISFBdsrhHa15vPciAQBqvrTMHNco3N/Fj0KCK549gOqHYA4AAD/NSbn4pB52QOsGtmN3hu3ak1liQ9nCFPht2ZHmzsKfPvwAO7DH/2/uC6B29q78tzKu/ztY0ruy5qHPHAAAftKgTqSNH9PHvvllnX332wbbnJhqkeGhFh0Z6oK14OAgF+ApFTMzK9dS0rPddZ1a1bdTj+hkrZvW5bUAarl6seEWGhr8f/0m/ZdqqfXF1Y/y2/pQPRDMAQDgRwrajjukvfXv2sR+XbrF5v+11fakZf3fSJ0VVKjTcr06xrkWBN3bx/mtah2KUv+nTz75xPXV0t/dunVzTZHr1t134Kz+WpMnT7YHH3zQa/uWa6+91uv91Iw4KyurxPt6qJenllEvz8suu8zi4+NLXHZfj6eGz6gZGtaNtDrRYZacmuXXNgJ5eWatm/z/BtyoGQjmAACoBE0bxdjxQzu4Rr3bd6W75r8ZWTluHkz92AhrFhfjetOhcikA2rJli40dO9Y1DZ4xY4Z98MEH9vHHH1udOqUf2DZu3NiOP/54r7cpMJw1a5bdeeed1rx58yK3qdGxbi/pvrJt2zY755xz7Morr3R9uiZMmGDvvvtuicvv6/F8paBz/Pjx9sgjj1jDhg19Xg/8RymW3do2tFm/b3Qj+f+mXFaMPnt0wqhd83p+2UZUHwRzAABUIgVvCuz0g/0rISHBZs6caT/++KM1atTIXTdy5Eg78cQTXTB33nnnlXp/BTcHH3xwqcsMHDjQOnfu7PW20u67YMECa9asmZ1//vm2fv16O+qooywjI8MiIyN9fjxf6DF/+OEHv60P/jGwW1P7cUmCpWfmujTtitq9J8taNa1jnVrT8qSmIZgDAAA1UkhIiBvV0MjXYYcd5q4LDg62xx57zN3msXXrVnvzzTddUNWxY0cX5NWrV6/UNMt92dd927VrZxs2bLCdO3fa8uXLrU2bNvsM5PZl6dKl9sUXX7j1avvHjBljvXr1ctvy2WefWf/+/e3rr792j3PaaadZ165d7Z577nH3veGGG+yWW25xz7+k9cj06dPt+++/d+s46KCD7LjjjnPX63kOGjTIhg8f7i5nZ2e7UdG77rqr1PRReNe+RT3r1q6hLVy+3SIjYlxRFF+lZ+SYBZkd0b8VLU9qIII5AAAQUDQHcdXGXa7AzI5d6Zabl2+REaHWtGG0a+ugA2E1SVaapAKzSy+91Lp3725Dhw51PwpqPKlru3fvtlNPPdWNoml07KuvvnLLK+VRgdbPP/9c6rbce++9FhPz/0ddtQ6tb1/3VSClAPP66693waQCzLIo6fHWrFnjnusVV1xhPXv2dOmk48aNc6mZ2pa33nrL/vrrLzvllFNcMHbhhRe62zRS+fnnn9tJJ53kgq7S1vPrr7/ak08+6dIy8/LyXGqm0j810qmU1TfeeKMgmJs3b55bF4Gcb/T+HH1YJ1uXsMcSkzIsvkGkT+mWObl5tnNPhuuDqR/UPARzAAAgIGzZkWqzF26y35b9W1RGVFRGx7iuDURQkIWFBFuTRtE2uGdzG9K7uRttOuaYY9xI05dffmkvvviidenSxf1WmqNGrDTn7NFHH3XrO/roo11apuaSlcWxxx5bZA5b69aty3Q/jZAtXLjQcnNz7YgjjrDevXtX6PEiIiJs0qRJBevROvv06WObNm0qGCl75plnXNCl/dG3b19bvXq1S9uUIUOGuFG41NTUEtezdu1aq1+/vguGW7Vq5UbrFNSJ5gc+//zztnnzZrd92q8nnHBCmZ4TvGvcMNrGHNnZ3vpqmZt3G18/qlwBnapXqu9l22Z1bcwRnV3lXNQ8BHMAAKBaUwPlOX9ssi9/Wmu7UjItJjLMHeiGFDs4VUCXlZPngr4Pvl1uC5ZttTFHdnKBi35EKY0aDXvooYfs6aefdgFNjx49CtahIimelMzCtKxGtkQpkSpc4usctj/++MOlNb766quuqqZSHpWiqBRGjRyqWEtJSno8BVAKtDQitm7dOluxYoXbH55gSwGrp+BLWFiYS5PUqFp51qMROAWhGn1r27at+3355Ze7++myKoUqiDv33HPd6J/2c03y3XffWdOmTd3zLKt//vnHzUssa7BeXL8ujS0vP9/e/2a5JSSmWqN6URYRXrRdQdL2DZabnWVxzTu4y3q9VAkzNT3HOrSobxee0N3q14nw6fFR/RHMAQCAaktpYgrM5vyx2cJCg6x5XEyJoxO6Xi0fGjeIdqMSP8/91n748i174J7brHenf+dtKRC66KKL3OiTKMDxjF6VRgGe0g4996kIBToa3erXr5+7rHTFG2+8sWCemS8WL15sF198sUvfVJuCDh3+PbD3CA3d+5DPW1P70tajgjBvv/22C4A1evnee+/ZypUr7aWXXioYnVNhmZYtW7q01uJVNwOZ3iNXX321m+s4bdq0Mt9v1apVtmvXLp+DOVF6pKrffvjdClu+Lsmys7Ns98aF1qn3oa5CZfKOzZaRlmIxjdq4+XGqXKmWBiMHt7URB7ZxKciouXh1AQBAtaRg49PZq+yHhZusbkx4uVo56CC3RYvm9s27k+3pV3vZTZefbJ1bN3Dr1NwvTyClkS7Nj9uxY4ereJmcnOxSM++7774i6/MUAPHQcr5SkKTHTExMdCNmGhlUgLhnzx43h88XH374oZv397///c9d1giZRtO8jb4V5ikE4xnBK209U6ZMcQHzmWee6Z6D7vv+++8XrEvz7xSYKoVVo3M1ieYVKhVV/Qr//PPPIqO5pdE+8YcW8bE2/tTetnTNDnvzvWn2+x8zrXGHg/5tLN6oh4XH/VvoJDY6zA7r39IGdWvq5o+i5iOYAwAA1dJfq3fYDws3WmxUmE89+eJbdLJ+h4+1n6b9z878/nXr0rGNrV+/zlVsfOqpp9wyhxxyiBtR0kF3p06dXFqh0h4rs+eaHk9pjKNGjXIjhUrf1GMqxVNpi0rnK+/on+a2XXXVVS7QUlqf7q/5dOqxV7hgSnFqWN6iRQu75JJL7Lbbbit1PQceeKBrpaDRt6ioKFcl0zPXUFRwRsv89ttvbu5hTaKg9uSTT3aB7UcffVQkmFMqpTRo0MA1gtf+1HuseJql/lYwrLmJqrCq95tSdrVv9R444IAD3Kimh+6n+6gnoeYoaq5nh2bRFheaaNFhuda/2Q7r0W+orVuz0vJys+yQgwda4wZROg3iRlhXLtvjRkg9bTlK204ELoI5AABQ7WRl59ons1Zadm6eNaqvA1TfHNBvuLXpdoitWbXc+nRuYA8cO8gdQBd2++232wUXXOBaE+g2T3qgDp4feOCBEoMgjUCVlEpY2n3VHkFBkEr/60epjE2a/FtpUEGUt0BuX4+nNNBvv/3WpT1qXpfSATWCpEBOwUPxbVFVSs1zU3Ch0Ti1I9B9FMSWtB79rdsUeGRmZrq5Y1p3YYceeqibB6if6i4tI9u27Ej7t5hOvll0VKg1axRjsdHhRZZT4KP9MWLECIuNjbXHH3/cjd4q+BbNdZwzZ44bWVXgqx6CCsovu+wyd5uqlSqY09+LFi1yo8B6vVXtVEG0eiFqhFZBsNpZaH6n5naqiqiCLc1x/Omnn1yVUb1PtY60tDRb8vtPdv5Zp9qcr952jzHm+MNd4Kd1qoCPCvwoqFN7CJ04KG07EbgI5gAAQLWzZFWiJexIcwUfKkrFPpq06mxJ+WEW38R7MKRRCv2UtWm45qAdfvjhFWo4rtEW/RTmCerK+3iiNgCFWwEUHj0qvi0qtFJ4WzVCWZb1qGqmJ0XVGwUdp59+ulVXmdm5tmRlov30Z4KtT0i2jKxcNy9TVFAnIjzUzcs8qEcz69M53o0Ia46cRhz1Wqmv3sMPP+wKwXh67ImCKLW1ULD3ySefuGDZW5CkoFCjfBodUxGcqVOnuiBL71HNm1Rgp2BOAZvmT6qVhGg0VEGk7qMgT2mwulycrlMQrsqiOmmghvCa6zd48OBybScCB8EcAACodlSJUvPbNPfNHzTnLjEp3f5cvcPNJ4J/KTX0hRdecAGEUjWro3/W7bSPvl9pG7fucZejo8KsXmy4hYYGq6e25eTmu+IhqzfttpUbd9nMX9bZqEPaurYWmi+n36LRMqVaFg7mFOAqQBKlS2r0yxsVvlEgJxplVWsKT7N4jaRpHqWoUbuHRvLS09PL1C5Dc/qULqvXwTNSquqkSussz3YicBDMAQCAakVFHdZsTrYoP1bhUxNxFW/cuDXFBpW9sjzKaMCAAXbddde5USVPIFFd6KTAVz+vtRk/r7PMrFyLqx/l9SSBqqWGhYZbnehw1w4jcVe6PTlxqu1M2mVp6en2zTffuOWUEqkm6gkJCS4A86TBepTWC05zDQvzpGp6G8FT+wz1ItR9NGLrrfqoN57gsPBjqH9gebYTgaN6/bcBAIBab/uuNMvIzNmrn1ZFhYQG2botvlehRMk0R06pnMUDiaqmAGj6j2vs87lrLDgoyJo2ii7TaG/I/zWf37Z6vjVs2csGHn2p/fe/j7u0RI1AKiVXqY+VRXPyNJdSc9xULOess84qqDhaGo0aai6ch4qrqK1C8VYVqDkI5gAAQLWiEuu5efluNM2fQoKDLSU926/rRPWmtNqZP6+zyPAQ1zi7PKNRuTlZtmX1QmvX7UD7aUmCzVu8ueA2FRTRnLOyjpaVlwrOqPCK5tB5AkgVnVGLCAXOGhVUW4jiAd748eNdEZXHHnvM3nnnHddTUXMtlVKJmolgDgAAVCvBwZ4Dbn8fKOdz4FOLpKZn/19F1HyrFxtR7vsnJ221Fh37WNsD+lpISJBNn7fWtu5Mc7eNHj3aNZHfvHmzC5QK9yFUsOVpzVD4tuLLlXb5v//9r5tfp56ImvOmUUAFkAri1BvxwgsvdCmYqmpZ+H5Kc/3ggw9c0KpKlqp+6ekZWNp2InAF5ftwSkFnCVJSUryvMCjIDbGrT4Z6W1S3vOny8EwW1T8rUNvoC0JnBbt27Vokxx4AKtuO3el2/2vzLSIs2KIjy99friRbdqRar47xdtnoog3AUTPN/n2jvfv1P673mtImKyIvP98SElPtmIPa2smH0ZutMI6Xq5ZPM4s1dKteLPuig8CXX37ZNZEEAAAoi4Z1I61OdJglp2b5NZjT6evWTcvXjBuBSWm6Py7e7EZ5KxrIiebbqSDP/KVb7OiD2vj1fQlUhE/vbuXuqrLOhAkT7Msvv7Tff//dVfVRbwuNyKlfxXvvved6lNx///0V2kAAAFC7KMuna9uGrgiKv+YkqYqhDurbNSva5Bo10/akNNualOYqU/qL2lskp2TZugTK+SPAg7mJEye6BoRXXnmltW/f3k3SVGlW5fJOmjTJTcjs06ePC+5UhacsfTEAAAA8BnZrauFhIZaemeuXnbIrJdNaxMVY59b12cm1gFIiFcCr8Im/qCCPS7fc8W+ZfyBgg7k1a9bYoEGDvN7Wrl27gg7zmlhZr1491+wQAACgrDq0qGdd2ja0pD0Z7gC6ItIzc9zvwwe08kvKHao/Be9Fi+n4Sb7Zrj0Z/l0nUAE+faIpfVJpld6oco66ydepU8eVT929e3dBp3kAAICyplqecngna1An0hKT0n1Ot8zJzbOdyRnWu2OcDerWlJ1fS1RWywCtNa9yVg3svwIoY8eOtauuusqNvqmkqbrSq/KdSqSqD8YJJ5zg5tSpUIoCPwV2AAAA5dGkYbSNObKTvfXV35a4K93i6keVq09Ydk6ebUtKszZN6tqpR3b2/ygNqq2I8NCCoK4875l90aqi/NzMHtjvwdzw4cPtnnvuccHau+++W3B9eHi4nX766XbjjTe6y7Nnz7ZrrrmmQhsIAABqr/5dmlheXr69/+1yS0hMs0b1Iy0irPSDaR3A70nNspT0HGvfop6NG9XDVchE7dG0YbSb46aAXnMv/cGT7tukUYxf1gdUWTAnY8aMsRNPPNFVsty6das1atTItSLQb4+pU6daaKjPDwEAAOCKoTRtFGMffrfCVmzY5YK12KgwiwgPsbDQYDfyogPtrKxcS8vMcVUwoyLD7OgD29jRB1NGvjZqFhdj0ZGhlpaR47dgLj0jx73nWsQzfQjVh8+RlipUzp8/35KTk13AprlxP//8c8Hthx12mKtyCQAAUFGtmtSxK8f0saWrd9hPf262lRt2266ULMvJyXOpbxo0UZPxmKgwO7RPCxcA6j6ondQHru8BjW3WbxusXmy4X1It1fewe/tG1rRRtF+2EaiyYG7lypV2/vnn2/bt20tcZubMmQRzAADAbzQK17tzvPtJTc925edV3CQ3L88iwkKtccMoa9Iwxi0HHNSjmf3yZ4LtSct2PeIqWhE1JDjIBvdq7tc5eECVBHPPPvus6yunPnKNGze24OC9PzSbN29e4Y0DAADwRiNwHVvRMw4la9usrh3Su4V9PX+9RUWE+hzka86mThpo/mafTvHscgR+MLdixQq77777rF+/fhV68KSkJDfC542CxRdffLHU+//444/20UcfuaCyMM3je/31191cvh49etj48eOtYcOGFdpWAAAABJZjB7e1lZt22epNu111VBVFKW8gt3VHmjVtGGOnHN6RiqioGcFc/fr1/dK/Qy0LHn744SLXJSQkuLYHxx13XKn3/fvvv+26667bawRQfe7GjRtnV1xxhWuhMGnSJDvvvPPs448/trCwsApvMwAAAAJn7txFJ/SwiVOX2JqEZGtQJ8JdVxYZWTm2c3eGS9298ITu1qheVKVvL7Bfgrnjjz/eJk6caL169apQgKTCKaqAWdiDDz5oAwcOtIsvvtjrfdSIfMqUKfbkk09adPTeE1Cfe+45O/bYY+2SSy5xl/v06eOKsUyfPt1V3wQAAEDtoSDs8lN629TZK23Bsm2WnJJldWMjLCoixOv8NwVxWkbNwXt2jLNTj+jsRvWAGhPMpaSkuAbhCpK6devmGoQXd8cdd7iG4eXx1VdfufV++umnJU4uXbdunUuhVJrnP//841ItPXJzc12FzXvvvbfgOm2b0kHnzZtHMAcAAFAL1YuNsHNHdrNeHeNt1u8bbe3m3bZ7T6ZZkLnCJpKr6E0HxyHBrhLqIX1a2EHdm1pIOVMzgWofzC1YsMCaNm3q/t62bVuJI2jlobTNp556yk444QTr0KFDicu1atXKZsyY4RqUK5grLDEx0dLS0vZKvdT8u6VLl5ZrewAAAFBzaKBA7Qr6dI63dVv22NqEZNu8LcWS9mS4UTi1MFAPOQVyHVrWLwjygBoXzO2rMIkv5syZY2vWrLFnnnmm1OUUxJU2YiiRkZFFrtfl9PR0n7ZLQaYCRKC28fzP+Pq/AwBAddW4Xqg1rtfQrIv3AnmZGXz3ledYmXYNAdg03N8++eQT69u3r3Xs2NHndXjm7yndsjBdLh7glVV2drYtW7bM520CAt3atWurehMAAEA1VtpgC6pJMHfXXXfZlVde6ebB6e/SGobLPffcU+Y5c1lZWfbDDz+4KpYVERcX584MqOVBYTt37rQGDRr4HCBWJMAEApVG5BTItW3b1uu8WAAAgJUrV7ITAiGYU882zzw4/a0WAqUpz5w5tRlQiuQhhxxiFaHqlppvp5G0YcOGFVyv+XL7anVQEgWH3qpmArWFAjn+BwAAgDekWAZIMFd4npy/58z99ddf7mCxffv2FV7XmDFj7JVXXnHBm4qlfPDBB7ZhwwYbPXq0X7YVAAAAAKoDn2qtKkBKTk72eltqaqo98MAD7ndZbdmyxVXH9BbZT5s2zbUU8BQ32Zezzz7bhg4d6nrNaXTu8ccfdz3pPNU3AQAAAKAmCMpXCZpyOuqoo2zSpEnWpk0br/NsDj30UBeEqSVAWShtU/fT3JziNN9Nt3fu3NlCQkKK3Ka2CAoa27Vr5/V+u3fvthYtWvg8KXPJkiXud8+ePX26PxDIVMVVKctdu3YlzRIAAHjF8XKApFneeuutNnPmTPe3AqiTTz7ZgoP3HtjLyMiwOnXquGIkZdWkSZMSb2vYsKH78aZx48Y+3Q8AAAAAak0wN2HCBKtXr577+8MPP7QRI0ZY3bp1iyyjNMnY2Fg3cudpEwAAAAAAqMJgTimTN910U8HlCy+8sFyjbwAAAACAKm4arqBOveHmzZvnUi7z8vLc9Zp+pzRLVae8+OKLS02fBAAAAADs52BOzQHPO+88S0xM9Hq75sxddNFFFdgsAAAAAIDfWxO89NJLroLklClTrHv37nbnnXfa22+/7YqkqOjIjTfeSCsAAAAAAKhuwdw///xjV155pQ0YMMAOOuggW79+vfXv39+N1j3zzDM2efJk/28pAAAAAKBiwZzmxnnK/rdv394WL15ccJsCvKSkJMvMzPRl1QAAAACAygrm1Nz7999/d38r3XLp0qWu6bfk5OS4Iihq2A0AAAAAqEYFUE499VQbP368C+Kuvvpqi46OtmuvvdZOOeUUmzFjhoWGhlp8fLz/txYAAAAA4PvI3LBhw+zee++1uXPnWkpKit19992uTYHm0X311Vd2yy23uAbiAAAAAIBqNDIno0ePdj+aP9emTRvr1auXLV++3Dp16mTNmzf371YCAAAAACoezN1+++02ePBgGzlyZMEIXLNmzdwPAAAAAKCaplkuWrTIWrZs6f+tAQAAAABUXjCnRuEzZ860vLw8X+4OAAAAAKiKNEvNiXvhhRds6tSprjVBXFzcXsvcdtttXq8HAAAAAFRRMLdkyRLr0KGD+1sNwvVTXHZ2dsW3DgAAAADgv2Bu4sSJvtwNAAAAAFCVc+YAAAAAAFWLYA4AAAAAAhDBHAAAAAAEIII5AAAAAAhABHMAAAAAUFuqWXpaD3z00Uf23Xff2Y4dO6xevXrWr18/O/PMM61hw4b+3UoAAAAAQMVH5nbu3GknnXSS3XPPPbZ582arW7euu+7ll1+2E044wVatWuXLagEAAAAAlTky9+KLL7rfn3/+eUHzcElMTLTbb7/dbrnlFnv//fd9WTUAAAAAoLJG5n755RcXsBUO5CQuLs6eeOIJW7p0qRupAwAAAABUo2CuTp06Fh4e7vW2qKgoi4mJsfz8/IpuGwAAAADAn8Hc8OHD3Qjc7t2797pt4sSJ1rp1a2vUqJEvqwYAAAAA+HPO3H333Wfbt293f+fl5dmiRYvs8MMPtyFDhliTJk0sNTXVFi9ebCtXrrQjjzzSpVlS1RIAAAAAqjiYW79+vSUkJBRc9syXW7NmjfuRoKAg69Spk1s2MzOzMrYXAAAAAFCeYE7pkwAAAACAAG5NoJTK3377zbZu3Wo5OTkWHx9vvXv3dr8BAAAAANUsmEtLS7PHH3/c3nvvPcvOzi5yW3BwsB122GF22223WcuWLf29nQAAAAAAX4I5BW8XXnih6yE3atQoGzx4sOsrFxoaajt27HAFUT777DMbM2aMaxjeqlWrsq4aAAAAAFBZwdwHH3xg69atsw8//NAVOSnu2GOPtSuvvNImTJjg2hY8+eST5d0WAAAAAIC/+8x9//33dtVVV3kN5DxiY2PtzjvvdMuqfQEAAAAAoIqDuS1btljPnj33uVy7du0sIiKioCcdAAAAAKAKgzn1jYuJiSnTsnXq1KHPHAAAAABUh2AuPz/fNQUvCy2n5QEAAAAAVRzMAQAAAAACtM+cKlaWRW5urq/bAwAAAADwZzA3YsQI10+urFTZEgAAAABQxcHcDTfcUEmbAAAAAAAoL+bMAQAAAEBNHpk7+eSTbcOGDWVe8SeffGKtWrXydbsAAAAAAP4I5lJSUlz/uEGDBllo6L7vVtaedAAAAACASgzmrr/+ejfaNnfuXBs6dKgdddRRdsghh1hERIQPDwsAAAAA2C/B3DHHHON+du3aZTNnzrTJkyfbTTfd5AI6VbocNmwYo3EAAAAAUF0LoNSvX99OO+00e+ONN+zLL7+0fv36ucBu8ODBdvnll7vRu927d1fO1gIAAAAAKl7NMj4+3s4991x79913bfr06TZgwAB7/PHHbciQIbZp06aKrBoAAAAA4I80y9L8+eef9tVXX9mMGTNs+/btdsABB1hkZKQ/Vg0AAAAA8Gcw5wng9LNx40br06ePnXHGGW7+XFlbEqSlpdnrr7/u9bZ69erZWWed5fW2rKws+/rrr23r1q3Wo0cPV2GzsEmTJrllCtPcvl69epX5+QEAAABAjQnmCgdwCQkJNnDgQLvgggtcZcvGjRuX+8Hz8/MtMzOzyHU5OTluPt5hhx3mNZhLSkpy16tNQpcuXezll1+2kSNH2p133llw+2OPPWbnnHNOkYIsubm55d4+AAAAAKiuyhzMjR071v766y83H278+PF2+OGHu2IoFaFg69prry1ynebcNWrUyO6//36v93nuueesbt26NmXKFAsJCXGBnRqajxo1yhVjWb58uYWFhdnNN99cpn54AAAAABCIyhztJCYmuuDrn3/+cT/PPPNMqcu/+eab1qJFi3JtzKpVq+yVV15xAV1JgaJGBVU1U4GcdO7c2fr27euuVzC3YsUKa9OmDYEcAAAAgBqtzMHcoYce6oqblFV4eHi5N0ZBnOa1HXvssV5v37lzp9uG9u3bF7m+Xbt2LsAUjczp8pw5c1xwqIBSPfB82R4AAAAACPhg7o477qjUDVm7dq1999139uyzz5a4THJysvsdGxtb5HqNGO7Zs8f9rZG5xYsXu5G5uLg4e+utt+zpp5928/AaNmzo07w+FWoBapv09PQivwEAALwdKwcFBbFjqki1mVT23nvvWfPmze3II48s9c0ixd8whS8fccQRdskll7g5fXLddde5OXUqivLQQw+Ve7uys7Nt2bJl5b4fUFPoRAsAAEBJyIALgGDu999/t4yMjDKvWPPXytNrTq0Gjj766FIje7UrkNTU1CLXp6SkuKIocvHFFxe5LTo62q33iy++MF+omErHjh19ui8QyDQip0Cubdu2FhUVVdWbAwAAqqGVK1dW9SbUamUO5m666SZbv359mVc8c+ZMV4ikLHTAuGHDhlJH5URpkvpZt26dHXjggUXurzYFCuomT55sxx9/fJFedxpd8/VgVMGlAkKgttL/Dv8DAADAG1IsAyiYKz4iVhrNVytP/zpVp1QD8H1RT7tPP/3URo8e7ebFrV692hYuXGhXX321mzv37rvv2o4dOwrm+Gku3fTp0+2kk04q8/YAAAAAQI0J5oYPH15pG6GRtqZNm3pNy1Qxk7lz59pFF13k8nGvvPJKO/300+3ss892lS8VqGlO3IABA9zyDzzwgF111VW2bds2a9mypRshbNasmZtHBwAAAAA1RbUogKIRuZIqTebm5lpmZmZB8ZPGjRvbtGnTXBCXlJRkDz/8sB1yyCEFyw8dOtT1nJs1a5YbobvllltcMRRPXzoAAAAAqAmC8j1REvayZMkS97tnz57sHdQ6asmhSq5du3ZlzhwAAPCK4+WqFVzFjw8AAAAA8AHBHAAAAAAEIII5AAAAAKjJBVAWLFjg5tCU1cCBA2k0DAAAAABVHcypKmRlNQ0HAAAAAFRSMPfcc8+5FgGyYcMG10R83LhxNmLECIuPj7fk5GRbtGiRPfvsszZq1CjX4w0AAAAAUMXBXOfOnQv+njRpkk2YMKFII271f+vYsaP16dPHxowZ426ntxsAAAAAVKMCKCtXrrQhQ4Z4va1Dhw4WHh5uO3furOi2AQAAAAD8Gcw1bdrU5syZ4/W2+fPnu3TMRo0a+bJqAAAAAIA/0ywLGzt2rF111VW2adMmO/LIIy0uLs7NmVPFyzfeeMPOO+88CwsL82XVAAAAAIDKCuaGDx9ud955pz3++OP2/vvvF1yvAE6BnAI9AAAAAEA1C+bkjDPOsNGjR9vixYtt27ZtVrduXevVq5f7DQAAAACohnPmJDs726ZOnWqvvvqq+1Ely9dff90VRwEAAAAAVMNgLiMjw84//3y744477O+//7bly5e7oifff/+9a0uguXMAAAAAgGoWzL3yyiuWmJhon376qX333XfWpEkTd/17771nxx9/vN1///3+3k4AAAAAQEWDuVmzZtntt99uXbp0KXK9+svp+nXr1llKSoovqwaAWkNzjn/55RfLy8vb6zalrJd0GwAAgM/BXHp6utWrV8/rbQroQkNDLTU1lT0MAKW48cYbXcp68dT0/Px8u/TSS+3cc89185MrIiEhwZYuXcrrAABADeRTMNepUyebPHmy19tmzJhhwcHBFh8fX9FtA4CAlZObZ4m70m3LjlTbtjPNMjJzvC6nKsBffvllkesWLlzot8/Qm266yf766y+/rAsAANSA1gTjxo1zjcM3btxoI0eOdCN18+bNsylTptjbb79tV1xxhQvoAKA22bE73X77e5utWJ9kG7enuAAuL98sSH04Q4OtSaNo69CivvXpHG9tm/3bxuXwww+3N9980xWU8nxuTp8+3Y444ggX1IlS1zVCp6rBHmvWrHFZEK1atXKXN2zYYMnJydahQweLjIx0161du9Z2795tq1evtvXr11vr1q3d9VlZWe66+vXrW9OmTQvW+euvv7rgctWqVZabm2tRUVGlPiYAAAjAYK5nz5723HPP2d13320PPPCAu+6ee+5xKZZKGbrsssv8vZ0AUG1pBG76j2ts0YpES03PtuDgIIsMD7GI8FBTfJafb5adk2frEpJt5YZdNuv3jda+RT3LyslzgZHS1hVIHXjggW6OnCoDP/XUU/b444+79S9ZssQee+wxd70n4LvqqqvsmmuusZYtW9p1111nv//+uytGpUDszjvvtBNPPNFmz55tmzZtcoWq9Dhnnnmmm4d3/fXXW8OGDW3Hjh02aNAge+SRR9znt07U9ejRw9LS0qx9+/Zund4ek2AOAIAAbxo+bNgw++abb1xbAjUN1xncrl27Wp06dfy7hQBQTWlu209LEuzzuattR3KG1YkOt6Zx0RYcpLG4oqIizCwm3N0nPTPHlq3dabv2ZNivS7fY0KGHulRLBXMK6tq1a+c+Uz2OPPJIN3KnQOzggw8u+Nw99NBD3aidilLpNgVkc+fOtc8++8wFc+edd577nD7hhBNc2xhlUfznP/+xK6+80s444wzXZkYBnDIqdCJOtM7LL7/cLTt48GCvjwkAAKoHn3IhP/jgA5fOExIS4gI4BXY6u6tAToVPNFpHARQANVluXr5NnbXK3p75t+1Jy7ZmcTFWNybcayBXWFBQkEVHhlmzRtHuskbzkkPb2MyZM92o3BdffOFSLwtTYKeAbtq0ae6yljn22GMtLCzMpUnGxMS44Oz55593I24aafNm2bJllpSUZG3atHFB2qJFi1xapUbuPAYMGLDPxwQAAAEczL388svugMDrCoODberUqS7YA4CaSKNrX8xdbV//us6iwkMtvkHUPoM4b0FdSHCw1YkJsx3ZjSw1LdNm/zDXvv76672COVEPTxWY0miaAiuNtonmx3300UfupNq3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4JqUb9y40QWYr7/+utWvX7/gfk2aNKnQdgIAAABAQAZzd911l1155ZWup5z+3r59e6nL33PPPW7ZfXnyySddUKblpX///vbzzz/bRx995B6vMI26afmLL77YjcZ5lldfu3feecf1vVu+fLnFxsbawQcfXNanBgAAAAA1N5jbunWr5eTkFPydkJBQ6vKeZUuTm5trs2fPdiNtHkFBQa6PnTebN2+2PXv2FGmLoF526m03b948F8ytWLHCtUcAAAAAgJqszMHcpZdeag0aNHB/v/jii3558A0bNlhGRoa1aNHCHnnkEVu4cKH7WyNvXbp02Wv5evXqud+7d+8ucr3mzinAFAVzoaGhdvvtt7t+eFqfgrzu3bv7ZZsBAAAAIKCCOVWvVIpjx44d7frrr7cbb7yxwvPQ1M5AbrvtNjvxxBPtP//5j3399dc2ZswYl2bZuXPnIssrfXLo0KH2wgsvuPRKzYlTSqZ+PH3tlGap9Z5zzjl20kkn2fTp011BlMmTJ7v7lJdSO9PS0ir0PIFAlJ6eXuQ3AACAt2NlZdahmgdzepF+//13N9K1aNEil+5YuMCIt+IoZX1hhw0b5kbjRAVVFJApYFPwWNwDDzzggj7dR3PytD0K1hTQidol6HrPKKLWt379env66addD7zyys7OtmXLlpX7fkBNsXbt2qreBAAAUI3puB/VPJg79NBD7Y477nA/ouqTpZk5c6a1adOm1GUaNmzofvft27fI9T179rRZs2Z5vY9GA998801XgEXz8lTxUimVTZs2dbcXH80Tzakr3A+vPNQ7T6ORQG2jETkFcm3btnWVYgEAAIrTtCYEQDB37bXXWteuXd3ctJdeesmNhpU2MucZGSuNRtWUHql2AoXpMeLi4kqcu3fKKafYiBEj3OW8vDz76aefXHuDlJQUO/vss+2mm24qUs1y06ZN1rx5c/OFRhejo6N9ui9QEyiQ438AAAB4Q4plgARzqhrpGY37448/7KyzzioYDavIi68eca+88oodccQR1rp1a9cjTvPcHn744RIDwFdffdWlWUZERNhTTz3lUj41z05z6tQ8XNdpdE+XFeipZ92jjz5aoW0FAAAAgIBvGq75Z1lZWTZ37lxXbEQTH4s77LDDLCYmZp/ruvzyy111yhNOOMEaN27s0ic1+uYJHKdNm+aCPTULV3CmEcIJEya4tM/I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P/20oFiK5uLp9qOPPtrXpwoAAAAANWNkLiMjwy688EKXCqmCJCpkoqIn33//vWv4PXHiRFehsizUN+6cc85x/eBU1OS7776zBg0a2EUXXeRu18if5sXpsoI/tUM499xzLSsry6VVKhC85pprrFu3bm55zac7/fTT3cidRuumT5/u+syVdXsAAAAAoMYGc6+88ooL4DQCpvRFjYaJipjcf//97kejdmXRpEkTmzZtmusDp4Iq48ePd3PyPBMpNWKnQNFT3ERBm+bMafROAZ162hVOoVTFS61PQVxSUpI9/PDDdsghh/jyNAEAAACgZgVzKj5y++237zUPTQGYrtd8NRUdKd4ioCSRkZF20kkneb1NDb/1U1izZs2KzJkrrk6dOm50DgAAAABqKp/mzGlem6dyZHEK6EJDQ/eqKAkAAAAAqOJgTv3d1NTbmxkzZlhwcLDFx8dXdNsAAAAAAP5Msxw3bpxrHL5x40YbOXKkG6lTlUnNX3v77bftiiuucAEdAAAAAKByBOV7KouU0+zZs+3uu++2zZs3F0mxVNPw6667rkYEc0uWLHG/e/bsWdWbAux3aWlptmzZMuvatSt95gAAgFccLwdo0/Bhw4bZN998Y8uXL3dNw9VYWAd9Kj4CAAAAAKimwZyEhIS4AE4/AAAAAIBqGMyp8faGDRvKvOJPPvnEWrVq5et2AQAAAAD8Ecypb5xSKAcNGuRaD+xLTExMWVcNAAAAAKisYO766693o21z5861oUOH2lFHHWWHHHKIRURElPcxAQAAAAD7K5g75phj3M+uXbts5syZrs/cTTfd5AK6ESNGuIIojMYBAAAAwP5R7v4B9evXt9NOO83eeOMN+/LLL61fv34usBs8eLBdfvnlbvRu9+7dlbO1AAAAAACnQs3g4uPj7dxzz7V3333Xpk+fbgMGDLDHH3/chgwZYps2barIqgEAAAAAldWawOPPP/+0r776ymbMmGHbt2+3Aw44wCIjI/2xagAAAACAP4M5TwCnn40bN1qfPn3sjDPOcPPnaEkAAAAAANUomCscwCUkJNjAgQPtggsucJUtGzduXHlbCQAAAADwLZgbO3as/fXXX24+3Pjx4+3www93xVAAAAAAANU4mEtMTHStB/755x/388wzz5S6/JtvvmktWrTwxzYCAAAAAHwN5g499FBX3KSswsPDy7wsAAAA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kpeXZ++8847dfvvt9vnnn7MXAaCEz8onnniCfROAsrOz7X//+19Vb0ZAWrlypU2dOrWqNwM+WLJkiX311VfsuwBCMAefPP/88/bpp59a165d7aWXXrJPPvmEPQkAhaSkpNh//vMfe/vtt9kvASYpKckmTJhg06ZNq+pNCTh//fWXXXLJJbZ48eKq3hSU02+//WaXX365LVu2jH0XQAjm4JN3333X/vvf/9pZZ51ljzzyiE2ePJk9CQCFnHHGGdamTRv2SQCOpp5yyil2wAEHVPWmBGQwcO2119rgwYOrelNQTrNnz7Y77riD1y4AEcxV8y8Undn64YcfbPv27ZXyGFlZWe4fuKSzyj/99JP98ssvbjmPPXv2WGZmprVs2dJd7ty5s61YsaJStg/V29dff23fffddVW8GarG///7bfYYprauy/PHHHyV+BusM9qxZs2zr1q173fbqq6/aZZddVmnbFcjy8/Ptzz//dK/dzp07K+1xFixY4EbZvD2+vl/1+Dt27ChyW1BQkL333nt29tlnW3VPA50xY4alpaX5fd25ubklfrbr8XRsoJ/CxwbSoUMHN/Wid+/eft+mmnJcp88THdclJibu9+M6Hb/9+OOPNn/+fPf+Kaxnz55uJJqTGIEntKo3AN5t27bNLr30UktOTnZB06JFi+zOO++00aNH+3WXaXRNudH6YCl+dm38+PHWtm1b2717t/tw0IGJzjJnZGRYREREwbKhof++jXJycgr+Rs2n+RB33XWX3XDDDVW9KaiFFAAoUFIQ1alTJ1u6dKlL+37mmWcsOjrab4+j9Z5//vn25JNP2uGHH15wvT4T9Rn5zz//uM9FzTO57rrr7Nxzzy1YpnHjxu7EF/Y+Uag0PAXI+n7Twe3NN99sp59+ut8DOb12r7/+ug0YMKDI41988cXuvdO8eXMXVN5999120kknFQRz8fHxlXYS1V+effZZe/HFF23mzJl+HwHW/9Fbb73l9mHxFEodmzRr1swdC+gYZdKkSe5/UOrXr+/X7ahJEhIS3PtenwlNmzZ1nxn33nuvHX/88X59HGVLff/993sF4zoxf9VVV1n79u0LTqC88sorBSfmGzZs6NftwP7DyFw1deutt1psbKx9+eWX9sYbb7hATl82xc8gehT/0tGBxqpVq0pcv27Xh4jWXZzO1miexznnnOPSKb/44gvr3r27K3Yi2q7U1NSC5dPT0y0sLIxArhZR8RvNmRw+fHhVbwpqKR2w6OSRRod1MKmTUuvXr3cHuN7o4EUnnArTaF7x6wqbO3euXXDBBe4zrriXX37ZNm7caNOnT7c333zTPe7DDz9cqSOENcXjjz/ufmvfvfbaa/bggw/aPffcYxs2bPC6vEYwNJJW2PLly90oR0n0vtCBc/HRB1FRE73u+n5VwHLfffe59DJvo6vVlU646n2/L8WPDbQ/SnuP6vZHH33UXnjhhb1u0/6+/vrr7cQTT7QPPvjAjeIcfPDBdtNNN/n4LGqXG2+80Z0k0DGVpqboso7tdMK8LK+dgsA1a9aUuH7drhOsek97O+bTa6eTGPr+1v9eu3bt3PIIfARz1ZC+0ObMmeNGPMLDw911J5xwgh1xxBG2efPmvZbXmeERI0a4lAfPB67u6y1QE51NO/bYY91jnHzyyXvdruH3LVu2FJxhDg4OdmfidL0ePyoqyp3J8Zyx03p69Ojh132A/UMHuDro8WbTpk322Wef2TfffOPeM4XpTKIOwjTyAFSFyMhId2Di+YysW7eu+xz8+eefvS6vUTQdsHuCAp21vvDCC0s8kNLIhEb+zjzzzBJHpk899VR3cksOOeQQ69atm/ufQen0HaUiCzoJKEcddVRB+llxer0UUD/wwAMF1ymIuOKKK4qcVCxMwaFGSXVC0tv6dCJq7NixBRkm+jzTZ5mCu0CgkUUFApqzXprVq1e7/wlPyp2eu04UT5w40evyeg1GjRrl9sOYMWP2ul0ZQgomNNrpGcHUsYFG60o7eQxz+0fHUAp8Pe97ZVodeuihbsSuOI0W67XzHGcp7fWaa66xKVOmlJj6quM6HQd6RpiLn5jatWtXwXsmJCTEneyYN29epaV7Yv8hmKuGfv/9d6tTp47LX9YHgFIgddCts4m6rjjNWVOgpy83DdvrDKfmsOlDu6QPbH3J6aCjS5cue92uD2alUGgbPJRCoQ9upRzJ1Vdf7Sp96WDntttusyuvvNKv+wCVT2em9cXi7Ytd1Ul1gKNATyMOxx13XJETCZ4DWKCq6HOucNqj6D1aUoqlggd95mnUQQdIOtjXQX+jRo28Lt+qVSsXNHib86Z5Jzrpps/ewvQ5qYMw7Pu1Gzp0aJFRNgUaSnksTt87+m7TQaxGi/R9qKBcUwQKf0cVfx008uBtzpteN6UGBvJrp8BW2TLeTsYWpnS6Y445xn1fL1y40B566KGCKRslUeEXjRx5m/Om7/8GDRq40SUPTcVQcBIo+64qj+v0WaP5aDo+00lwfY489dRTXo/DdGJI/yP6/NG8YGVG6fNNQXxJx3XnnXee+4wr/t72vHb6TNPJ+MLvef3feY7rELiY4FQNaVRMH5a33HKLC6yUg66J2p7UR29fdkrv0T+956zL+++/785ce6ODHc+ZNW909qZ43rvOfusspmciudLr9KGkDxl9sbZo0aKCzxr7k87E6UtBZ+WKf2nrxIFSenXQe/TRR7szgnpv6UBAoxVAdaTUMc0dUsqcNzoDrvewshYUGOhAf8iQISWuz3N229ucN31GSr169Ypcr9FBZUoUpgNdpbRjb0pT/fbbb90ovyp/9u/f3+tu0oiDvnsUBOq7SKOsffr0KXGXekaVvM15K+21Kz6NQdeVdFK0qug9rlEWnWjQscK+3H///e4560Df0x82JibG67LKwtFoTUn0GhTfbzr+UFBdvMjMgQceSCGNQjT6FhcX51Id9Vml95aO63Scp/e+t9dCJywuuugiO+2009zljz76qCAToTidYNVrXBK9B4q/dnrdtN7ir91hhx3mNT0Z1Rcjc9WQJy9a/3g6y6L5GJp8rwMRBXfe6IBBpYB1X5398Uxo9YX+ifUPXpyuKzxHQWd5lB5DIBdYdHZP6Rt6nb1NvNZonAJ+BXKedAwd+GpCdUlpTUBV0gkIHeDr86i0IlEKAPS5qs/JXr16+fx4ngp++t8o/hlZfG6Xrhs5cqTPj1WTKfNE6dw6sNWIWWlz1gYOHOg+l7TvK+O10+Xir51OYFanecEqjKZRNY0oa4SsLPS8dNJC73mdpG3durXPj6/vjOL7raR9p8epyOtU02j/awRao89K89VxnU7C6+RTSdXAFbgddNBB7r46wa+MqYq87729dt4+s1SR1NtoIaovgrlqSMPg+ucqfIZMaZQK0DQ0742Cvscee8ylo2hETiMrvtLZmuIT/hXE6QOF9LrApw90jbrpy6RwukzhUuv6MC9Ml/VFzrwIVMdATnOq9B7V+7q00ehx48a5k1DKTNDEf18LXnjS+4p/Tuoyn5FlN2zYMDfy9fHHH7uRA40ieaOAT/MbNTdbFS+VHu6t3UBFXjvNOarur51GJnUcoJNqKvijEvOi44KSUuXUukBpmZrbpgBQmTT+PDYIlH1XHY/rNOKs0TqNtHqj/4unn37aVaDUCGjheaP+eO0U4Gm6Ba9d4COYq4aUgy6Fy/97LnvrJ6NURw3V68tOufFqIaA5IZqg7+vja/Sm8CicLivdTtWPENiaNGlS6tlmFYTQmXJvB0CeFKXC6Uw60QBU1UiFCjUp5VsHPSWlIInm9eostKpQ6vNSo3hKXS+tImJJdBJEqWpKEyxMo0t8RpZOB5AKRAr3llNVUmWWeMs80eujQERl0zVnTicq+/Xr53P6o0aM9D4IxNdOIzMa2dF8QP14ggD1OdR8+eJ08k3vcU2/0BxRlaHXPlYPPV+PDZS6Wri3nIJqBZfVfd9VNe07BWTFj+t08t1bxotSMDVPTifolXWg106FbPS6+/r4OilSmKd6LK9d4COYq4ZU6ldncXRGrfA/nVIv9SVWnCa7KvXC0+9LH/j6xy+pjcG+KCVDH9aes36iiobqi0IzyZpPQXvxNFvP5eLpGJpg761oAVDZNF9I6b9KQ/K0KSiNCqDoRJenl5JGOTSvx5deYjoo0xw8fS56KDhRkQNdj5Ip4FaaYOFqy/pc0b4rnhHg+exRFT+V4dcIgi4rC0XfRb6Mzum7ddCgQUVeO32/aq5jdX/tdHCvkxaeH08xDI22eevRp89n3aYiZaKKnfofKH5Srqz0v6b9r+CxcFq+Rvy8FWdD0eMqTYfRnMfC1Ub13vM2V1QFbvQZpVE5UUaBjut87X2oYioq/PPrr78WXKf/Aa1X7xMENgqgVEP6wtKZY+VSeybN6gNYpa+VllKcPlw1QbYwfSl6+2IsC825U8lvncnTWSFVXNLZbKUwecu5Rs2iUbniLTA8Zw5Lqh4H7E8ardFnk1pm6ECo8IkvHax7+5wsfp0+yypShVfVfDUyrZS/vn37uqIq+n3kkUf6vM7aQsGFTj4qiNOIgV6/devWldhOp3gmgQJCBXi+8rQt0HtAJ0NVgEXziEsqwBKodNKh+LGBmotrpNPXYxP9z6jBu3o6KvXeM1pafMQJRSngVfCt4FoBnOYv6gSF3ts6gV+c3pvF20PoBIavJ9R1Ml7p5QoOVdBMJ58UHKqapt4nCGwEc9WUzrJ17NjRPv/8c/ehqRRKlQz29z+dvkhVuag4fVHqS07D+jo40pfdgAED/PrYqJ50lq54ry69B/Xe8/UEAeBPmv+muUP6Kd4bTCNv3oI5X+lkmYoBFZ9fqv8FVZd799133aiSDrz0uc2B0b5pfyrdURUZ1XtLxU1KazXgKwUYeqzixUJUwVcVn9X4WulsOnlZWuGc6kr7S8+vpHYcFaH/LW8nJjTnS2l56tOokaaXXnrJazCCvekEgoIxtX5Yu3atC6oq432n18fbKLOCya5du7oq1nrPaN68TkAh8AXlF8+bAlBrKD3tt99+cwc2hVM/VH1P13mqkSmNV/MvSmpYCgAAgP2PkTkAe43M6QyizsBqTpJG5TQvQmfxAAAAUH0QzAG1mPpueQpCFJ/TouIQSoHSHAulQ2miNAAAAKoP0iwBAAAAIADRmgAAAAAAAhDBHAAAAAAEIII5AAAAAAhABHMAAAAAEIAI5gAAAAAgABHMAQAAAEAAIpgDAAAAgABE03AA1d6CBQvsp59+sqCgILv00kstLCxsr2X27Nljr7/+uvv7nHPOsfr161foMZ955hk76KCDbODAgfbtt9/a+vXr7YILLrDK9M0339iyZcv2udz48ePt448/toSEBNfM/aSTTvK63OLFi2327NnWoEEDO/vss911n376qXsuHtqnkZGR1qJFCzvkkEOsTp06RdYxceJE69y5sw0bNswC2csvv2zdunVzz7GiXnnlFWvfvr0dfvjh7nJ+fr7NmzfPL+v22Lx5s3s/nHvuuX7f/urEl+f15ptv2pFHHmnNmzev1G0DgEDAyByAau/333+3Z5991gUWCuq8mTlzpjvI1nK7d++u8GNqPb/++qtVJR3MP/fcc15v++ijj2zSpEl2zz33WEZGhtdltL+0T956662C66ZNm2avvfZaweXc3FzbunWrW1YBm24vTI+hgLAmBA0KuCrDQw89ZPfff7/f1qfg8KabbrKQkJD9sv1VyZfnFR4ebjfffLPbTwBQ2zEyByBg6Oz9l19+aYceeuhet02fPt2GDh3qgjp/0yjA/jB8+HD347Fp0yZbsWKFTZgwwevyGjHbsmWL/fDDDzZixIgit6WkpNhvv/1mffv2dSN4hcXGxu61Th0Y//e//3VBRFxcnA0ePNivz60mufDCC4tc3rlzp1/X//bbb9v27dvtjDPO8Ot6a4oxY8bY5MmT3X4666yzqnpzAKBKEcwBCBhHHXWUPfjgg5adnV0k1VIH00pPvOKKK7wGcwsXLnQ/MmDAAOvVq1eR23NycmzWrFm2evVqa9KkiR177LFFbveWZpmXl2e//PKL/f333257lO54xBFHWERERMF9lPqpIEsjbAqolMqoYE1pjf6gFEmt76uvvtormNNjHnzwwS6oK+u6rr/+ene/xx9/fK9gbs2aNW5UNCsrywXNHTp0KHV9GhFUIFmvXj0XbGqUaciQIXvdT+vT7WvXrrWYmBg3Olg4fa4s6/GWqqft/fzzz+20005zr6k32jda58aNGy00NNR69uzp0mo9NFp54IEHuvfXypUrrVOnTm77CqdZTp061f755x9LSkpyqbl6j+q5rFu3zqUEF7Zhwwa3vIKRpk2bet0m7Q89H73XCo/MlbRsaftONEqt11S/tf3alxqZPeGEE6xNmzaljoYvWbLEMjMz3XPVvi3+vvU8vva1TgBofxRPb97XPi7peen/Uc+rbt26dthhhxXZX8HBwXb66afbSy+95PalRuoAoLYizRJAwFBwoiCqeKqlZ7Su+MGvDgqvuuoqO//8893BuA6m9fctt9zi1iM6CNcB/3333Wfbtm1zaYajR48usp7vvvuuSGpicnKyGzW599573X2UpqggUwfIaWlpBffRQbnmsylNcdeuXfbwww+7y55l/EFB3Pfff79XquUXX3zhAovy0EHyMcccY3/++acb8fOYM2eOGwFR0KKD/OOPP94FOqV59dVX3fMdO3asO9jXvMdRo0YVuZ8eZ+TIkfbkk0+6/ah9puczZcqUcq3HW6qeAgGlymq93vzxxx9uxFXpqno9ly5dauPGjbM77rijSIrpNddcYy+++KJ77yh492yT9nlJ9Po+8cQTbl8V9v7777uU10aNGpV4XwXm2mbtl9KUZd/pBIaC/Xfffde9ntqPmk+q/aJgsyRKYbzyyivdc1YQ+L///c+d4NBooceqVavc42s0V9d/9tlndvTRR7sAsDz7uDhtl95f2tbExET3uup5aa5nYdoe3a4ReQCozRiZAxAwNBqn0YfiqZY6oFPqm4Kqwl544QX7+uuv3QF0//793XWnnHKKO5vfo0cPF6DooFvpjFqH5yD7kUcecemNJdGIgEYaNAqolEVRkKgDZwVRWr/ngFcHzp6gSkGiAhE91qmnnuqXfaJRDo1MFE61VOCoQOKpp56yTz75pFzra9mypfutUUrPaIhGFVVwRWmdokBK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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Conditional analysis within: Action & Adventure\n", + "Observed lifecycle profile\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
season_plantitle_countmedian_qualitymedian_reachmedian_intensitymedian_stayinghit_ratemedian_quality_pctmedian_reach_pctmedian_intensity_pctmedian_staying_pctformat_score
04+ seasons77.16482.89037914000.02.00.4291.0001.0001.0000.6670.917
11 season107.11724.66418767500.02.00.1000.6670.3330.6670.6670.583
22–3 seasons97.00969.98017325000.02.00.2220.3330.6670.3330.6670.500
\n", + "
" + ], + "text/plain": [ + " season_plan title_count median_quality median_reach median_intensity median_staying hit_rate median_quality_pct median_reach_pct median_intensity_pct median_staying_pct format_score\n", + "0 4+ seasons 7 7.164 82.890 37914000.0 2.0 0.429 1.000 1.000 1.000 0.667 0.917\n", + "1 1 season 10 7.117 24.664 18767500.0 2.0 0.100 0.667 0.333 0.667 0.667 0.583\n", + "2 2–3 seasons 9 7.009 69.980 17325000.0 2.0 0.222 0.333 0.667 0.333 0.667 0.500" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Episodes per season\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
episode_plantitle_countmedian_qualitymedian_reachmedian_intensitymedian_stayinghit_ratemedian_quality_pctmedian_reach_pctmedian_intensity_pctmedian_staying_pctformat_score
0≤8 episodes/season87.21629.98033719000.04.00.500.6670.3331.0001.00.750
19–12 episodes/season87.21742.36323232500.02.00.251.0000.6670.6670.50.708
213+ episodes/season106.971103.13213825000.02.00.000.3331.0000.3330.50.542
\n", + "
" + ], + "text/plain": [ + " episode_plan title_count median_quality median_reach median_intensity median_staying hit_rate median_quality_pct median_reach_pct median_intensity_pct median_staying_pct format_score\n", + "0 ≤8 episodes/season 8 7.216 29.980 33719000.0 4.0 0.50 0.667 0.333 1.000 1.0 0.750\n", + "1 9–12 episodes/season 8 7.217 42.363 23232500.0 2.0 0.25 1.000 0.667 0.667 0.5 0.708\n", + "2 13+ episodes/season 10 6.971 103.132 13825000.0 2.0 0.00 0.333 1.000 0.333 0.5 0.542" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Viewing commitment per season\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
commitment_grouptitle_countmedian_qualitymedian_reachmedian_intensitymedian_stayinghit_ratemedian_quality_pctmedian_reach_pctmedian_intensity_pctmedian_staying_pctformat_score
0Moderate (6–10 h)77.30379.0403.791400e+075.00.5711.0000.6671.0001.00.917
1Compact (≤6 h)87.12936.4341.848583e+072.00.1250.6670.3330.6670.50.542
2Long-form (>16 h)57.105149.1661.436000e+072.00.0000.3331.0000.3330.50.542
\n", + "
" + ], + "text/plain": [ + " commitment_group title_count median_quality median_reach median_intensity median_staying hit_rate median_quality_pct median_reach_pct median_intensity_pct median_staying_pct format_score\n", + "0 Moderate (6–10 h) 7 7.303 79.040 3.791400e+07 5.0 0.571 1.000 0.667 1.000 1.0 0.917\n", + "1 Compact (≤6 h) 8 7.129 36.434 1.848583e+07 2.0 0.125 0.667 0.333 0.667 0.5 0.542\n", + "2 Long-form (>16 h) 5 7.105 149.166 1.436000e+07 2.0 0.000 0.333 1.000 0.333 0.5 0.542" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Language market\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
language_markettitle_countmedian_qualitymedian_reachmedian_intensitymedian_stayinghit_ratemedian_quality_pctmedian_reach_pctmedian_intensity_pctmedian_staying_pctformat_score
0English127.17445.14628995000.02.00.3331.00.51.00.750.812
1Non-English146.97176.66414340000.02.00.1430.51.00.50.750.688
\n", + "
" + ], + "text/plain": [ + " language_market title_count median_quality median_reach median_intensity median_staying hit_rate median_quality_pct median_reach_pct median_intensity_pct median_staying_pct format_score\n", + "0 English 12 7.174 45.146 28995000.0 2.0 0.333 1.0 0.5 1.0 0.75 0.812\n", + "1 Non-English 14 6.971 76.664 14340000.0 2.0 0.143 0.5 1.0 0.5 0.75 0.688" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3QAAAHQCAYAAADpgihqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT89JREFUeJzt3Qm8TPXj//HPFUol7SpayU5CIlSESAuKCiWSEm2ib0V7aFXatNGmDUkhlSUJZd+KkJIsUci+O//H+/N7fOY/d+7MvXNn7vZxX8/Hw+OamXPOfM6Zz5173ueznJQgCAIDAAAAAPBOgdwuAAAAAAAgMQQ6AAAAAPAUgQ4AAAAAPEWgAwAAAABPEegAAAAAwFMEOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAXtm0aZN55ZVXTLt27cxll11mWrVqZR5++GGzYMECk1+1b9/ePP30096/h+8ij9Fff/1l62Zekl1limfftcyzzz6bqe0k68svvzSNGjUyTz75ZMLbWLdunbn//vtTPXfnnXeaBx54wOSkadOmmVtuucVcddVV9r1Vrsz4/vvv7bG477774l5n48aNdp2xY8ea3Piu7927t9mxY0eOvzfgm5QgCILcLgQAxGPNmjXm2muvNWeffbbp0KGDOemkk8zmzZvN6NGjzaeffmr69OljWrZsmS+PS+HChc3xxx/v9Xv4LvIYKdBMmjTJTJ482eQV2VWmePZdwaB69ermqaeeins7yWrdurXRac6vv/5qy3LMMcdkehsvvPCCGTx4sFm4cGHoub///tsUKFDAnHjiiSYnzJgxw4bdu+++21xwwQXmkUceMXv37jVffPGFLUc8br31VhvQfv75Z/Ptt9+aU089NcN1/vnnH1O3bl0biHXxLCe9++67pl+/fmbOnDnmiCOOyNH3BnxDCx0Ab7z99ttm37595vXXXzf16tWzwa5GjRrm0UcfNY0bN7YnigcOHDD5zSmnnJLtQSsn3sN3+fkYZdW+Z+UxXLp0qZk/f75tkSpYsKAZPny4ySq6mJRTYU7UQqZQo1BWuXJlc8MNN9j9W7lyZVzrqzXvhx9+MN26dTPHHnus+fjjj7O9zAByTsEcfC8ASIq6cR1yyCEmJSUlzWtPPPGE7aITbu7cueadd94xv//+uznyyCPNJZdcYq9yqwXAGT9+vPn888/tiZGudFeoUMHcdttt5vTTT7evr1+/3rz55pv2xHDnzp32ebUCaluR7/X+++/b9ypSpIi5+OKLzU033WQOO+ww+7reVy0Uai346quvzNatW+176QTrtNNOi9kyoG5SOhHVCamjq+vPPfecGTRokL3Krm1rW//73//i2vcuXbqYo48+2l79dtSFS1fCdSwOP/xw+5yu/is8jxgxwh6T8PeId390Ijp06FDbMlC6dGlz4403mh49epiHHnrIXHjhhTE/61mzZpkhQ4aY5cuX2xPQK664wlx99dWpPvt4jnnDhg3N9u3bzYQJE8yuXbvMueeea7p3725mzpxpPvzwQ1uuihUr2udOOOGEpNdzx0gtKGPGjLF1RsfprrvuMpdffnnC246nPmf0mcQqU6Rk60d676MLMvrMJk6caDZs2GDKlStnuy+61qLIupzI740zbNgwGw510adBgwa2Ff/mm29O06L1yy+/2NagJUuWmGLFitmLQ9dff739nevfv7/55JNPbGuYyqH61bZtW1tmBazwY7R48WLbkvfbb7/ZdevUqWM6depkPyvROtpffabqCqrPWRelunbtan+mR/uqfVeIK1OmjP290HbD60d6PvvsM3PooYea888/3zRt2tQ+Vmtf+Heh/PTTT/ZYrFq1yn4m2tfw4/nWW2+ZDz74wBQvXjz0vFo/77jjDvP444+b2rVr2+dUR7WsWgMLFSpkWxU7d+5sjjrqKPu6fv9VfoVTfT+oJfCMM86wgbVKlSr2u03ri7qY6ndf9VL1QnXo+eefD72/jqN6brh6prrqjrlaNkuWLGm76eu7I6NyAd5Sl0sA8MGgQYOCMmXKBDfeeGMwceLEYMeOHTGX/frrr4Py5csHvXr1CubPn2+Xr1+/ftCxY8dg//79dpkhQ4YElStXDoYPHx4sWbIkmDp1atCqVaugQYMGwb59+4Ldu3cHTZo0sevMnTvXLvPqq6/aMkyePDn0XtpOuXLlgmeffTZYsGBBMGbMmKBevXpB69atg127dtllGjZsGNSsWTO44447gjlz5gQzZ84MrrzySvu8K0+kadOm2feaNGlSquc7d+4cNG/ePPRY27j33nvj3neVs2rVqsGePXvs8nv37g3OPfdc+15TpkwJbef222+3xzrae8SzP++9915QoUKF4I033ggWLlwYvPbaa0GlSpXs+4wd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s5k7d26a17StYsWKmfHjx9vjf/XVV5t77rkn3Za69GhdlTmZlkQAAAAAngW6888/34ahJUuWpHr+q6++MpdccknMFiN1IVSL0rZt26K2ys2fPz9qN0PXRfDXX381CxcuNDt27Ej1vFoD9ZzK89tvv9n3ci1d2t7MmTNt0HLU8qcyrFmzJlULV6z3iEbdKkeNGmVbzGTr1q3m888/N/fee685+uij7XPNmjUzF154oVmxYoWJh7pRNmnSxJa/QoUKqV7bsmWL+fbbb23raKFChexzXbp0sQFwypQp6W5XZdO2VeZwZ5xxhilbtqz5+OOP4yofAAAAgLzn//oLZoIChYKKWokUCMID3cCBA83TTz+danmFpgcffNC2JB111FFm5cqV5u677zbt27e3r0+dOtV25TzuuONssKtUqVKq9RWy7rzzTht01EKl9RWcrr/+erN3717btfC8886zoUfhZcyYMeajjz4yb7zxhjnzzDNtUFOIq1mzpm2ZGz16tFm7dq0NdQoz1atXT/c9otF61apVs2WWBQsW2HUvuOACs2HDBrv+WWedZV577bW4j6uOT+/evc3ll19uOnbsmOo1lV/7Ua5cudBzag1VKPv5559NgwYNom5z+PDhtqWwePHi5pdffjFXXXWV7Q7qNG3a1Lzyyiu2qygAAACAfBDoRC1xCgIKZqJApKBXokSJVMspZN1+++02pCispKSkmIkTJ9rnSpcubc455xwb5q677jrbBVChRePDnH379tnXL730UvtT66u16cYbbzRlypQJhb8jjzzSDBkyxAY8jWVTq92bb75pu4eKWrHUuqUxZffdd5/t0li1alXzv//9L8P3UOCLpO1peUetfQqCCozqbnnMMcfY1kFtzwXXjChwxuImN9F2w+k9FSDTG+enoH344Yfb465WPZVH+yW1a9c2Dz30kFm6dGnoOQAAACCn7dy5007sd7ALgsDmjVwPdJrw4/7777dBTq1GahVr2LBhmuUmTZpkQ53Cmiu4WpPUojZixAjboqbXb7311tBkHXfccYcZOXKkfazukgpGWv/HH38Mbff000+3LYQu0NWrV8/+VKhUl0cFq3DHH398qKJEyug9IgOdPgR17Qxv1VLLosaiKRipa6TKMXnyZLtfFStWNDVq1DDJUFDV8Yv88A855JBQF9NoNEGLwpzUrVvX/lTXSxfe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APAUgQ4AAAAAPEWgAwAAAABPEegAAAAAwFMEOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAAAAA8BSBDgAAAAA8RaADAAAAAE8R6AAAAADAUwQ6AAAAAPAUgQ4AAAAAPEWgAwAAAABPEegAAAAAwFMEOgAAAADwFIEOAAAAADxFoAMAAAAATxHoAAAAAMBTBDoAAAAA8BSBDgAAAAA8RaADAAAAAE8R6AAAAADAUwQ6AAAAAPAUgQ4AAAAAPEWgAwAAAID8FOgGDBhgvv/+e5OX7N+/3wwbNsw8++yzZvz48bldHDNixAjz22+/JbTu9OnTzdixY9M8v3HjRvP++++b/v3729eDIIi6/oEDB0yfPn3MkiVLYr7+0ksvmV27diVUPgAAAAAeB7qhQ4eaOXPmmLzktddes2HuyCOPNEcccUSuluWXX34x7777rjnzzDMzve6KFSvMPffcY3788cdUzyscNmvWzEybNs0ULlzYPP3006Z79+4xA5uC319//RX19QIFCpiUlBQbzAEAAAD466Dpcrlo0SJz8cUXmy5dupjatWvnalkee+wxc9ttt5lDDjnE/Pvvv+aHH36I2ZoWTi2L1157rfnvv//SvPbII4+Y6tWrm9dff91069bNDBo0yHz11Vdm3rx5CZWxQ4cOthVx+fLlCa0PAAAAIPcVzK4Nq7ufgszmzZvNOeecYxo0aGBbhtR61K9fP9OxY0czY8YMs3TpUnPSSSeZ5s2bm6JFi4bW12tqpTrmmGPMpZdeartTahsVKlRI814DBw602ylSpIjtati1a1dz9NFHxyzDvn37bAvXNddcYyZNmmSfU5B6+eWXTadOnez7qkXs9NNPt+VSKBs1apTZvXu3adSokSlXrlzM/f7pp5/supdccol9rG2//fbb5sknnzRt2rQxLVu2TLWfztdff23+97//2bJPnTo11WurV682s2bNMsOHDw89V6pUKfPEE0+Yww47LGZZFCK//fZb22J4/PHHm6uuusocddRR9jW1ZCoADx482B4zAAAAAP7Jlha6N99807Ru3dqsWrXKBprHH3/c3HLLLWbv3r2h7oA33XSTmThxojn00EPtYwUqvea6T3bu3NmO8frzzz9t8FKL1B9//BH1/YoXL26DjbpalihRwhQsWDDdMmi8nd5Tj3fs2GHfQ2FQz9166622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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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1fMJb+eCCy5ot/6uu+7SH2BMTuI5j/APdKzJYvS54McbYz/44IN24+6880495lWrVnW6vfDxXnfddW3rMJmAeDv66KPbjT3uuON04gO+/PJLfR3aSK655prQ9OnT2207PEELc9VVV+mED2AyhTGvvfZauzG4D84777wuve/RxHOMnV2XeI4rfH6R4g1ceeWVeg92556FcMJ78OCDD7atw8QX28KELpn3GibjmJTioUUYp9Opk+/IdfHQ2QR7a/dArPOP57jj2XY85xbrs5/I+xGL8PfMW2+91bYOE31sKyyOu/N9EM/5xSPoEr0H4n1d9PWM57PZlc9AV+638Pd65L4hpA466KC4BN3WPm/xfBfjPYTAhbAEWD7wwAP1dd9//307kbdu3bpu/14Qkq7Q5ZKQNKW0tFTdSZ588smY/R988IG2GBPJ/vvvry40n3/+eVKPBy4scNmBO84jjzyiLjRTpkyJ67VHH310u+VDDjlE/H6/fPrpp106j3hi5D766CMpLCyUffbZp0OGULh9zZ8/f5vb22WXXdr+ttlsmmwFcXqRYB9wnQJjx45VN6Jhw4ZpBju4aCLxwbx58zThTCQ777xzu+Xy8nJpamrSv8PHBjekSO677z655ppruvW+d+UYo69LPMcVJvqeQKKGsFtZosc+dOhQmTp1qrz22mtt6+Cmtf322+t5JfNeQyymz+eTs846S+bMmSONjY3icDg0rgwxSslga/dALLpy3ba27WSdW1fej0h22mkn2W677eQ///lPu9ftuuuuus2unmv0fZqs80t0O4m+Lp7PZqLXfFv3BFwVy8rK9D0IYzKZ9HMTD1v7vMXzXYz3Fd+jCAcAeN3xxx8vRUVF8uWXX+o6uJDusMMOMnjw4KT/XhCSLjDLJSFpzKmnnqpxCYg9wI9wJFVVVWIwGDTuIZJwzAPiE5LNxRdfrBMKi8Wigi5eBg4c2G45nIUN8VbxnAcmOgATj22xefPmDtcK9O/fX9uampq2dZ1tLzc3t8M6u93eYR28IAASSNx+++3ywgsvSHFxsYq/yZMna5xKZOwewAQvOmYSk5vwsRcUFHTYV0lJSbff964cY/R1iee4IvfT2fl1555FfNOVV16psZujR4+Wd955R37zm98k/V6bNWuW3HnnnfLEE09ozBLG4zohTineSe622No9EIt4jnvkyJHb3PYv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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
ComponentRecommendationEvidence
0Core genreAction & AdventureBalanced score = 0.76; n = 26; hit rate = 23.1%
1Observed lifecycle4+ seasonsHighest within-Action & Adventure lifecycle score = 0.92
2Episode structure≤8 episodes/seasonHighest within-Action & Adventure format score = 0.75
3Viewing commitmentModerate (6–10 h)Highest within-Action & Adventure format score = 0.92
4Language positioningEnglishHighest within-Action & Adventure market score = 0.81
5Performance objectiveDurable hit: strong weekly demand plus sustained rankingDurable-hit share in Action & Adventure: 57.7% versus 43.5% overall
\n", + "
" + ], + "text/plain": [ + " Component Recommendation Evidence\n", + "0 Core genre Action & Adventure Balanced score = 0.76; n = 26; hit rate = 23.1%\n", + "1 Observed lifecycle 4+ seasons Highest within-Action & Adventure lifecycle score = 0.92\n", + "2 Episode structure ≤8 episodes/season Highest within-Action & Adventure format score = 0.75\n", + "3 Viewing commitment Moderate (6–10 h) Highest within-Action & Adventure format score = 0.92\n", + "4 Language positioning English Highest within-Action & Adventure market score = 0.81\n", + "5 Performance objective Durable hit: strong weekly demand plus sustained ranking Durable-hit share in Action & Adventure: 57.7% versus 43.5% overall" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "\n", + "### My Ideal Show Strategy\n", + "\n", + "Rather than selecting the highest value from each dataset independently, I\n", + "looked for a format that balances four dimensions of success: **audience\n", + "quality**, **market reach**, **weekly viewing intensity**, and **staying\n", + "power**.\n", + "\n", + "Among genres with at least **8 matched titles**,\n", + "**Action & Adventure** achieved the strongest overall balance. Its balanced score\n", + "was **0.76**, based on the percentile ranks\n", + "of confidence-adjusted IMDb rating, TMDb popularity, Netflix viewing hours per\n", + "ranked week, and weeks in the Netflix ranking. Its top-quartile viewing-hours\n", + "hit rate was **23.1%** across\n", + "**26 titles**.\n", + "\n", + "Within Action & Adventure, the strongest observed lifecycle group was\n", + "**4+ seasons**. This should be interpreted as evidence of\n", + "multi-season durability rather than proof that producing more seasons causes\n", + "success, because popular shows are also more likely to receive renewals.\n", + "\n", + "For controllable production choices, the data favors approximately\n", + "**≤8 episodes/season** and a **Moderate (6–10 h)** season. The strongest\n", + "language-market profile was **English** within the selected\n", + "genre. The target performance pattern is a **durable hit**: strong weekly\n", + "demand combined with sustained chart presence. In the selected genre,\n", + "**57.7%** of titles met this archetype,\n", + "compared with **43.5%** across the full\n", + "analysis sample.\n", + "\n", + "These results describe associations rather than causal effects. The analysis\n", + "uses conservative exact-title matching, so it reduces false matches but also\n", + "excludes many titles. Production budget, marketing, release timing, platform\n", + "promotion, and target audience are not represented fully in the available\n", + "data.\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import re\n", + "import unicodedata\n", + "from pathlib import Path\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from IPython.display import display, Markdown\n", + "\n", + "# Optional: set True to save all report figures in ./exercise9_figures\n", + "EX9_SAVE_FIGURES = False\n", + "EX9_FIGURE_DIR = Path(\"exercise9_figures\")\n", + "if EX9_SAVE_FIGURES:\n", + " EX9_FIGURE_DIR.mkdir(exist_ok=True)\n", + "\n", + "\n", + "def ex9_finish_figure(filename: str) -> None:\n", + " \"\"\"Apply layout, optionally save, then show the current figure.\"\"\"\n", + " plt.tight_layout()\n", + " if EX9_SAVE_FIGURES:\n", + " plt.savefig(EX9_FIGURE_DIR / filename, dpi=300, bbox_inches=\"tight\")\n", + " plt.show()\n", + "\n", + "\n", + "# ============================================================\n", + "# 1. Helper functions\n", + "# ============================================================\n", + "\n", + "def ex9_normalize_title(value):\n", + " \"\"\"Normalize a title for conservative exact matching.\"\"\"\n", + " if pd.isna(value):\n", + " return np.nan\n", + "\n", + " text = unicodedata.normalize(\"NFKD\", str(value))\n", + " text = text.encode(\"ascii\", \"ignore\").decode(\"ascii\").lower()\n", + " text = text.replace(\"&\", \" and \")\n", + " text = re.sub(r\"[^a-z0-9]+\", \" \", text)\n", + " return re.sub(r\"\\s+\", \" \", text).strip()\n", + "\n", + "\n", + "def ex9_to_numeric(frame: pd.DataFrame, columns: list[str]) -> pd.DataFrame:\n", + " \"\"\"Convert selected columns to numeric without modifying the input.\"\"\"\n", + " result = frame.copy()\n", + " for column in columns:\n", + " if column in result.columns:\n", + " result[column] = pd.to_numeric(result[column], errors=\"coerce\")\n", + " return result\n", + "\n", + "\n", + "def ex9_binge_velocity(\n", + " frame: pd.DataFrame,\n", + " hours_col: str = \"netflix_viewing_hours\",\n", + " weeks_col: str = \"netflix_weeks\",\n", + ") -> pd.Series:\n", + " \"\"\"Average viewing hours per week in the Netflix ranking.\"\"\"\n", + " weeks = frame[weeks_col].replace(0, np.nan)\n", + " return (frame[hours_col] / weeks).rename(\"binge_velocity\")\n", + "\n", + "\n", + "def ex9_bayesian_rating(\n", + " frame: pd.DataFrame,\n", + " rating_col: str,\n", + " votes_col: str,\n", + " prior_votes: int = 500,\n", + ") -> tuple[pd.Series, float]:\n", + " \"\"\"Shrink low-vote IMDb ratings toward the dataset-wide mean.\n", + "\n", + " WR = [v / (v + m)]R + [m / (v + m)]C\n", + "\n", + " R: title rating\n", + " v: title vote count\n", + " C: overall mean rating\n", + " m: prior-vote confidence threshold\n", + " \"\"\"\n", + " rating = pd.to_numeric(frame[rating_col], errors=\"coerce\")\n", + " votes = pd.to_numeric(frame[votes_col], errors=\"coerce\").clip(lower=0)\n", + "\n", + " valid = rating.notna() & votes.notna()\n", + " global_mean = rating[valid].mean()\n", + "\n", + " weighted = (\n", + " (votes / (votes + prior_votes)) * rating\n", + " + (prior_votes / (votes + prior_votes)) * global_mean\n", + " )\n", + "\n", + " return weighted.rename(\"weighted_imdb_rating\"), global_mean\n", + "\n", + "\n", + "def ex9_audience_alignment_gap(\n", + " frame: pd.DataFrame,\n", + " tmdb_col: str = \"tmdb_vote_average\",\n", + " imdb_col: str = \"imdb_averageRating\",\n", + ") -> pd.Series:\n", + " \"\"\"Absolute disagreement between TMDb and IMDb ratings.\"\"\"\n", + " return (\n", + " frame[tmdb_col] - frame[imdb_col]\n", + " ).abs().rename(\"rating_alignment_gap\")\n", + "\n", + "\n", + "def ex9_log_buzz(\n", + " frame: pd.DataFrame,\n", + " votes_col: str = \"imdb_numVotes\",\n", + ") -> pd.Series:\n", + " \"\"\"Log-transformed IMDb vote volume as an audience-attention feature.\"\"\"\n", + " votes = pd.to_numeric(frame[votes_col], errors=\"coerce\").clip(lower=0)\n", + " return np.log1p(votes).rename(\"imdb_buzz_log\")\n", + "\n", + "\n", + "def ex9_label_hits(\n", + " frame: pd.DataFrame,\n", + " column: str = \"netflix_viewing_hours\",\n", + " quantile: float = 0.75,\n", + ") -> tuple[pd.DataFrame, float]:\n", + " \"\"\"Label titles in the top performance quantile as hits.\"\"\"\n", + " result = frame.copy()\n", + " threshold = result[column].quantile(quantile)\n", + " result[\"is_hit\"] = result[column] >= threshold\n", + " return result, threshold\n", + "\n", + "\n", + "def ex9_rank_score(\n", + " frame: pd.DataFrame,\n", + " metric_columns: list[str],\n", + " output_name: str,\n", + ") -> pd.DataFrame:\n", + " \"\"\"Convert metrics to percentile ranks and average them transparently.\"\"\"\n", + " result = frame.copy()\n", + " percentile_columns = []\n", + "\n", + " for column in metric_columns:\n", + " percentile_column = f\"{column}_pct\"\n", + " result[percentile_column] = result[column].rank(\n", + " pct=True,\n", + " method=\"average\",\n", + " )\n", + " percentile_columns.append(percentile_column)\n", + "\n", + " result[output_name] = result[percentile_columns].mean(axis=1)\n", + " return result\n", + "\n", + "\n", + "# ============================================================\n", + "# 2. Validate inputs and construct a trusted cross-source sample\n", + "# ============================================================\n", + "\n", + "required_netflix_columns = {\n", + " \"netflix_title\",\n", + " \"netflix_viewing_hours\",\n", + " \"netflix_weeks\",\n", + " \"tmdb_title\",\n", + " \"tmdb_popularity\",\n", + " \"tmdb_vote_average\",\n", + " \"tmdb_vote_count\",\n", + " \"imdb_title\",\n", + " \"imdb_averageRating\",\n", + " \"imdb_numVotes\",\n", + "}\n", + "\n", + "required_tmdb_columns = {\n", + " \"id\",\n", + " \"name\",\n", + " \"original_name\",\n", + " \"number_of_seasons\",\n", + " \"number_of_episodes\",\n", + " \"original_language\",\n", + " \"vote_count\",\n", + " \"vote_average\",\n", + " \"popularity\",\n", + " \"genres\",\n", + " \"episode_run_time\",\n", + " \"type\",\n", + " \"status\",\n", + "}\n", + "\n", + "missing_netflix_columns = required_netflix_columns - set(netflix.columns)\n", + "missing_tmdb_columns = required_tmdb_columns - set(tmdb.columns)\n", + "\n", + "if missing_netflix_columns:\n", + " raise KeyError(\n", + " f\"Missing Netflix columns: {sorted(missing_netflix_columns)}\"\n", + " )\n", + "\n", + "if missing_tmdb_columns:\n", + " raise KeyError(\n", + " f\"Missing TMDb columns: {sorted(missing_tmdb_columns)}\"\n", + " )\n", + "\n", + "# Work only on copies; original data remain unchanged.\n", + "ex9_base = netflix.copy().reset_index(drop=True)\n", + "ex9_base[\"ex9_row_id\"] = np.arange(len(ex9_base))\n", + "\n", + "ex9_base = ex9_to_numeric(\n", + " ex9_base,\n", + " [\n", + " \"netflix_viewing_hours\",\n", + " \"netflix_weeks\",\n", + " \"tmdb_popularity\",\n", + " \"tmdb_vote_average\",\n", + " \"tmdb_vote_count\",\n", + " \"imdb_averageRating\",\n", + " \"imdb_numVotes\",\n", + " ],\n", + ")\n", + "\n", + "for title_column in [\"netflix_title\", \"tmdb_title\", \"imdb_title\"]:\n", + " ex9_base[f\"{title_column}_key\"] = ex9_base[title_column].map(\n", + " ex9_normalize_title\n", + " )\n", + "\n", + "# Conservative rule: keep only exact normalized title agreement.\n", + "# This sacrifices sample size to reduce false cross-source matches.\n", + "ex9_base[\"trusted_tmdb_title\"] = (\n", + " ex9_base[\"tmdb_title\"].notna()\n", + " & ex9_base[\"netflix_title_key\"].eq(ex9_base[\"tmdb_title_key\"])\n", + ")\n", + "\n", + "ex9_base[\"trusted_imdb_title\"] = (\n", + " ex9_base[\"imdb_title\"].notna()\n", + " & ex9_base[\"netflix_title_key\"].eq(ex9_base[\"imdb_title_key\"])\n", + ")\n", + "\n", + "# Create a TMDb lookup using both displayed and original titles.\n", + "ex9_tmdb_columns = [\n", + " \"id\",\n", + " \"name\",\n", + " \"original_name\",\n", + " \"number_of_seasons\",\n", + " \"number_of_episodes\",\n", + " \"original_language\",\n", + " \"vote_count\",\n", + " \"vote_average\",\n", + " \"popularity\",\n", + " \"genres\",\n", + " \"episode_run_time\",\n", + " \"type\",\n", + " \"status\",\n", + "]\n", + "\n", + "ex9_tmdb = ex9_to_numeric(\n", + " tmdb[ex9_tmdb_columns].copy(),\n", + " [\n", + " \"number_of_seasons\",\n", + " \"number_of_episodes\",\n", + " \"vote_count\",\n", + " \"vote_average\",\n", + " \"popularity\",\n", + " \"episode_run_time\",\n", + " ],\n", + ")\n", + "\n", + "ex9_tmdb[\"name_key\"] = ex9_tmdb[\"name\"].map(ex9_normalize_title)\n", + "ex9_tmdb[\"original_name_key\"] = ex9_tmdb[\"original_name\"].map(\n", + " ex9_normalize_title\n", + ")\n", + "\n", + "ex9_tmdb_lookup = pd.concat(\n", + " [\n", + " ex9_tmdb.assign(title_key=ex9_tmdb[\"name_key\"]),\n", + " ex9_tmdb.assign(title_key=ex9_tmdb[\"original_name_key\"]),\n", + " ],\n", + " ignore_index=True,\n", + ")\n", + "\n", + "ex9_tmdb_lookup = (\n", + " ex9_tmdb_lookup[\n", + " ex9_tmdb_lookup[\"title_key\"].notna()\n", + " & ex9_tmdb_lookup[\"title_key\"].ne(\"\")\n", + " ]\n", + " .drop_duplicates([\"title_key\", \"id\"])\n", + ")\n", + "\n", + "ex9_trusted = ex9_base[\n", + " ex9_base[\"trusted_tmdb_title\"]\n", + " & ex9_base[\"trusted_imdb_title\"]\n", + "].copy()\n", + "\n", + "# Duplicate titles may refer to multiple TMDb records.\n", + "# Choose the candidate whose TMDb metrics best reproduce the composite row.\n", + "ex9_candidates = ex9_trusted.merge(\n", + " ex9_tmdb_lookup,\n", + " left_on=\"tmdb_title_key\",\n", + " right_on=\"title_key\",\n", + " how=\"left\",\n", + " suffixes=(\"\", \"_tmdb_full\"),\n", + ")\n", + "\n", + "ex9_candidates[\"match_score\"] = (\n", + " (\n", + " ex9_candidates[\"tmdb_vote_average\"]\n", + " - ex9_candidates[\"vote_average\"]\n", + " )\n", + " .abs()\n", + " .fillna(10)\n", + " + (\n", + " np.log1p(ex9_candidates[\"tmdb_vote_count\"].clip(lower=0))\n", + " - np.log1p(ex9_candidates[\"vote_count\"].clip(lower=0))\n", + " )\n", + " .abs()\n", + " .fillna(10)\n", + " + (\n", + " np.log1p(ex9_candidates[\"tmdb_popularity\"].clip(lower=0))\n", + " - np.log1p(ex9_candidates[\"popularity\"].clip(lower=0))\n", + " )\n", + " .abs()\n", + " .fillna(10)\n", + ")\n", + "\n", + "ex9_analysis = (\n", + " ex9_candidates\n", + " .sort_values(\n", + " [\"ex9_row_id\", \"match_score\", \"vote_count\"],\n", + " ascending=[True, True, False],\n", + " )\n", + " .drop_duplicates(\"ex9_row_id\")\n", + " .copy()\n", + ")\n", + "\n", + "# Focus on writer-relevant narrative television.\n", + "ex9_analysis = ex9_analysis[\n", + " ex9_analysis[\"type\"].isin([\"Scripted\", \"Miniseries\"])\n", + "].copy()\n", + "\n", + "# Require usable outcome data.\n", + "ex9_analysis = ex9_analysis[\n", + " ex9_analysis[\"netflix_viewing_hours\"].gt(0)\n", + " & ex9_analysis[\"netflix_weeks\"].gt(0)\n", + " & ex9_analysis[\"imdb_averageRating\"].notna()\n", + " & ex9_analysis[\"imdb_numVotes\"].gt(0)\n", + " & ex9_analysis[\"tmdb_popularity\"].notna()\n", + "].copy()\n", + "\n", + "\n", + "# ============================================================\n", + "# 3. Create interpretable derived features\n", + "# ============================================================\n", + "\n", + "# Weekly demand intensity\n", + "ex9_analysis[\"binge_velocity\"] = ex9_binge_velocity(ex9_analysis)\n", + "\n", + "# IMDb quality adjusted for vote confidence\n", + "(\n", + " ex9_analysis[\"weighted_imdb_rating\"],\n", + " ex9_global_imdb_mean,\n", + ") = ex9_bayesian_rating(\n", + " ex9_analysis,\n", + " rating_col=\"imdb_averageRating\",\n", + " votes_col=\"imdb_numVotes\",\n", + " prior_votes=500,\n", + ")\n", + "\n", + "# Cross-platform rating agreement and audience attention\n", + "ex9_analysis[\"rating_alignment_gap\"] = ex9_audience_alignment_gap(\n", + " ex9_analysis\n", + ")\n", + "ex9_analysis[\"imdb_buzz_log\"] = ex9_log_buzz(ex9_analysis)\n", + "\n", + "# Production-format features\n", + "ex9_analysis[\"episodes_per_season\"] = (\n", + " ex9_analysis[\"number_of_episodes\"]\n", + " / ex9_analysis[\"number_of_seasons\"].replace(0, np.nan)\n", + ")\n", + "\n", + "ex9_analysis[\"hours_per_season\"] = (\n", + " ex9_analysis[\"episodes_per_season\"]\n", + " * ex9_analysis[\"episode_run_time\"].replace(0, np.nan)\n", + " / 60\n", + ")\n", + "\n", + "# Top-quartile total viewing-hours label\n", + "ex9_analysis, ex9_hit_threshold = ex9_label_hits(\n", + " ex9_analysis,\n", + " column=\"netflix_viewing_hours\",\n", + " quantile=0.75,\n", + ")\n", + "\n", + "# Performance archetypes: weekly intensity × staying power\n", + "ex9_intensity_median = ex9_analysis[\"binge_velocity\"].median()\n", + "ex9_staying_median = ex9_analysis[\"netflix_weeks\"].median()\n", + "\n", + "ex9_archetype_conditions = [\n", + " (\n", + " ex9_analysis[\"binge_velocity\"].ge(ex9_intensity_median)\n", + " & ex9_analysis[\"netflix_weeks\"].ge(ex9_staying_median)\n", + " ),\n", + " (\n", + " ex9_analysis[\"binge_velocity\"].ge(ex9_intensity_median)\n", + " & ex9_analysis[\"netflix_weeks\"].lt(ex9_staying_median)\n", + " ),\n", + " (\n", + " ex9_analysis[\"binge_velocity\"].lt(ex9_intensity_median)\n", + " & ex9_analysis[\"netflix_weeks\"].ge(ex9_staying_median)\n", + " ),\n", + "]\n", + "\n", + "ex9_analysis[\"performance_archetype\"] = np.select(\n", + " ex9_archetype_conditions,\n", + " [\"Durable hit\", \"Viral burst\", \"Slow burner\"],\n", + " default=\"Limited traction\",\n", + ")\n", + "\n", + "\n", + "# ============================================================\n", + "# 4. Evidence that robust summaries are appropriate\n", + "# ============================================================\n", + "\n", + "ex9_distribution_summary = pd.DataFrame(\n", + " {\n", + " \"Variable\": [\n", + " \"TMDb popularity\",\n", + " \"Netflix viewing hours\",\n", + " \"Binge velocity\",\n", + " \"IMDb vote count\",\n", + " ],\n", + " \"Count\": [\n", + " ex9_analysis[\"tmdb_popularity\"].count(),\n", + " ex9_analysis[\"netflix_viewing_hours\"].count(),\n", + " ex9_analysis[\"binge_velocity\"].count(),\n", + " ex9_analysis[\"imdb_numVotes\"].count(),\n", + " ],\n", + " \"Mean\": [\n", + " ex9_analysis[\"tmdb_popularity\"].mean(),\n", + " ex9_analysis[\"netflix_viewing_hours\"].mean(),\n", + " ex9_analysis[\"binge_velocity\"].mean(),\n", + " ex9_analysis[\"imdb_numVotes\"].mean(),\n", + " ],\n", + " \"Median\": [\n", + " ex9_analysis[\"tmdb_popularity\"].median(),\n", + " ex9_analysis[\"netflix_viewing_hours\"].median(),\n", + " ex9_analysis[\"binge_velocity\"].median(),\n", + " ex9_analysis[\"imdb_numVotes\"].median(),\n", + " ],\n", + " \"Skewness\": [\n", + " ex9_analysis[\"tmdb_popularity\"].skew(),\n", + " ex9_analysis[\"netflix_viewing_hours\"].skew(),\n", + " ex9_analysis[\"binge_velocity\"].skew(),\n", + " ex9_analysis[\"imdb_numVotes\"].skew(),\n", + " ],\n", + " \"95th percentile\": [\n", + " ex9_analysis[\"tmdb_popularity\"].quantile(0.95),\n", + " ex9_analysis[\"netflix_viewing_hours\"].quantile(0.95),\n", + " ex9_analysis[\"binge_velocity\"].quantile(0.95),\n", + " ex9_analysis[\"imdb_numVotes\"].quantile(0.95),\n", + " ],\n", + " }\n", + ")\n", + "\n", + "print(\"Distribution diagnostics\")\n", + "display(ex9_distribution_summary.round(2))\n", + "\n", + "\n", + "# ============================================================\n", + "# 5. Show matching coverage before interpreting results\n", + "# ============================================================\n", + "\n", + "ex9_coverage = pd.DataFrame(\n", + " {\n", + " \"Stage\": [\n", + " \"Netflix composite rows\",\n", + " \"Exact IMDb title match\",\n", + " \"Exact TMDb title match\",\n", + " \"Exact match to both\",\n", + " \"Narrative titles used\",\n", + " ],\n", + " \"Titles\": [\n", + " len(ex9_base),\n", + " int(ex9_base[\"trusted_imdb_title\"].sum()),\n", + " int(ex9_base[\"trusted_tmdb_title\"].sum()),\n", + " int(\n", + " (\n", + " ex9_base[\"trusted_imdb_title\"]\n", + " & ex9_base[\"trusted_tmdb_title\"]\n", + " ).sum()\n", + " ),\n", + " len(ex9_analysis),\n", + " ],\n", + " }\n", + ")\n", + "\n", + "ex9_coverage[\"Coverage (%)\"] = (\n", + " 100 * ex9_coverage[\"Titles\"] / len(ex9_base)\n", + ")\n", + "\n", + "display(ex9_coverage.round(1))\n", + "\n", + "plt.figure(figsize=(9, 4.8))\n", + "ex9_coverage_plot = ex9_coverage.iloc[1:].sort_values(\"Titles\")\n", + "plt.barh(\n", + " ex9_coverage_plot[\"Stage\"],\n", + " ex9_coverage_plot[\"Titles\"],\n", + ")\n", + "\n", + "for index, value in enumerate(ex9_coverage_plot[\"Titles\"]):\n", + " plt.text(value + 3, index, f\"{int(value)}\", va=\"center\")\n", + "\n", + "plt.xlabel(\"Number of titles\")\n", + "plt.title(\"Cross-source matching and final analysis sample\")\n", + "ex9_finish_figure(\"01_matching_coverage.png\")\n", + "\n", + "\n", + "# ============================================================\n", + "# 6. Find the genre with the strongest overall balance\n", + "# ============================================================\n", + "\n", + "ex9_genre_long = ex9_analysis.copy()\n", + "ex9_genre_long[\"genre\"] = (\n", + " ex9_genre_long[\"genres\"]\n", + " .fillna(\"\")\n", + " .str.split(r\"\\s*,\\s*\")\n", + ")\n", + "ex9_genre_long = ex9_genre_long.explode(\"genre\")\n", + "ex9_genre_long[\"genre\"] = ex9_genre_long[\"genre\"].str.strip()\n", + "ex9_genre_long = ex9_genre_long[\n", + " ex9_genre_long[\"genre\"].ne(\"\")\n", + "]\n", + "\n", + "ex9_genre_profile = (\n", + " ex9_genre_long\n", + " .groupby(\"genre\")\n", + " .agg(\n", + " title_count=(\"ex9_row_id\", \"nunique\"),\n", + " median_quality=(\"weighted_imdb_rating\", \"median\"),\n", + " median_reach=(\"tmdb_popularity\", \"median\"),\n", + " median_intensity=(\"binge_velocity\", \"median\"),\n", + " median_staying=(\"netflix_weeks\", \"median\"),\n", + " hit_rate=(\"is_hit\", \"mean\"),\n", + " median_alignment_gap=(\"rating_alignment_gap\", \"median\"),\n", + " median_buzz=(\"imdb_buzz_log\", \"median\"),\n", + " )\n", + " .reset_index()\n", + ")\n", + "\n", + "# Require a reasonable sample before ranking a genre.\n", + "ex9_min_genre_count = max(\n", + " 8,\n", + " min(15, int(len(ex9_analysis) * 0.05)),\n", + ")\n", + "\n", + "ex9_genre_profile = ex9_genre_profile[\n", + " ex9_genre_profile[\"title_count\"] >= ex9_min_genre_count\n", + "].copy()\n", + "\n", + "# Equal-weight score across four distinct success dimensions.\n", + "ex9_genre_profile = ex9_rank_score(\n", + " ex9_genre_profile,\n", + " metric_columns=[\n", + " \"median_quality\",\n", + " \"median_reach\",\n", + " \"median_intensity\",\n", + " \"median_staying\",\n", + " ],\n", + " output_name=\"balanced_score\",\n", + ")\n", + "\n", + "ex9_genre_profile = (\n", + " ex9_genre_profile\n", + " .sort_values(\n", + " [\"balanced_score\", \"title_count\"],\n", + " ascending=[False, False],\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "if ex9_genre_profile.empty:\n", + " raise ValueError(\n", + " \"No genre has enough matched titles for a reliable comparison.\"\n", + " )\n", + "\n", + "best_genre = ex9_genre_profile.loc[0, \"genre\"]\n", + "best_genre_row = ex9_genre_profile.iloc[0]\n", + "\n", + "print(\n", + " f\"Genres require at least {ex9_min_genre_count} matched titles.\"\n", + ")\n", + "display(\n", + " ex9_genre_profile[\n", + " [\n", + " \"genre\",\n", + " \"title_count\",\n", + " \"median_quality\",\n", + " \"median_reach\",\n", + " \"median_intensity\",\n", + " \"median_staying\",\n", + " \"hit_rate\",\n", + " \"balanced_score\",\n", + " ]\n", + " ]\n", + " .head(10)\n", + " .round(\n", + " {\n", + " \"median_quality\": 2,\n", + " \"median_reach\": 2,\n", + " \"median_intensity\": 0,\n", + " \"median_staying\": 1,\n", + " \"hit_rate\": 3,\n", + " \"balanced_score\": 3,\n", + " }\n", + " )\n", + ")\n", + "\n", + "# Figure: ranked balanced score\n", + "plt.figure(figsize=(9, 5.5))\n", + "ex9_top_genres = (\n", + " ex9_genre_profile\n", + " .head(10)\n", + " .sort_values(\"balanced_score\")\n", + ")\n", + "\n", + "plt.barh(\n", + " ex9_top_genres[\"genre\"],\n", + " ex9_top_genres[\"balanced_score\"],\n", + ")\n", + "plt.xlabel(\"Balanced score (average percentile rank)\")\n", + "plt.title(\n", + " \"Genres balancing quality, reach, intensity, and staying power\"\n", + ")\n", + "plt.xlim(0, 1)\n", + "ex9_finish_figure(\"02_genre_balanced_score.png\")\n", + "\n", + "# Figure: quality-versus-reach positioning\n", + "plt.figure(figsize=(9, 6))\n", + "ex9_point_sizes = (\n", + " 60\n", + " + 280\n", + " * (\n", + " ex9_genre_profile[\"median_staying\"]\n", + " / ex9_genre_profile[\"median_staying\"].max()\n", + " )\n", + ")\n", + "\n", + "plt.scatter(\n", + " ex9_genre_profile[\"median_reach\"],\n", + " ex9_genre_profile[\"median_quality\"],\n", + " s=ex9_point_sizes,\n", + " alpha=0.7,\n", + ")\n", + "\n", + "for _, row in ex9_genre_profile.head(8).iterrows():\n", + " plt.annotate(\n", + " row[\"genre\"],\n", + " (row[\"median_reach\"], row[\"median_quality\"]),\n", + " xytext=(4, 4),\n", + " textcoords=\"offset points\",\n", + " fontsize=9,\n", + " )\n", + "\n", + "plt.xscale(\"log\")\n", + "plt.xlabel(\"Median TMDb popularity (log scale)\")\n", + "plt.ylabel(\"Median confidence-adjusted IMDb rating\")\n", + "plt.title(\"Genre positioning: audience quality versus market reach\")\n", + "ex9_finish_figure(\"03_genre_quality_reach.png\")\n", + "\n", + "\n", + "# ============================================================\n", + "# 7. Within the selected genre, identify a coherent format\n", + "# ============================================================\n", + "\n", + "ex9_best_genre_titles = (\n", + " ex9_genre_long[\n", + " ex9_genre_long[\"genre\"].eq(best_genre)\n", + " ]\n", + " .drop_duplicates(\"ex9_row_id\")\n", + " .copy()\n", + ")\n", + "\n", + "# Number of seasons is partly an outcome of success, so it is reported as\n", + "# an observed lifecycle pattern rather than a guaranteed production choice.\n", + "ex9_best_genre_titles[\"season_plan\"] = pd.cut(\n", + " ex9_best_genre_titles[\"number_of_seasons\"],\n", + " bins=[0, 1, 3, np.inf],\n", + " labels=[\"1 season\", \"2–3 seasons\", \"4+ seasons\"],\n", + ")\n", + "\n", + "ex9_best_genre_titles[\"episode_plan\"] = pd.cut(\n", + " ex9_best_genre_titles[\"episodes_per_season\"],\n", + " bins=[0, 8, 12, np.inf],\n", + " labels=[\n", + " \"≤8 episodes/season\",\n", + " \"9–12 episodes/season\",\n", + " \"13+ episodes/season\",\n", + " ],\n", + ")\n", + "\n", + "ex9_best_genre_titles[\"commitment_group\"] = pd.cut(\n", + " ex9_best_genre_titles[\"hours_per_season\"],\n", + " bins=[0, 6, 10, 16, np.inf],\n", + " labels=[\n", + " \"Compact (≤6 h)\",\n", + " \"Moderate (6–10 h)\",\n", + " \"Extended (10–16 h)\",\n", + " \"Long-form (>16 h)\",\n", + " ],\n", + ")\n", + "\n", + "ex9_best_genre_titles[\"language_market\"] = np.where(\n", + " ex9_best_genre_titles[\"original_language\"].eq(\"en\"),\n", + " \"English\",\n", + " \"Non-English\",\n", + ")\n", + "\n", + "\n", + "def ex9_group_profile(\n", + " frame: pd.DataFrame,\n", + " group_column: str,\n", + " minimum_count: int,\n", + ") -> pd.DataFrame:\n", + " \"\"\"Summarize and rank format groups within the chosen genre.\"\"\"\n", + " profile = (\n", + " frame\n", + " .dropna(subset=[group_column])\n", + " .groupby(group_column, observed=True)\n", + " .agg(\n", + " title_count=(\"ex9_row_id\", \"nunique\"),\n", + " median_quality=(\"weighted_imdb_rating\", \"median\"),\n", + " median_reach=(\"tmdb_popularity\", \"median\"),\n", + " median_intensity=(\"binge_velocity\", \"median\"),\n", + " median_staying=(\"netflix_weeks\", \"median\"),\n", + " hit_rate=(\"is_hit\", \"mean\"),\n", + " )\n", + " .reset_index()\n", + " )\n", + "\n", + " reliable = profile[\n", + " profile[\"title_count\"] >= minimum_count\n", + " ].copy()\n", + "\n", + " if reliable.empty:\n", + " reliable = profile.copy()\n", + "\n", + " if reliable.empty:\n", + " return reliable\n", + "\n", + " reliable = ex9_rank_score(\n", + " reliable,\n", + " metric_columns=[\n", + " \"median_quality\",\n", + " \"median_reach\",\n", + " \"median_intensity\",\n", + " \"median_staying\",\n", + " ],\n", + " output_name=\"format_score\",\n", + " )\n", + "\n", + " return (\n", + " reliable\n", + " .sort_values(\n", + " [\"format_score\", \"title_count\"],\n", + " ascending=[False, False],\n", + " )\n", + " .reset_index(drop=True)\n", + " )\n", + "\n", + "\n", + "ex9_min_format_count = max(\n", + " 3,\n", + " min(5, int(len(ex9_best_genre_titles) * 0.15)),\n", + ")\n", + "\n", + "ex9_season_profile = ex9_group_profile(\n", + " ex9_best_genre_titles,\n", + " \"season_plan\",\n", + " ex9_min_format_count,\n", + ")\n", + "\n", + "ex9_episode_profile = ex9_group_profile(\n", + " ex9_best_genre_titles,\n", + " \"episode_plan\",\n", + " ex9_min_format_count,\n", + ")\n", + "\n", + "ex9_commitment_profile = ex9_group_profile(\n", + " ex9_best_genre_titles,\n", + " \"commitment_group\",\n", + " ex9_min_format_count,\n", + ")\n", + "\n", + "ex9_language_profile = ex9_group_profile(\n", + " ex9_best_genre_titles,\n", + " \"language_market\",\n", + " ex9_min_format_count,\n", + ")\n", + "\n", + "print(f\"Conditional analysis within: {best_genre}\")\n", + "print(\"Observed lifecycle profile\")\n", + "display(ex9_season_profile.round(3))\n", + "print(\"Episodes per season\")\n", + "display(ex9_episode_profile.round(3))\n", + "print(\"Viewing commitment per season\")\n", + "display(ex9_commitment_profile.round(3))\n", + "print(\"Language market\")\n", + "display(ex9_language_profile.round(3))\n", + "\n", + "best_season_profile = (\n", + " str(ex9_season_profile.loc[0, \"season_plan\"])\n", + " if not ex9_season_profile.empty\n", + " else \"insufficient data\"\n", + ")\n", + "\n", + "best_episode_plan = (\n", + " str(ex9_episode_profile.loc[0, \"episode_plan\"])\n", + " if not ex9_episode_profile.empty\n", + " else \"insufficient data\"\n", + ")\n", + "\n", + "best_commitment_group = (\n", + " str(ex9_commitment_profile.loc[0, \"commitment_group\"])\n", + " if not ex9_commitment_profile.empty\n", + " else \"insufficient runtime data\"\n", + ")\n", + "\n", + "best_language_market = (\n", + " str(ex9_language_profile.loc[0, \"language_market\"])\n", + " if not ex9_language_profile.empty\n", + " else \"insufficient data\"\n", + ")\n", + "\n", + "# Figure: season viewing commitment within the selected genre\n", + "if not ex9_commitment_profile.empty:\n", + " plt.figure(figsize=(9, 4.8))\n", + " ex9_commitment_plot = ex9_commitment_profile.sort_values(\n", + " \"format_score\"\n", + " )\n", + "\n", + " plt.barh(\n", + " ex9_commitment_plot[\"commitment_group\"].astype(str),\n", + " ex9_commitment_plot[\"format_score\"],\n", + " )\n", + " plt.xlabel(\"Within-genre format score\")\n", + " plt.title(f\"Season viewing commitment within {best_genre}\")\n", + " plt.xlim(0, 1)\n", + " ex9_finish_figure(\"04_within_genre_commitment.png\")\n", + "\n", + "\n", + "# ============================================================\n", + "# 8. Visualize Netflix performance archetypes\n", + "# ============================================================\n", + "\n", + "plt.figure(figsize=(9, 6))\n", + "\n", + "for archetype, group in ex9_analysis.groupby(\"performance_archetype\"):\n", + " plt.scatter(\n", + " group[\"netflix_weeks\"],\n", + " group[\"binge_velocity\"],\n", + " alpha=0.65,\n", + " label=f\"{archetype} (n={len(group)})\",\n", + " )\n", + "\n", + "plt.axvline(\n", + " ex9_staying_median,\n", + " linestyle=\"--\",\n", + " linewidth=1,\n", + ")\n", + "plt.axhline(\n", + " ex9_intensity_median,\n", + " linestyle=\"--\",\n", + " linewidth=1,\n", + ")\n", + "plt.yscale(\"log\")\n", + "plt.xlabel(\"Weeks in Netflix ranking\")\n", + "plt.ylabel(\"Viewing hours per ranked week (log scale)\")\n", + "plt.title(\n", + " \"Netflix performance archetypes: intensity versus staying power\"\n", + ")\n", + "plt.legend()\n", + "ex9_finish_figure(\"05_netflix_performance_archetypes.png\")\n", + "\n", + "\n", + "# ============================================================\n", + "# 9. Produce the final recipe and automatic report paragraph\n", + "# ============================================================\n", + "\n", + "ex9_best_genre_durable_share = (\n", + " ex9_best_genre_titles[\"performance_archetype\"]\n", + " .eq(\"Durable hit\")\n", + " .mean()\n", + ")\n", + "\n", + "ex9_overall_durable_share = (\n", + " ex9_analysis[\"performance_archetype\"]\n", + " .eq(\"Durable hit\")\n", + " .mean()\n", + ")\n", + "\n", + "ex9_recipe = pd.DataFrame(\n", + " {\n", + " \"Component\": [\n", + " \"Core genre\",\n", + " \"Observed lifecycle\",\n", + " \"Episode structure\",\n", + " \"Viewing commitment\",\n", + " \"Language positioning\",\n", + " \"Performance objective\",\n", + " ],\n", + " \"Recommendation\": [\n", + " best_genre,\n", + " best_season_profile,\n", + " best_episode_plan,\n", + " best_commitment_group,\n", + " best_language_market,\n", + " \"Durable hit: strong weekly demand plus sustained ranking\",\n", + " ],\n", + " \"Evidence\": [\n", + " (\n", + " f\"Balanced score = {best_genre_row['balanced_score']:.2f}; \"\n", + " f\"n = {int(best_genre_row['title_count'])}; \"\n", + " f\"hit rate = {100 * best_genre_row['hit_rate']:.1f}%\"\n", + " ),\n", + " (\n", + " f\"Highest within-{best_genre} lifecycle score = \"\n", + " f\"{ex9_season_profile.loc[0, 'format_score']:.2f}\"\n", + " if not ex9_season_profile.empty\n", + " else \"Insufficient data\"\n", + " ),\n", + " (\n", + " f\"Highest within-{best_genre} format score = \"\n", + " f\"{ex9_episode_profile.loc[0, 'format_score']:.2f}\"\n", + " if not ex9_episode_profile.empty\n", + " else \"Insufficient data\"\n", + " ),\n", + " (\n", + " f\"Highest within-{best_genre} format score = \"\n", + " f\"{ex9_commitment_profile.loc[0, 'format_score']:.2f}\"\n", + " if not ex9_commitment_profile.empty\n", + " else \"Insufficient runtime data\"\n", + " ),\n", + " (\n", + " f\"Highest within-{best_genre} market score = \"\n", + " f\"{ex9_language_profile.loc[0, 'format_score']:.2f}\"\n", + " if not ex9_language_profile.empty\n", + " else \"Insufficient data\"\n", + " ),\n", + " (\n", + " f\"Durable-hit share in {best_genre}: \"\n", + " f\"{100 * ex9_best_genre_durable_share:.1f}% \"\n", + " f\"versus {100 * ex9_overall_durable_share:.1f}% overall\"\n", + " ),\n", + " ],\n", + " }\n", + ")\n", + "\n", + "display(ex9_recipe)\n", + "\n", + "# Auto-generated written response for the exercise.\n", + "display(\n", + " Markdown(\n", + " f\"\"\"\n", + "### My Ideal Show Strategy\n", + "\n", + "Rather than selecting the highest value from each dataset independently, I\n", + "looked for a format that balances four dimensions of success: **audience\n", + "quality**, **market reach**, **weekly viewing intensity**, and **staying\n", + "power**.\n", + "\n", + "Among genres with at least **{ex9_min_genre_count} matched titles**,\n", + "**{best_genre}** achieved the strongest overall balance. Its balanced score\n", + "was **{best_genre_row['balanced_score']:.2f}**, based on the percentile ranks\n", + "of confidence-adjusted IMDb rating, TMDb popularity, Netflix viewing hours per\n", + "ranked week, and weeks in the Netflix ranking. Its top-quartile viewing-hours\n", + "hit rate was **{100 * best_genre_row['hit_rate']:.1f}%** across\n", + "**{int(best_genre_row['title_count'])} titles**.\n", + "\n", + "Within {best_genre}, the strongest observed lifecycle group was\n", + "**{best_season_profile}**. This should be interpreted as evidence of\n", + "multi-season durability rather than proof that producing more seasons causes\n", + "success, because popular shows are also more likely to receive renewals.\n", + "\n", + "For controllable production choices, the data favors approximately\n", + "**{best_episode_plan}** and a **{best_commitment_group}** season. The strongest\n", + "language-market profile was **{best_language_market}** within the selected\n", + "genre. The target performance pattern is a **durable hit**: strong weekly\n", + "demand combined with sustained chart presence. In the selected genre,\n", + "**{100 * ex9_best_genre_durable_share:.1f}%** of titles met this archetype,\n", + "compared with **{100 * ex9_overall_durable_share:.1f}%** across the full\n", + "analysis sample.\n", + "\n", + "These results describe associations rather than causal effects. The analysis\n", + "uses conservative exact-title matching, so it reduces false matches but also\n", + "excludes many titles. Production budget, marketing, release timing, platform\n", + "promotion, and target audience are not represented fully in the available\n", + "data.\n", + "\"\"\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c7ceb048", + "metadata": {}, + "source": [ + "## our analysis\n", + "Skewness Correction \n", + "\n", + "Standardization & PCA \n", + "\n", + "Score Scaling & Loadings" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "0d64c4aa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "==========================================================================================\n", + "Pearson correlation matrix of PCA input features\n", + "==========================================================================================\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Netflix viewing hoursTMDb ratingTMDb vote count
Netflix viewing hours1.0000.1690.522
TMDb rating0.1691.0000.440
TMDb vote count0.5220.4401.000
\n", + "
" + ], + "text/plain": [ + " Netflix viewing hours TMDb rating TMDb vote count\n", + "Netflix viewing hours 1.000 0.169 0.522\n", + "TMDb rating 0.169 1.000 0.440\n", + "TMDb vote count 0.522 0.440 1.000" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "==========================================================================================\n", + "PC1 loadings and relative contributions\n", + "==========================================================================================\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
FeaturePC1_loadingSquared_loadingRelative_contribution_percent
0TMDb vote count0.66260.439043.9014
1Netflix viewing hours0.55780.311131.1142
2TMDb rating0.49980.249824.9844
\n", + "
" + ], + "text/plain": [ + " Feature PC1_loading Squared_loading Relative_contribution_percent\n", + "0 TMDb vote count 0.6626 0.4390 43.9014\n", + "1 Netflix viewing hours 0.5578 0.3111 31.1142\n", + "2 TMDb rating 0.4998 0.2498 24.9844" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "PC1 explained variance ratio: 59.03%\n", + "\n", + "Explained variance by principal component:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Principal_componentExplained_variance_percent
0PC159.03
1PC227.81
2PC313.17
\n", + "
" + ], + "text/plain": [ + " Principal_component Explained_variance_percent\n", + "0 PC1 59.03\n", + "1 PC2 27.81\n", + "2 PC3 13.17" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "====================================================================================================\n", + "Final PCA ranking of 71 Hit titles\n", + "====================================================================================================\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Hit RankTitleHit Composite ScoreViewing Hours (Million)TMDb RatingTMDb Vote Count
01Stranger Things100.002874.268.62416161.0
12Money Heist84.491170.208.25717836.0
23Squid Game82.902289.507.83113053.0
34The Umbrella Academy74.10414.638.6048891.0
45Sex Education70.62561.368.3046647.0
56All of Us Are Dead68.76659.518.3543335.0
67Bridgerton67.901108.808.1432045.0
78Ozark64.97751.608.2441968.0
89Peaky Blinders64.08185.348.5468836.0
910Cobra Kai64.00383.648.2205734.0
1011Elite62.61329.298.0718817.0
1112Manifest61.101446.267.7281312.0
1213The Good Doctor59.65112.588.50311768.0
1314Arcane58.92154.278.7403341.0
1415The Queen of Flow55.11561.237.9831391.0
1516Extraordinary Attorney Woo54.08404.038.482585.0
1617Never Have I Ever51.70297.788.1611557.0
1718The Sandman49.84274.228.0641726.0
1819Virgin River49.75624.258.032448.0
1920The Seven Deadly Sins: Cursed by Light49.1179.518.4624710.0
2021The Last Kingdom48.48189.578.2901485.0
2122Emily in Paris44.87341.637.7751152.0
2223Hometown Cha-Cha-Cha44.82300.588.233442.0
2324Locke & Key44.43278.387.9031104.0
2425Business Proposal44.19279.118.422281.0
2526My Name43.88194.148.283715.0
2627Café con aroma de mujer42.58793.747.500382.0
2728Control Z41.7589.838.2272242.0
2829Alchemy of Souls41.22127.698.622411.0
2930Vikings: Valhalla39.80265.557.851671.0
3031Dark Desire39.54202.947.3004181.0
3132All American38.89180.668.245414.0
3233Pasión de Gavilanes37.78164.187.6411925.0
3334Narcos: Mexico37.57138.987.9391160.0
3435On My Block36.0880.888.461618.0
3536Twenty Five Twenty One34.83171.618.59798.0
3637Good Girls34.28153.147.998509.0
3738The King's Affection33.92138.548.351232.0
3839Who Killed Sara?32.78143.617.6381132.0
3940The Marked Heart32.64272.757.817232.0
4041Sex/Life32.42282.107.1381200.0
4142The Lincoln Lawyer32.18305.277.806183.0
4243Raising Dion28.86172.877.696388.0
4344Money Heist: Korea - Joint Economic Area28.7898.377.900601.0
4445Our Beloved Summer28.21128.898.50074.0
4546Our Blues27.44105.158.80043.0
4647Midnight Mass27.33142.287.525664.0
4748Sweet Magnolias27.12182.947.800206.0
4849Sintonia27.09109.438.200179.0
4950The Silent Sea25.2489.777.800527.0
5051First Kill25.14104.617.952270.0
5152The Snitch Cartel: Origins25.11112.147.885283.0
5253Hustle23.85198.317.708137.0
5354Hospital Playlist23.4772.068.490100.0
5455The Chestnut Man22.37104.217.584455.0
5556The Five Juanas21.63177.857.419246.0
5657Juvenile Justice20.40134.567.94785.0
5758Archive 8118.55129.477.219442.0
5859Welcome to Eden13.16140.347.090233.0
5960Alba12.02175.647.000167.0
6061Lost in Space10.95185.187.11596.0
6162Anatomy of a Scandal10.77171.027.071120.0
6263Love Is Blind10.67256.897.10054.0
6364Forecasting Love and Weather9.80100.857.63161.0
6465Carter8.13183.047.40030.0
6566I Am Georgina7.4171.297.111293.0
6667Collision4.17161.637.30026.0
6768Turning Point: 9/11 and the War on Terror3.5680.687.28783.0
6869Selling Sunset3.21158.787.10039.0
6970True Story2.8990.827.17182.0
7071Another Self0.0088.597.40030.0
\n", + "
" + ], + "text/plain": [ + " Hit Rank Title Hit Composite Score Viewing Hours (Million) TMDb Rating TMDb Vote Count\n", + "0 1 Stranger Things 100.00 2874.26 8.624 16161.0\n", + "1 2 Money Heist 84.49 1170.20 8.257 17836.0\n", + "2 3 Squid Game 82.90 2289.50 7.831 13053.0\n", + "3 4 The Umbrella Academy 74.10 414.63 8.604 8891.0\n", + "4 5 Sex Education 70.62 561.36 8.304 6647.0\n", + "5 6 All of Us Are Dead 68.76 659.51 8.354 3335.0\n", + "6 7 Bridgerton 67.90 1108.80 8.143 2045.0\n", + "7 8 Ozark 64.97 751.60 8.244 1968.0\n", + "8 9 Peaky Blinders 64.08 185.34 8.546 8836.0\n", + "9 10 Cobra Kai 64.00 383.64 8.220 5734.0\n", + "10 11 Elite 62.61 329.29 8.071 8817.0\n", + "11 12 Manifest 61.10 1446.26 7.728 1312.0\n", + "12 13 The Good Doctor 59.65 112.58 8.503 11768.0\n", + "13 14 Arcane 58.92 154.27 8.740 3341.0\n", + "14 15 The Queen of Flow 55.11 561.23 7.983 1391.0\n", + "15 16 Extraordinary Attorney Woo 54.08 404.03 8.482 585.0\n", + "16 17 Never Have I Ever 51.70 297.78 8.161 1557.0\n", + "17 18 The Sandman 49.84 274.22 8.064 1726.0\n", + "18 19 Virgin River 49.75 624.25 8.032 448.0\n", + "19 20 The Seven Deadly Sins: Cursed by Light 49.11 79.51 8.462 4710.0\n", + "20 21 The Last Kingdom 48.48 189.57 8.290 1485.0\n", + "21 22 Emily in Paris 44.87 341.63 7.775 1152.0\n", + "22 23 Hometown Cha-Cha-Cha 44.82 300.58 8.233 442.0\n", + "23 24 Locke & Key 44.43 278.38 7.903 1104.0\n", + "24 25 Business Proposal 44.19 279.11 8.422 281.0\n", + "25 26 My Name 43.88 194.14 8.283 715.0\n", + "26 27 Café con aroma de mujer 42.58 793.74 7.500 382.0\n", + "27 28 Control Z 41.75 89.83 8.227 2242.0\n", + "28 29 Alchemy of Souls 41.22 127.69 8.622 411.0\n", + "29 30 Vikings: Valhalla 39.80 265.55 7.851 671.0\n", + "30 31 Dark Desire 39.54 202.94 7.300 4181.0\n", + "31 32 All American 38.89 180.66 8.245 414.0\n", + "32 33 Pasión de Gavilanes 37.78 164.18 7.641 1925.0\n", + "33 34 Narcos: Mexico 37.57 138.98 7.939 1160.0\n", + "34 35 On My Block 36.08 80.88 8.461 618.0\n", + "35 36 Twenty Five Twenty One 34.83 171.61 8.597 98.0\n", + "36 37 Good Girls 34.28 153.14 7.998 509.0\n", + "37 38 The King's Affection 33.92 138.54 8.351 232.0\n", + "38 39 Who Killed Sara? 32.78 143.61 7.638 1132.0\n", + "39 40 The Marked Heart 32.64 272.75 7.817 232.0\n", + "40 41 Sex/Life 32.42 282.10 7.138 1200.0\n", + "41 42 The Lincoln Lawyer 32.18 305.27 7.806 183.0\n", + "42 43 Raising Dion 28.86 172.87 7.696 388.0\n", + "43 44 Money Heist: Korea - Joint Economic Area 28.78 98.37 7.900 601.0\n", + "44 45 Our Beloved Summer 28.21 128.89 8.500 74.0\n", + "45 46 Our Blues 27.44 105.15 8.800 43.0\n", + "46 47 Midnight Mass 27.33 142.28 7.525 664.0\n", + "47 48 Sweet Magnolias 27.12 182.94 7.800 206.0\n", + "48 49 Sintonia 27.09 109.43 8.200 179.0\n", + "49 50 The Silent Sea 25.24 89.77 7.800 527.0\n", + "50 51 First Kill 25.14 104.61 7.952 270.0\n", + "51 52 The Snitch Cartel: Origins 25.11 112.14 7.885 283.0\n", + "52 53 Hustle 23.85 198.31 7.708 137.0\n", + "53 54 Hospital Playlist 23.47 72.06 8.490 100.0\n", + "54 55 The Chestnut Man 22.37 104.21 7.584 455.0\n", + "55 56 The Five Juanas 21.63 177.85 7.419 246.0\n", + "56 57 Juvenile Justice 20.40 134.56 7.947 85.0\n", + "57 58 Archive 81 18.55 129.47 7.219 442.0\n", + "58 59 Welcome to Eden 13.16 140.34 7.090 233.0\n", + "59 60 Alba 12.02 175.64 7.000 167.0\n", + "60 61 Lost in Space 10.95 185.18 7.115 96.0\n", + "61 62 Anatomy of a Scandal 10.77 171.02 7.071 120.0\n", + "62 63 Love Is Blind 10.67 256.89 7.100 54.0\n", + "63 64 Forecasting Love and Weather 9.80 100.85 7.631 61.0\n", + "64 65 Carter 8.13 183.04 7.400 30.0\n", + "65 66 I Am Georgina 7.41 71.29 7.111 293.0\n", + "66 67 Collision 4.17 161.63 7.300 26.0\n", + "67 68 Turning Point: 9/11 and the War on Terror 3.56 80.68 7.287 83.0\n", + "68 69 Selling Sunset 3.21 158.78 7.100 39.0\n", + "69 70 True Story 2.89 90.82 7.171 82.0\n", + "70 71 Another Self 0.00 88.59 7.400 30.0" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.decomposition import PCA\n", + "\n", + "# ==============================================================================\n", + "# 6. 在已篩選完成的 Hit 作品中建立排名分數\n", + "# ==============================================================================\n", + "\n", + "# 確認 df_hits 已經存在\n", + "if \"df_hits\" not in globals():\n", + " raise NameError(\"找不到 df_hits,請先執行 Hit 篩選程式。\")\n", + "\n", + "df_hit_rank = df_hits.copy()\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# A. 整理排名使用的特徵\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "ranking_features = [\n", + " \"netflix_viewing_hours\",\n", + " \"tmdb_vote_average\",\n", + " \"tmdb_vote_count\",\n", + "]\n", + "\n", + "# 檢查必要欄位是否存在\n", + "missing_columns = [\n", + " column\n", + " for column in ranking_features + [\"netflix_title\"]\n", + " if column not in df_hit_rank.columns\n", + "]\n", + "\n", + "if missing_columns:\n", + " raise KeyError(\n", + " f\"df_hits 缺少以下必要欄位:{missing_columns}\"\n", + " )\n", + "\n", + "# 轉成數值,無法轉換的內容改成 NaN\n", + "for column in ranking_features:\n", + " df_hit_rank[column] = pd.to_numeric(\n", + " df_hit_rank[column],\n", + " errors=\"coerce\"\n", + " )\n", + "\n", + "# 排除三項排名特徵中有缺失值的作品\n", + "df_hit_rank = df_hit_rank.dropna(\n", + " subset=ranking_features\n", + ").copy()\n", + "\n", + "# 排除不合理數值\n", + "df_hit_rank = df_hit_rank[\n", + " (df_hit_rank[\"netflix_viewing_hours\"] >= 0) &\n", + " (df_hit_rank[\"tmdb_vote_average\"].between(0, 10)) &\n", + " (df_hit_rank[\"tmdb_vote_count\"] >= 0)\n", + "].copy()\n", + "\n", + "if len(df_hit_rank) < 2:\n", + " raise ValueError(\n", + " \"有效 Hit 作品少於 2 部,無法進行 PCA 排名。\"\n", + " )\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# B. 對高度右偏的變數做 log 轉換\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "# 使用 log1p,即 log(1 + x),降低極端值影響\n", + "df_hit_rank[\"log_viewing_hours\"] = np.log1p(\n", + " df_hit_rank[\"netflix_viewing_hours\"]\n", + ")\n", + "\n", + "df_hit_rank[\"log_tmdb_vote_count\"] = np.log1p(\n", + " df_hit_rank[\"tmdb_vote_count\"]\n", + ")\n", + "\n", + "# PCA 實際使用的三項特徵\n", + "pca_features = [\n", + " \"log_viewing_hours\",\n", + " \"tmdb_vote_average\",\n", + " \"log_tmdb_vote_count\",\n", + "]\n", + "\n", + "feature_names = [\n", + " \"Netflix viewing hours\",\n", + " \"TMDb rating\",\n", + " \"TMDb vote count\",\n", + "]\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# C. 選用:檢查 PCA 輸入特徵的 Pearson correlation\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "correlation_matrix = (\n", + " df_hit_rank[pca_features]\n", + " .corr(method=\"pearson\")\n", + ")\n", + "\n", + "correlation_matrix.index = feature_names\n", + "correlation_matrix.columns = feature_names\n", + "\n", + "print(\"=\" * 90)\n", + "print(\"Pearson correlation matrix of PCA input features\")\n", + "print(\"=\" * 90)\n", + "display(correlation_matrix.round(3))\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# D. 檢查特徵是否具有變異\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "zero_variance_features = [\n", + " feature\n", + " for feature in pca_features\n", + " if np.isclose(df_hit_rank[feature].std(ddof=0), 0)\n", + "]\n", + "\n", + "if zero_variance_features:\n", + " raise ValueError(\n", + " \"以下特徵在 Hit 資料中沒有變異,無法用於 PCA:\"\n", + " f\"{zero_variance_features}\"\n", + " )\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# E. 標準化\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "scaler = StandardScaler()\n", + "\n", + "X_scaled = scaler.fit_transform(\n", + " df_hit_rank[pca_features]\n", + ")\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# F. 執行 PCA\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "pca = PCA()\n", + "\n", + "principal_components = pca.fit_transform(\n", + " X_scaled\n", + ")\n", + "\n", + "# 第一主成分作為共同 Hit 強度\n", + "pc1_scores = principal_components[:, 0].copy()\n", + "\n", + "# PCA 正負方向沒有固定意義。\n", + "# 讓較高的原始指標大致對應較高的 PC1 分數。\n", + "if pca.components_[0].sum() < 0:\n", + " pc1_scores *= -1\n", + " pca.components_[0] *= -1\n", + "\n", + "df_hit_rank[\"PCA_Hit_original\"] = pc1_scores\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# G. 將 PCA 分數轉成 0–100\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "score_min = df_hit_rank[\"PCA_Hit_original\"].min()\n", + "score_max = df_hit_rank[\"PCA_Hit_original\"].max()\n", + "\n", + "if np.isclose(score_min, score_max):\n", + " df_hit_rank[\"Hit_score\"] = 50.0\n", + "else:\n", + " df_hit_rank[\"Hit_score\"] = (\n", + " (\n", + " df_hit_rank[\"PCA_Hit_original\"]\n", + " - score_min\n", + " )\n", + " /\n", + " (\n", + " score_max\n", + " - score_min\n", + " )\n", + " * 100\n", + " )\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# H. 依 Hit 綜合分數排序\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "df_hit_rank = (\n", + " df_hit_rank\n", + " .sort_values(\n", + " by=[\n", + " \"Hit_score\",\n", + " \"netflix_viewing_hours\"\n", + " ],\n", + " ascending=[False, False]\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "# 避免重複執行時欄位已經存在\n", + "if \"Hit_rank\" in df_hit_rank.columns:\n", + " df_hit_rank = df_hit_rank.drop(\n", + " columns=[\"Hit_rank\"]\n", + " )\n", + "\n", + "df_hit_rank.insert(\n", + " 0,\n", + " \"Hit_rank\",\n", + " range(1, len(df_hit_rank) + 1)\n", + ")\n", + "\n", + "# 建立百萬小時欄位\n", + "df_hit_rank[\"Viewing_hours_million\"] = (\n", + " df_hit_rank[\"netflix_viewing_hours\"]\n", + " / 1_000_000\n", + ").round(2)\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# I. 顯示 PCA loading\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "loading_table = pd.DataFrame({\n", + " \"Feature\": feature_names,\n", + " \"PC1_loading\": pca.components_[0]\n", + "})\n", + "\n", + "# 較標準的 PCA 相對貢獻:平方 loading\n", + "loading_table[\"Squared_loading\"] = (\n", + " loading_table[\"PC1_loading\"] ** 2\n", + ")\n", + "\n", + "loading_table[\"Relative_contribution_percent\"] = (\n", + " loading_table[\"Squared_loading\"]\n", + " /\n", + " loading_table[\"Squared_loading\"].sum()\n", + " * 100\n", + ")\n", + "\n", + "loading_table = (\n", + " loading_table\n", + " .sort_values(\n", + " by=\"Relative_contribution_percent\",\n", + " ascending=False\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "print(\"\\n\" + \"=\" * 90)\n", + "print(\"PC1 loadings and relative contributions\")\n", + "print(\"=\" * 90)\n", + "\n", + "display(loading_table.round(4))\n", + "\n", + "print(\n", + " f\"\\nPC1 explained variance ratio: \"\n", + " f\"{pca.explained_variance_ratio_[0] * 100:.2f}%\"\n", + ")\n", + "\n", + "# 同時顯示所有主成分的解釋變異比例\n", + "explained_variance_table = pd.DataFrame({\n", + " \"Principal_component\": [\n", + " f\"PC{i + 1}\"\n", + " for i in range(len(pca.explained_variance_ratio_))\n", + " ],\n", + " \"Explained_variance_percent\": (\n", + " pca.explained_variance_ratio_ * 100\n", + " )\n", + "})\n", + "\n", + "print(\"\\nExplained variance by principal component:\")\n", + "display(explained_variance_table.round(2))\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# J. 最終 Hit 排名表\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "final_hit_ranking = df_hit_rank[[\n", + " \"Hit_rank\",\n", + " \"netflix_title\",\n", + " \"Hit_score\",\n", + " \"Viewing_hours_million\",\n", + " \"tmdb_vote_average\",\n", + " \"tmdb_vote_count\"\n", + "]].copy()\n", + "\n", + "final_hit_ranking = final_hit_ranking.rename(columns={\n", + " \"Hit_rank\": \"Hit Rank\",\n", + " \"netflix_title\": \"Title\",\n", + " \"Hit_score\": \"Hit Composite Score\",\n", + " \"Viewing_hours_million\": \"Viewing Hours (Million)\",\n", + " \"tmdb_vote_average\": \"TMDb Rating\",\n", + " \"tmdb_vote_count\": \"TMDb Vote Count\"\n", + "})\n", + "\n", + "final_hit_ranking[\"Hit Composite Score\"] = (\n", + " final_hit_ranking[\"Hit Composite Score\"]\n", + " .round(2)\n", + ")\n", + "\n", + "final_hit_ranking[\"TMDb Rating\"] = (\n", + " final_hit_ranking[\"TMDb Rating\"]\n", + " .round(3)\n", + ")\n", + "\n", + "print(\"\\n\" + \"=\" * 100)\n", + "print(\n", + " f\"Final PCA ranking of \"\n", + " f\"{len(final_hit_ranking)} Hit titles\"\n", + ")\n", + "print(\"=\" * 100)\n", + "\n", + "display(final_hit_ranking)" + ] + }, + { + "cell_type": "markdown", + "id": "f08fa29d", + "metadata": {}, + "source": [ + "## our analysis\n", + "final check and exper" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "c980ccfd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Netflix composite merge completed: 71 Hit titles, 13 original Netflix columns.\n", + "Current Hit titles: 71; TMDb candidate records found: 71.\n", + "All Hit titles were successfully matched to unique TMDb records.\n", + "TMDb merge completed: 29 original TMDb columns added.\n", + "\n", + "==================================================================================================================================\n", + "PCA-ranked Hit titles with all Netflix and TMDb features\n", + "Number of Hit titles: 71\n", + "Total number of columns: 53\n", + "Original Netflix columns: 13\n", + "Original TMDb columns: 29\n", + "PCA-derived columns: 11\n", + "==================================================================================================================================\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Hit_rankHit_scorePCA_Hit_originalkeynetflix_viewing_hoursnetflix_weeksnetflix_year_hintnetflix_titlenetflix_clean_titletmdb_titletmdb_popularitytmdb_vote_averagetmdb_vote_countimdb_titleimdb_averageRatingimdb_numVotesTMDb_raw_idTMDb_raw_nameTMDb_raw_number_of_seasonsTMDb_raw_number_of_episodesTMDb_raw_original_languageTMDb_raw_vote_countTMDb_raw_vote_averageTMDb_raw_overviewTMDb_raw_adultTMDb_raw_backdrop_pathTMDb_raw_first_air_dateTMDb_raw_last_air_dateTMDb_raw_homepageTMDb_raw_in_productionTMDb_raw_original_nameTMDb_raw_popularityTMDb_raw_poster_pathTMDb_raw_typeTMDb_raw_statusTMDb_raw_taglineTMDb_raw_genresTMDb_raw_created_byTMDb_raw_languagesTMDb_raw_networksTMDb_raw_origin_countryTMDb_raw_spoken_languagesTMDb_raw_production_companiesTMDb_raw_production_countriesTMDb_raw_episode_run_timenetflix_viewing_hours_normnetflix_weeks_normtmdb_vote_average_normtmdb_vote_count_norm綜合 The Hit 指數log_viewing_hourslog_tmdb_vote_countViewing_hours_million
01100.003.8578st_th2874260000132022Stranger Thingsstranger thingsStranger Things185.7118.62416161.0Stranger ThingsNaNNaN66732Stranger Things434en161618.624When a young boy vanishes, a small town uncovers a mystery involving secret experiments, terrifying supernatural forces, and one strange little girl.False/2MaumbgBlW1NoPo3ZJO38A6v7OS.jpg2016-07-152022-07-01https://www.netflix.com/title/80057281TrueStranger Things185.711/49WJfeN0moxb9IPfGn8AIqMGskD.jpgScriptedReturning SeriesEvery ending has a beginning.Drama, Sci-Fi & Fantasy, MysteryMatt Duffer, Ross DufferenNetflixUSEnglish21 Laps Entertainment, Monkey Massacre ProductionsUnited States of America01.0000000.4782610.9022220.9059520.852221.7790619.6904182874.26
1284.492.9029he_mo1170200000142021Money Heistmoney heistMoney Heist96.3548.25717836.0Money Heist8.2612436.071446Money Heist341es178368.257To carry out the biggest heist in history, a mysterious man called The Professor recruits a band of eight robbers who have a single characteristic...False/gFZriCkpJYsApPZEF3jhxL4yLzG.jpg2017-05-022021-12-03https://www.netflix.com/title/80192098FalseLa Casa de Papel96.354/reEMJA1uzscCbkpeRJeTT2bjqUp.jpgScriptedEndedThe perfect robbery.Crime, DramaÁlex PinaesNetflix, Antena 3ESEspañolVancouver MediaSpain700.3920520.5217390.6983331.0000000.601120.8804419.7890301170.20
2382.902.8051ga_sq2289500000202021Squid Gamesquid gameSquid Game115.5877.83113053.0Squid Game!NaNNaN93405Squid Game29ko130537.831Hundreds of cash-strapped players accept a strange invitation to compete in children's games—with high stakes. But, a tempting prize awaits the vi...False/2meX1nMdScFOoV4370rqHWKmXhY.jpg2021-09-172021-09-17https://www.netflix.com/title/81040344True오징어 게임115.587/dDlEmu3EZ0Pgg93K2SVNLCjCSvE.jpgScriptedReturning Series45.6 billion won is child's playAction & Adventure, Mystery, DramaHwang Dong-hyuken, ko, urNetflixKREnglish, 한국어/조선말, اردوSiren Pictures, Firstman StudioSouth Korea00.7913780.7826090.4616670.7314430.681721.5515999.4768502289.50
3474.102.2635ac_um41463000052022The Umbrella Academythe umbrella academyThe Umbrella Academy51.8598.6048891.0The Umbrella Academy7.074.075006The Umbrella Academy432en88918.604A dysfunctional family of superheroes comes together to solve the mystery of their father's death, the threat of the apocalypse and more.False/7sqFEDDmK1hG5m92upolcfQxy7R.jpg2019-02-152022-06-22https://www.netflix.com/title/80186863TrueThe Umbrella Academy51.859/qhcwrnnCnN8NE1N6XXKHFmveJR9.jpgScriptedReturning SeriesToo many siblings. Not enough timeline.Action & Adventure, Sci-Fi & Fantasy, DramaSteve BlackmanenNetflixUSEnglishDark Horse Entertainment, UCPCanada, United States of America00.1224920.1304350.8911110.4977540.411019.8428979.092907414.63
4570.622.0493ed_se56136000062021Sex Educationsex educationSex Education1008.9778.3046647.0Sex Education7.225.081356Sex Education432en66478.304Inexperienced Otis channels his sex therapist mom when he teams up with rebellious Maeve to set up an underground sex therapy clinic at school.False/5SEEBS5qXgL5rgivTiAROy1Qt2q.jpg2019-01-112023-09-21https://www.netflix.com/title/80197526FalseSex Education1008.977/zn6VNUOHGWKvSGRL6KiMtAe9ELy.jpgScriptedEndedGrowth is a group project.Comedy, DramaLaurie NunnenNetflixGBEnglishElevenUnited Kingdom00.1748400.1739130.7244440.3717570.369120.1458738.802071561.36
5668.761.9352al_ar_us659510000112022All of Us Are Deadall of us are deadAll of Us Are Dead107.1088.3543335.0All of Us Are Dead7.692709.099966All of Us Are Dead212ko33358.354A high school becomes ground zero for a zombie virus outbreak. Trapped students must fight their way out — or turn into one of the rabid infected.False/jZAtLKNZbQZZLm9OLcY9rdZZV5F.jpg2022-01-282022-01-28https://www.netflix.com/title/81237994True지금 우리 학교는107.108/pTEFqAjLd5YTsMD6NSUxV6Dq7A6.jpgScriptedReturning SeriesHope is the most painful torture for people who want to despair.Action & Adventure, Drama, Sci-Fi & FantasyChun Sung-il, JQ Lee, Kim Nam-sooen, koNetflixKREnglish, 한국어/조선말Film Monster, SLL, Kim Jong-hak ProductionSouth Korea650.2098560.3913040.7522220.1857940.405220.3070088.112528659.51
6767.901.8819br1108800000112021BridgertonbridgertonBridgerton71.3088.1432045.0Bridgerton4.157.091239Bridgerton324en20458.143Wealth, lust, and betrayal set in the backdrop of Regency era England, seen through the eyes of the powerful Bridgerton family.False/aXa6J5vGZQQOLZZv8fK0w0cd2fm.jpg2020-12-252022-03-25https://www.netflix.com/title/80232398TrueBridgerton71.308/luoKpgVwi1E5nQsi7W0UuKHu2Rq.jpgScriptedReturning SeriesLove never plays by the rules.DramaChris Van DusenenNetflixUSEnglishShondaLandUnited States of America600.3701470.3913040.6350000.1133630.415320.8265447.6236421108.80
7864.971.7017oz751600000132022OzarkozarkOzark68.0068.2441968.0Ozark8.4394904.069740Ozark444en19688.244A financial adviser drags his family from Chicago to the Missouri Ozarks, where he must launder $500 million in five years to appease a drug boss.False/gD830J0sf5gEeZvzkRVPdGxJmSR.jpg2017-07-212022-04-29https://www.netflix.com/title/80117552FalseOzark68.006/m73bD8VjibSKuTWg597GQVyVhSb.jpgScriptedEndedTheir last resort.Crime, DramaMark Williams, Bill DubuqueenNetflixUSEnglishMRC, Zero Gravity Management, Aggregate Films, Man, Woman & Child ProductionsUnited States of America00.2427100.4782610.6911110.1090400.404320.4377157.585281751.60
8964.081.6468bl_pe18534000052022Peaky Blinderspeaky blindersPeaky Blinders344.4778.5468836.0Peaky Blinders8.7783155.060574Peaky Blinders636en88368.546A gangster family epic set in 1919 Birmingham, England and centered on a gang who sew razor blades in the peaks of their caps, and their fierce bo...False/wiE9doxiLwq3WCGamDIOb2PqBqc.jpg2013-09-122022-04-03https://www.bbc.co.uk/programmes/b045fz8rFalsePeaky Blinders344.477/vUUqzWa2LnHIVqkaKVlVGkVcZIW.jpgScriptedEndedLondon's for the takingDrama, CrimeSteven KnightenBBC One, BBC TwoGBEnglishTiger Aspect, BBC Studios, Caryn Mandabach Productions, Screen YorkshireUnited Kingdom580.0406890.1304350.8588890.4946660.372219.0377039.086703185.34
91064.001.6419co_ka38364000042022Cobra Kaicobra kaiCobra Kai118.2568.2205734.0Cobra Kai6.936.077169Cobra Kai650en57348.220This Karate Kid sequel series picks up 30 years after the events of the 1984 All Valley Karate Tournament and finds Johnny Lawrence on the hunt fo...False/zymbuoBoL1i94xAOzVJF6IuWLfD.jpg2018-05-022022-09-09https://www.netflix.com/title/81002370TrueCobra Kai118.256/m7tG5E1EbywuwTsl6hq990So0Bx.jpgScriptedReturning SeriesCobra Kai never dies.Action & Adventure, Drama, ComedyJon Hurwitz, Hayden Schlossberg, Josh HealdenNetflix, YouTube PremiumUSEnglishHurwitz & Schlossberg Productions, Sony Pictures Television Studios, Overbrook EntertainmentUnited States of America300.1114350.0869570.6777780.3204940.307819.7652158.654343383.64
101162.611.5567el32929000052021EliteeliteElite100.7118.0718817.0Elite8.4112.076669Elite749es88178.071When three working class kids enroll in the most exclusive school in Spain, the clash between the wealthy and the poor students leads to tragedy.False/tl0mg7lOnS6tP8ngH0QwgMLQdpV.jpg2018-10-052022-11-18https://www.netflix.com/title/80200942TrueÉlite100.711/3NTAbAiao4JLzFQw6YxP1YZppM8.jpgScriptedReturning SeriesNaNCrime, Mystery, DramaCarlos Montero, Darío MadronaesNetflixESEspañolZeta StudiosSpain500.0920450.1304350.5950000.4935990.310819.6124499.084550329.29
111261.101.4633ma1446260000162021ManifestmanifestManifest111.4117.7281312.0ManifestNaNNaN79696Manifest462en13127.728After landing from a turbulent but routine flight, the crew and passengers of Montego Air Flight 828 discover five years have passed in what seeme...False/iZu83GB1IM7VXL2X90m7iLHYUHU.jpg2018-09-242023-06-02https://www.netflix.com/title/80241318FalseManifest111.411/eTemCphrglLKrXOsNRhYezHA7H9.jpgScriptedEndedMake the final connection.Drama, Mystery, Sci-Fi & FantasyJeff RakeenNBC, NetflixUSEnglishWarner Bros. Television, Compari Entertainment, Universal Television, Jeff Rake ProductionsUnited States of America420.4905400.6086960.4044440.0722070.425621.0922477.1800701446.26
121359.651.3740do_go11258000062021The Good Doctorthe good doctorThe Good Doctor681.6148.50311768.0The Good DoctorNaNNaN71712The Good Doctor6116en117688.503Shaun Murphy, a young surgeon with autism and savant syndrome, relocates from a quiet country life to join a prestigious hospital's surgical unit....False/xXRsKNJHTOGrs5wfYAxkbM2RiyT.jpg2017-09-252023-05-01https://abc.com/shows/the-good-doctorTrueThe Good Doctor681.614/luhKkdD80qe62fwop6sdrXK9jUT.jpgScriptedReturning SeriesEveryone operates differently.DramaDavid ShoreenABCUSEnglishABC Studios, 3AD, Sony Pictures Television StudiosUnited States of America430.0147310.1739130.8350000.6592930.389318.5391759.373224112.58
131458.921.3291ar15427000062021ArcanearcaneArcane42.4478.7403341.0ArcaneNaNNaN94605Arcane29en33418.740Amid the stark discord of twin cities Piltover and Zaun, two sisters fight on rival sides of a war between magic technologies and clashing convict...False/rkB4LyZHo1NHXFEDHl9vSD9r1lI.jpg2021-11-062021-11-20https://arcane.comTrueArcane42.447/fqldf2t8ztc9aiwn3k6mlX3tvRT.jpgScriptedReturning SeriesNaNAnimation, Drama, Sci-Fi & Fantasy, Action & AdventureChristian Linke, Alex YeeenNetflixUSEnglishFortiche Production, Riot GamesFrance, United States of America410.0296040.1739130.9666670.1861310.363118.8542158.114325154.27
141555.111.0948fl_qu561230000162021The Queen of Flowthe queen of flowThe Queen of Flow129.3237.9831391.0The Queen of Flow7.52076.080240The Queen of Flow2172es13917.983After spending seventeen years in prison unfairly, a talented songwriter seeks revenge on the men who sank her and killed her family.False/pnyT1foDmmXTsho2DfxN2ePI8ix.jpg2018-06-122021-09-10https://www.caracoltv.com/lareinadelflowFalseLa Reina del Flow129.323/fuVuDYrs8sxvEolnYr0wCSvtyTi.jpgScriptedEndedNaNDramaAndrés SalgadoesCaracol TVCOEspañolTeleset, Sony PicturesColombia530.1747930.6086960.5461110.0766420.358220.1456417.238497561.23
151654.081.0317at_ex_wo40403000072022Extraordinary Attorney Wooextraordinary attorney wooExtraordinary Attorney Woo42.9238.482585.0Extraordinary Attorney Woo8.538985.0197067Extraordinary Attorney Woo116ko5858.482Brilliant attorney Woo Young-woo tackles challenges in the courtroom and beyond as a newbie at a top law firm and a woman on the autism spectrum.False/tmgtlnBnoFvk52xZBO7Z0pTmN9b.jpg2022-06-292022-08-18http://ena.skylifetv.co.kr/bbs/board.php?bo_table=skydrama&wr_id=113&sca=최신False이상한 변호사 우영우42.923/zuNOQVI4rEaqwknrfQUVKtlKE2C.jpgMiniseriesEndedMy name is Woo Young-woo, whether it is read straight or flipped. Kayak, deed, rotator, noon, racecar, Woo Young-woo.DramaYoo In-sik, Moon Ji-wonkoENAKR한국어/조선말KT Studio Genie, AStorySouth Korea700.1187100.2173910.8233330.0313870.336719.8170006.373320404.03
161751.700.8850ha_i_ne29778000042021Never Have I Evernever have i everNever Have I Ever80.5468.1611557.0Never Have I EverNaNNaN100883Never Have I Ever440en15578.161After a traumatic year, all an Indian-American teen wants is to go from pariah to popular -- but friends, family and feeling won't make it easy on...False/85HCFXyCmvADwd3gJFyCz34CTAO.jpg2020-04-272023-06-08https://www.netflix.com/title/80179190FalseNever Have I Ever80.546/hd5fnBixab6IzfUwjC5wfdbX3eM.jpgScriptedEndedSame nerds, new drama.Comedy, DramaMindy Kaling, Lang FisherenNetflixUSEnglishKaling International, Universal TelevisionUnited States of America300.0808040.0869570.6450000.0859630.252119.5118667.351158297.78
171849.840.7703sa27422000032022The Sandmanthe sandmanThe Sandman64.1688.0641726.0The Sandman5.25.090802The Sandman111en17268.064After years of imprisonment, Morpheus — the King of Dreams — embarks on a journey across worlds to find what was stolen from him and restore his p...False/eqhKMZTLcieAvoH6CBqknTTfNby.jpg2022-08-052022-08-19https://thesandman.comTrueThe Sandman64.168/q54qEgagGOYCq5D1903eBVMNkbo.jpgScriptedReturning SeriesDream the world anew.Sci-Fi & Fantasy, DramaDavid S. Goyer, Neil Gaiman, Allan HeinbergenNetflixUSEnglishWarner Bros. Television, DC Entertainment, Purepop, Phantom Four, The Blank CorporationUnited States of America00.0723980.0434780.5911110.0954520.225719.4294417.454141274.22
181949.750.7650ri_vi62425000062021Virgin Rivervirgin riverVirgin River54.1928.032448.0Virgin River7.460100.088324Virgin River554en4488.032After seeing an ad for a midwife, a recently divorced big-city nurse moves to the redwood forests of California, where she meets an intriguing man.False/4nVaMgK7LVRmQ3vNg7eC3qKfRyI.jpg2019-12-062023-09-07https://www.netflix.com/title/80240027TrueVirgin River54.192/rxWHdK7qGFcJIk28UubcduSc1sz.jpgScriptedReturning SeriesNaNDramaSue TenneyenNetflixUSEnglishReel World ManagementUnited States of America450.1972760.1739130.5733330.0236950.279420.2520616.107023624.25
192049.110.7257de_se_si7951000042021The Seven Deadly Sins: Cursed by Lightthe seven deadly sins cursed by lightThe Seven Deadly Sins10.0598.4624710.0The Seven Deadly Sins: Cursed by Light6.41955.062104The Seven Deadly Sins496ja47108.462The “Seven Deadly Sins”—a group of evil knights who conspired to overthrow the kingdom of Britannia—were said to have been eradicated by the Holy ...False/n5Ty1KJIRNCXlDHDjcPpUgp57tr.jpg2014-10-052021-06-23http://www.7-taizai.netFalse七つの大罪10.059/gxTojpKEOtue85EEFlozwRbDXwJ.jpgScriptedEndedNaNAction & Adventure, Animation, Sci-Fi & FantasyNaNjatv asahi, MBS, TV Tokyo, TBS, CBC, TV Aichi, TVQ, TV Osaka, Tulip Television, TVh, SBC, TSC, BSN, tys, Nagasaki Broadcasting Company, HBC, RKK Kum...JP日本語A-1 Pictures, Studio DeenJapan240.0029330.0869570.8122220.2629980.301518.1913938.45765579.51
202148.480.6866ki_la18957000052022The Last Kingdomthe last kingdomThe Last Kingdom143.7948.2901485.0The Last Kingdom8.413.063333The Last Kingdom546en14858.290A show of heroic deeds and epic battles with a thematic depth that embraces politics, religion, warfare, courage, love, loyalty and our universal ...False/uCqXSfHymdbDMsFx8t0u0OPSuve.jpg2015-10-102022-03-09https://www.netflix.com/title/80074249FalseThe Last Kingdom143.794/8eJf0hxgIhE6QSxbtuNCekTddy1.jpgScriptedEndedEngland is bornAction & Adventure, Drama, War & PoliticsStephen ButchardenNetflix, BBC TwoGBEnglishCarnival FilmsUnited Kingdom600.0421980.1304350.7166670.0819200.268119.0602697.303843189.57
212244.870.4647em_pa34163000052021Emily in Parisemily in parisEmily in Paris33.6597.7751152.0Emily in Paris6.8143411.082596Emily in Paris430en11527.775When ambitious Chicago marketing exec Emily unexpectedly lands her dream job in Paris, she embraces a new life as she juggles work, friends and ro...False/xkKIruOg4NoADdPjJJrvfiJHRdZ.jpg2020-10-022022-12-21https://www.netflix.com/title/81037371TrueEmily in Paris33.659/Ak59Y9bzykmV0wAiwKsqrbORDBo.jpgScriptedReturning SeriesTourist season is over.Drama, ComedyDarren Staren, frNetflixUSEnglish, FrançaisMTV Entertainment Studios, Jax Media, Darren Star ProductionsUnited States of America300.0964480.1304350.4305560.0632230.198519.6492397.050123341.63
222344.820.4613ch_ch_ho300580000162021Hometown Cha-Cha-Chahometown cha cha chaHometown Cha-Cha-Cha35.3678.233442.0Hometown Cha-Cha-Cha8.329770.0128883Hometown Cha-Cha-Cha116ko4428.233A big-city dentist opens up a practice in a close-knit seaside village, home to a charming jack-of-all-trades who is her polar opposite in every way.False/qX5DaHmjBDOMz9jGNJ3oESW6Wlq.jpg2021-08-282021-10-17http://program.tving.com/tvn/chachachaFalse갯마을 차차차35.367/en6lrlJ1DhyvkeZEqrk3R6EJz1p.jpgMiniseriesEndedEventually, we found each other once again.Comedy, DramaYu Je-won, Shin Ha-eunkotvNKR한국어/조선말Studio Dragon, GTistSouth Korea780.0818030.6086960.6850000.0233580.359419.5212256.093570300.58
232444.430.4373ke_lo27838000052021Locke & Keylocke keyLocke & Key27.0177.9031104.0Locke&KeyNaNNaN86423Locke & Key328en11047.903Three siblings who move into their ancestral estate after their father's gruesome murder discover their new home's magical keys, which must be use...False/67gGBgMBgmElB88waL2yS2rv91l.jpg2020-02-072022-08-10https://www.netflix.com/title/80241239FalseLocke & Key27.017/zuxGfRKziGHPogipnEXXykdDmyT.jpgScriptedEndedSecrets are meant to be unlocked.Sci-Fi & Fantasy, Drama, MysteryCarlton Cuse, Meredith Averill, Aron Eli ColeiteenNetflixUSEnglishGenre Arts, IDW Entertainment, Circle of ConfusionUnited States of America470.0738820.1304350.5016670.0605280.211519.4444987.007601278.38
242544.190.4225bu_pr279110000132022Business Proposalbusiness proposalBusiness Proposal88.5338.422281.0Business ProposalNaNNaN154825Business Proposal112ko2818.422In disguise as her friend, Ha-ri shows up to a blind date to scare him away. But plans go awry when he turns out to be her CEO — and makes a propo...False/64TnyodfRC4iLTCXKlqps8iRW7F.jpg2022-02-282022-04-05https://programs.sbs.co.kr/drama/businessproposalFalse사내맞선88.533/iLh7L8ZuvgdxFaM9sImyv2iKYLe.jpgMiniseriesEndedIf you come any closer, I'm not going to let you go again.Comedy, DramaPark Seon-ho, Hong Bo-hee, Han Sul-heekoSBSKR한국어/조선말Studio S, Kross Pictures, Kakao EntertainmentSouth Korea600.0741430.4782610.7900000.0143180.360719.4471175.641907279.11
252643.880.4034my_na19414000052021My Namemy nameMy Name25.5258.283715.0My Name7.845026.0110356My Name18ko7158.283Following her father's murder, a revenge-driven woman puts her trust in a powerful crime boss — and enters the police force under his direction.False/4LZuFMhLivOSO7zuWAQ3RffMnnr.jpg2021-10-152021-10-15https://www.netflix.com/title/81011211False마이 네임25.525/h9p1zxKzti35Aqe6xpwkP9NlG7p.jpgMiniseriesEndedNo one can know. My enemy, my revenge.Crime, Drama, Mystery, Action & AdventureKim Jin-min, Kim Ba-dakoNetflixKR한국어/조선말Studio Santa Claus EntertainmentSouth Korea500.0438290.1304350.7127780.0386860.261119.0840906.573680194.14
262742.580.3233ar_ca_co793740000252022Café con aroma de mujercaf con aroma de mujerCafé con Aroma de Mujer20.7107.500382.0Café con aroma de mujer8.6106.016961Café con Aroma de Mujer1139es3827.500Café con aroma de mujer is a 1994 Colombian telenovela, produced by then programming company RCN TV on state-owned Canal A. It was written and cre...False/oOqWl3GavxfYiwxegiVyQ5p9NYK.jpg1994-12-301995-07-12NaNFalseCafé con Aroma de Mujer20.710/tvcpeQNt28GQLtNljhuLwgRBRv8.jpgScriptedEndedNaNDramaFernando GaitánesRCNCOEspañolRCNColombia, United States of America, United Kingdom450.2577441.0000000.2777780.0199890.376520.4922675.948035793.74
272841.750.2724co_z8983000032021Control Zcontrol zControl Z20.7088.2272242.0Control Z6.812606.0102903Control Z324es22428.227When a hacker begins releasing students' secrets to the entire high school, the socially isolated but observant Sofía works to uncover his/her ide...False/gFFedWBZ7s5sPiR9A1IpileWuFf.jpg2020-05-222022-07-06https://www.netflix.com/title/81021245FalseControl Z20.708/8VNA0RdrPk8Ec7XVjpeT0Rnui79.jpgScriptedEndedYour secrets are not safe.DramaAdriana Pelusi, Carlos Quintanilla Sakar, Miguel García MorenoesNetflixMXEspañolLemon StudiosMexico360.0066140.0434780.6816670.1244240.234218.3134307.71557089.83
282941.220.2397al_so12769000082022Alchemy of Soulsalchemy of soulsAlchemy of Souls61.1728.622411.0Alchemy of Souls8.729759.0135157Alchemy of Souls230ko4118.622A powerful sorceress in a blind woman's body encounters a man from a prestigious family, who wants her help to change his destiny.False/nBZyWSGAUEzCH7Mna0zUNTpBQlQ.jpg2022-06-182023-01-08https://program.tving.com/tvn/alchemyofsoulsFalse환혼61.172/gvOZN1NlAoL8iz9ghpES1zWA3w3.jpgScriptedEndedNaNSci-Fi & Fantasy, Drama, Action & Adventure, MysteryHong Mi-ran, Hong Jeong-eun, Park Joon-hwakotvNKR한국어/조선말Studio DragonSouth Korea750.0201220.2608700.9011110.0216170.332818.6651166.021023127.69
293039.800.1525va_vi26555000052022Vikings: Valhallavikings valhallaVikings: Valhalla59.2327.851671.0Vikings: Valhalla7.471704.0116135Vikings: Valhalla216en6717.851In this sequel to \"Vikings,\" a hundred years have passed and a new generation of legendary heroes arises to forge its own destiny — and make history.False/k47JEUTQsSMN532HRg6RCzZKBdB.jpg2022-02-252023-01-12https://www.netflix.com/title/81149450TrueVikings: Valhalla59.232/rDFy1fUU6OC3Mm0CLFB7u0fGwVN.jpgScriptedReturning SeriesKneel to no one.Action & Adventure, Drama, War & PoliticsJeb StuartenNetflixUSEnglishMGM Television, Metropolitan Films International, HistoryIreland, United States of America510.0693050.1304350.4727780.0362160.197619.3973146.510258265.55
303139.540.1364da_de20294000052022Dark Desiredark desireDark Desire90.5537.3004181.0Dark Desire8.011.0105214Dark Desire233es41817.300Married Alma spends a fateful weekend away from home that ignites passion, ends in tragedy and leads her to question the truth about those close t...False/9CBdzw7CK2m6WpfEfqe73V8i5O0.jpg2020-07-152022-02-02https://www.netflix.com/title/81090319FalseOscuro deseo90.553/uxFNAo2A6ZRcgNASLk02hJUbybn.jpgScriptedEndedNaNMystery, DramaLeticia López MargalliesNetflixMXEspañolNaNMexico350.0469680.1304350.1666670.2332960.127519.1284218.338545202.94
313238.890.0965al_am18066000052021All Americanall americanAll American140.6948.245414.0All AmericanNaNNaN82428All American591en4148.245When a rising high school football player from South Central L.A. is recruited to play for Beverly Hills High, the wins, losses and struggles of t...False/thCj6VEVQlFlup4aJ74kdRhfujB.jpg2018-10-102023-05-15https://www.cwtv.com/shows/all-american/TrueAll American140.694/c8FTtjQcQfqSI0McmVc1OOOf7Z7.jpgScriptedReturning SeriesAnd still we rise.DramaApril BlairenThe CWUSEnglishBerlanti Productions, Warner Bros. Television, CBS StudiosUnited States of America450.0390190.1304350.6916670.0217860.250519.0121276.028279180.66
323337.780.0282de_n_pa16418000052022Pasión de Gavilanespasi n de gavilanesPasión de Gavilanes283.1977.6411925.0Pasión de sangreNaNNaN11250Pasión de Gavilanes2259es19257.641The Reyes-Elizondo's idyllic lives are shattered by a murder charge against Eric and León.False/qabMMIpNUUKYFqQxHEWErEEBD8G.jpg2003-10-212022-05-31https://www.telemundo.com/shows/pasion-de-gavilanesFalsePasión de gavilanes283.197/91UV7pNcDPhIzJl7EuK36sK5vRG.jpgScriptedEndedNaNDramaJulio JiménezesTelemundoUSEspañolNaNNaN00.0331400.1304350.3561110.1066250.160518.9164747.563201164.18
333437.570.0151me_na13898000042021Narcos: Mexiconarcos mexicoNarcos: Mexico47.4767.9391160.0Narcos: Mexico8.3102053.080968Narcos: Mexico330en11607.939See the rise of the Guadalajara Cartel as an American DEA agent learns the danger of targeting narcos in 1980s Mexico.False/64jEzC7YeKEpnn1YwjCGRo9ZvOX.jpg2018-11-162021-11-05https://www.netflix.com/title/80997085FalseNarcos: Mexico47.476/uYcZMiIIUv8NPebpqKbUGhf2M3y.jpgScriptedEndedThe uncut story of Mexico's first cartel.Drama, CrimeChris Brancato, Doug Miro, Carlo Bernarden, esNetflixUSEnglish, EspañolGaumont, Gaumont International TelevisionUnited States of America500.0241490.0869570.5216670.0636720.191918.7498417.057037138.98
343536.08-0.0765bl_my8088000022021On My Blockon my blockOn My Block16.9798.461618.0On My Block7.029.076747On My Block438en6188.461A coming of age comedy following a diverse group of teenage friends as they confront the challenges of growing up in gritty inner-city Los Angeles.False/jt7c70Axkhy7o9u00JT8Lygfd3H.jpg2018-03-162021-10-04https://www.netflix.com/title/80117809FalseOn My Block16.979/w6oviv65UEducvjAdH3sYYaxdu2.jpgScriptedEndedNaNComedyJeremy Haft, Eddie Gonzalez, Lauren Iungerichen, ptNetflixUSEnglish, PortuguêsCrazy Cat Lady ProductionsUnited States of America300.0034210.0000000.8116670.0332400.249718.2084776.42810580.88
353634.83-0.1532fi_tw_tw171610000102022Twenty Five Twenty Onetwenty five twenty oneTwenty Five Twenty One31.7308.59798.0Twenty Five Twenty One8.622729.0129888Twenty Five Twenty One116ko988.597In a time when dreams seem out of reach, a teen fencer pursues big ambitions and meets a hardworking young man who seeks to rebuild his life.False/jvFfHNiCKPWRULvkmeocyjm4QtE.jpg2022-02-122022-04-03http://program.tving.com/tvn/twentyfivetwentyoneFalse스물다섯 스물하나31.730/yCQFnmYhYf7XALMka2EoBRAFmPO.jpgMiniseriesEndedNaNDramaJung Jee-hyun, Kwon Do-eunkoNetflix, tvNKR한국어/조선말Hwa&Dam Pictures, Studio DragonSouth Korea750.0357910.3478260.8872220.0040430.348918.9607354.595120171.61
363734.28-0.1872gi_go15314000062021Good Girlsgood girlsGood Girls52.3527.998509.0Good Girls8.2668.071715Good Girls450en5097.998Three \"good girl\" suburban wives and mothers suddenly find themselves in desperate circumstances and decide to stop playing it safe and risk every...False/csOIulXwQxsuCFp3ZZ9cYkJmCwH.jpg2018-02-262021-07-22https://www.nbc.com/good-girlsFalseGood Girls52.352/gPjcbxrYfbrJNq1Ja8EGd0XtUnC.jpgScriptedCanceledDone playing nice.Comedy, Drama, CrimeJenna BansenNBCUSEnglishAmblin Television, Universal TelevisionUnited States of America420.0292010.1739130.5544440.0271200.215418.8468636.234411153.14
373833.92-0.2093af_ki_s138540000102021The King's Affectionthe king s affectionThe King's Affection69.8198.351232.0The King's Affection8.08733.0129478The King's Affection120ko2328.351When the crown prince is killed, his twin sister assumes the throne while trying to keep her identity and affection for her first love a royal sec...False/4r7scgI5aUrShN0YzriAatWd15e.jpg2021-10-112021-12-14https://program.kbs.co.kr/2tv/drama/thekingsaffection/pc/index.htmlFalse연모69.819/mcfX0IqWibPhF5H4i2Q5gUlwwxk.jpgScriptedEndedNaNDramaHan Hee-jungkoKBS2KR한국어/조선말Arc Media, Monster UnionSouth Korea700.0239920.3478260.7505560.0115670.304918.7466705.451038138.54
383932.78-0.2796ki_sa_wh14361000042022Who Killed Sara?who killed saraWho Killed Sara?18.1577.6381132.0Who Killed Sara?6.417647.0120168Who Killed Sara?325es11327.638Hell-bent on exacting revenge and proving he was framed for his sister's murder, Álex sets out to unearth much more than the crime's real culprit.False/dYvIUzdh6TUv4IFRq8UBkX7bNNu.jpg2021-03-242022-05-18https://www.netflix.com/title/81166747False¿Quién mató a Sara?18.157/o7uk5ChRt3quPIv8PcvPfzyXdMw.jpgScriptedEndedNaNDrama, Crime, MysteryJosé Ignacio ValenzuelaesNetflixMXEspañolNaNMexico400.0258010.0869570.3544440.0621000.142118.7826127.032624143.61
394032.64-0.2881he_ma27275000072022The Marked Heartthe marked heartThe Marked Heart35.5267.817232.0The Marked Heart6.64799.0158916The Marked Heart224es2327.817A man hell-bent on exacting revenge on the organ trafficking organization that murdered his wife becomes involved with the woman who received her ...False/yOtzSTFdccSd2tfzlTp8UNo2ZHN.jpg2022-04-202023-04-19https://www.netflix.com/title/81261170FalsePálpito35.526/M1q0HuyRnqxP8Si54srsPREFIH.jpgScriptedEndedNaNSoap, MysteryLeonardo PadrónesNetflixCOEspañolNaNSpain450.0718740.2173910.4538890.0115670.206519.4240665.451038272.75
404132.42-0.3019li_se28210000072021Sex/Lifesex lifeSex/Life124.1457.1381200.0Sex LifeNaNNaN126280Sex/Life214en12007.138A woman's daring sexual past collides with her married-with-kids present when the bad-boy ex she can't stop fantasizing about crashes back into he...False/9nBVkNBe4x9HKDAzxjxlIqecxCW.jpg2021-06-252023-03-02https://www.netflix.com/title/80991848FalseSex/Life124.145/kfcJl5e8CRWDU7e4vX6uNABPRbS.jpgScriptedCanceledTime to choose.Comedy, DramaStacy RukeyserenNetflixUSEnglishDe MiloUnited States of America00.0752100.2173910.0766670.0659180.102719.4577727.090910282.10
414232.18-0.3163la_li30527000062022The Lincoln Lawyerthe lincoln lawyerThe Lincoln Lawyer52.3957.806183.0The Lincoln LawyerNaNNaN116799The Lincoln Lawyer320en1837.806Sidelined after an accident, hotshot Los Angeles lawyer Mickey Haller restarts his career - and his trademark Lincoln - when he takes on a murder ...False/jBFOVEE5sMIyT141YIqIwyU8Y1D.jpg2022-05-132023-08-03https://www.netflix.com/title/81303831TrueThe Lincoln Lawyer52.395/9TaupczRcEkOaYbsiQuLg3kXPLq.jpgScriptedReturning SeriesLA's hottest defense attorney just found a new gear.Drama, CrimeDavid E. KelleyenNetflixUSEnglishA+E Studios, ABC Signature, David E. Kelley ProductionsUnited States of America500.0834760.1739130.4477780.0088150.199719.5367075.214936305.27
424328.86-0.5208di_ra17287000042022Raising Dionraising dionRaising Dion19.0937.696388.0Raising Dion8.183.093392Raising Dion217en3887.696A widowed mom sets out to solve the mystery surrounding her young son's emerging superpowers while keeping his extraordinary gifts under wraps.False/fVc8V31Kk1wAyorbg5BrzVSNNiv.jpg2019-10-042022-02-01https://www.netflix.com/title/80117803FalseRaising Dion19.093/nydKXBiLn4vpL1d5o1utbPKYdii.jpgScriptedCanceledEnergy never dies, it just takes a different form.Drama, Sci-Fi & FantasyCarol BarbeeenNetflixUSEnglishOutlier Society ProductionsUnited States of America500.0362400.0869570.3866670.0203260.149118.9680505.963579172.87
434428.78-0.5260he_ko_mo9837000032022Money Heist: Korea - Joint Economic Areamoney heist korea joint economic areaMoney Heist: Korea - Joint Economic Area46.2927.900601.0Money Heist: Korea - Joint Economic Area5.910696.0112836Money Heist: Korea - Joint Economic Area112ko6017.900Disguised under the shadows of a mask, a crew of desperados band together under the leadership of a criminal mastermind known only as “The Profess...False/lcTuggU70y6pt6x13Rv1Ffjs93K.jpg2022-06-242022-12-09https://www.netflix.com/title/80997343True종이의 집: 공동경제구역46.292/mbsRGqJtdKcVbjQxkrfzKCAkYoU.jpgScriptedReturning SeriesWitness a heist like no other.Action & Adventure, Crime, Drama, MysteryKim Hong-sun, Ryu Yong-jae, Kim Hwan-chae, Choi Sung-joonkoNetflixKR한국어/조선말BH Entertainment, Content Zium, HighZium StudioSouth Korea00.0096610.0434780.5000000.0322850.166918.4042466.40025798.37
444528.21-0.5609be_ou_su12889000082021Our Beloved Summerour beloved summerOur Beloved Summer30.4568.50074.0Our Beloved Summer8.4252.0135897Our Beloved Summer116ko748.500Years after filming a viral documentary in high school, two bickering ex-lovers get pulled back in front of the camera — and into each other's lives.False/7J8QzozUgiFgDCvNadVImhEXEIq.jpg2021-12-062022-01-25https://programs.sbs.co.kr/drama/ourbelovedsummerFalse그 해 우리는30.456/bA15g6OLmhQ2HkURRaCztA2jwqI.jpgScriptedEndedLet's film the documentary again.Comedy, DramaLee Na-eunkoSBSKR한국어/조선말Studio N, Big Ocean ENM, Supermoon PicturesSouth Korea600.0205500.2608700.8333330.0026950.309818.6744704.317488128.89
454627.44-0.6082bl_ou10515000092022Our Bluesour bluesOur Blues12.9808.80043.0Our Blues8.65554.0135840Our Blues120ko438.800Romance is sweet and bitter — and life riddled with ups and downs — in multiple stories about people who live and work on bustling Jeju island.False/w2vVXdKuBucql88wh2s8PRsjWnE.jpg2022-04-092022-06-12http://program.tving.com/tvn/ourbluesFalse우리들의 블루스12.980/sT5Mlt5UmKiGfBisccwmD4LnPRD.jpgScriptedEndedRooting for you through sour, sweet, and bitter life.DramaNoh Hee-kyungkotvNKR한국어/조선말GTist, Studio DragonSouth Korea660.0120800.3043481.0000000.0009550.365218.4708983.784190105.15
464727.33-0.6150ma_mi14228000042021Midnight Massmidnight massMidnight Mass21.9997.525664.0Midnight Mass7.430.097400Midnight Mass17en6647.525An unsettling omen washes ashore in the wake of the storm. Later, when the locals gather for a potluck, tragedy strikes – and a miracle occurs.False/4XbQb5YoWK9oMrlQdKwtZ1ccpC8.jpg2021-09-242021-09-24https://www.netflix.com/title/81083626FalseMidnight Mass21.999/iYoMZYVD775MtBYJfv6OGY1FsnL.jpgMiniseriesEndedBe not afraid.Mystery, Drama, Sci-Fi & FantasyMike FlanaganenNetflixUSEnglishIntrepid PicturesUnited States of America640.0253270.0869570.2916670.0358230.119118.7733086.499787142.28
474827.12-0.6282ma_sw18294000052022Sweet Magnoliassweet magnoliasSweet Magnolias25.8317.800206.0Sweet Magnolias7.328500.0102904Sweet Magnolias330en2067.800Lifelong friends Maddie, Helen and Dana Sue lift each other as they juggle relationships, family and careers in the small, Southern town of Serenity.False/wt60Q4doM2vrubiCsutwaeWncLL.jpg2020-05-192023-07-20https://www.netflix.com/title/80239866TrueSweet Magnolias25.831/n1WDSFOnCCg3cdHHGBywZtYIzf9.jpgScriptedReturning SeriesNaNDramaSheryl J. AndersonenNetflixUSEnglishDaniel L. Paulson ProductionsUnited States of America500.0398330.1304350.4444440.0101070.174919.0246695.332719182.94
484927.09-0.6296si10943000022021SintoniasintoniaSintonia22.3778.200179.0SintoniaNaNNaN78074Sintonia426pt1798.200Told through three different characters' perspectives, the story of Sintonia explores the interconnection of the music, drug traffic, and religion...False/9GTFaWPPctyJeJaImg9HVPPbyOf.jpg2019-08-092023-07-25https://www.netflix.com/title/80217315TrueSintonia22.377/safjAD2bBNT1grB23rFff5ChwDv.jpgScriptedReturning SeriesRewrite your future.Drama, CrimeFelipe Braga, KondZillaptNetflixBRPortuguêsLosbragas, Gullane Entretenimento, KondzillaBrazil440.0136070.0000000.6666670.0085910.206118.5107965.192957109.43
495025.24-0.7438se_si8977000032021The Silent Seathe silent seaThe Silent Sea25.0697.800527.0The Silent SeaNaNNaN96777The Silent Sea18ko5277.800During a perilous 24-hour mission on the moon, space explorers try to retrieve samples from an abandoned research facility steeped in classified s...False/9hNJ3fvIVd4WE3rU1Us2awoTpgM.jpg2021-12-242021-12-24https://www.netflix.com/title/81098012False고요의 바다25.069/fFT0IgqtCOks4munDTxQwkvNJkd.jpgScriptedEndedA deserted Moon base. A deadly mission.Drama, Sci-Fi & Fantasy, MysteryPark Eun-kyo, Choi Hang-yongkoNetflixKR한국어/조선말Artist CompanySouth Korea450.0065930.0434780.4444440.0281300.148618.3127616.26909689.77
505125.14-0.7501fi_ki10461000032021First Killfirst killFirst Kill21.1477.952270.0First KillNaNNaN111616First Kill18en2707.952Falling in love is tricky for teens Juliette and Calliope: One's a vampire, the other's a vampire hunter — and both are ready to make their first ...False/abFQcEO0UJVfUQPmhgjaKeLxRwy.jpg2022-06-102022-06-10https://www.netflix.com/title/81213653FalseFirst Kill21.147/hwSy1vVaRzV70ZvAEsl6FGOHNlH.jpgScriptedCanceledYou never forget your first.Drama, MysteryV.E. SchwabenNetflixUSEnglishBelletrist ProductionsUnited States of America490.0118870.0434780.5288890.0137000.173618.4657505.602119104.61
515225.11-0.7519ca_or_sn11214000062021The Snitch Cartel: Originsthe snitch cartel originsThe Snitch Cartel: Origins42.0837.885283.0The Snitch Cartel: Origins6.0321.0128252The Snitch Cartel: Origins160es2837.885In Cali during the '60s and '70s, two brothers juggle family, romance and the joint pursuit of a burning ambition: to rule Colombia's drug industry.False/iQlel1ftOsnWguxyN98eUmKTOPm.jpg2021-07-282021-07-28https://www.netflix.com/title/81120861TrueEl cartel de los sapos: El origen42.083/sjkzeJJOdr59VdkB4BjlSVfJmq2.jpgScriptedReturning SeriesNaNCrime, SoapAndrés López LópezesNetflix, Caracol TVCOEspañolCaracol TelevisiónColombia470.0145740.1739130.4916670.0144300.189518.5352595.648974112.14
525323.85-0.8290hu19831000062022HustlehustleHustle30.7387.708137.0HustleNaNNaN3764Hustle848en1377.708A motley group of London con artists pull of a series of daring and intricate stings.False/q7iwBG89RLMdkXoYGdVxC9rRg8Y.jpg2004-02-242012-02-17http://www.bbc.co.uk/programmes/b007gf9kFalseHustle30.738/6UTmAZnaqcIsWVKSBWm7pDmdDTI.jpgScriptedEndedThe con is on!Comedy, Crime, Drama, MysteryTony JordanenBBC OneGBEnglishKudos, Red Planet PicturesNaN600.0453160.1739130.3933330.0062320.169619.1053424.927254198.31
535423.47-0.8526ho_pl7206000072021Hospital Playlisthospital playlistHospital Playlist21.8268.490100.0Hospital Playlist8.711014.096102Hospital Playlist224ko1008.490Every day is extraordinary for five doctors and their patients inside a hospital, where birth, death and everything in between coexist.False/5DUqsUZPLdDRzthR08vvQCXoyfJ.jpg2020-03-122021-09-16http://program.tving.com/tvn/doctorlife/False슬기로운 의사생활21.826/clYgUKk4CzmKpEukW2I2oDg9k1Q.jpgScriptedEndedThe slightly special everyday of us ordinary peopleDrama, ComedyLee Woo-jung, Shin Won-hokotvNKR한국어/조선말Egg is Coming, CJ ENMSouth Korea930.0002750.2173910.8277780.0041550.292518.0930104.61512172.06
545522.37-0.9204ch_ma10421000052021The Chestnut Manthe chestnut manThe Chestnut Man15.7507.584455.0The Chestnut Man7.668351.0127865The Chestnut Man16da4557.584At a grisly murder scene sits a figurine made of chestnuts. From this creepy clue, two detectives hunt a killer linked to a politician's missing c...False/fIXTetAsXkPO6UUUw85IU4oactf.jpg2021-09-292021-09-29https://www.netflix.com/title/81039388FalseKastanjemanden15.750/tdLJTZJ184PsO9QkK9aPeeAXLlo.jpgMiniseriesEndedIf you find one, he's already found you.Crime, DramaSøren Sveistrup, Mikkel Serup, David Sandreuter, Dorte Warnøe HøghdaNetflixDKDanskSAM ProductionsDenmark550.0117450.1304350.3244440.0240880.131118.4619196.122493104.21
555621.63-0.9662fi_ju17785000062021The Five Juanasthe five juanasThe Five Juanas18.6727.419246.0The Five Juanas6.92615.0133086The Five Juanas118es2467.419Five women with the same birthmark set out to unravel the truth about their pasts and discover a tragic web of lies spun by a powerful politician.False/jB27sNxsgITNhr6HavrHywojy8V.jpg2021-10-062021-10-06https://www.netflix.com/title/81167761FalseLa venganza de las Juanas18.672/iFffOCcrtf5mSoGKd2J31d2b5yg.jpgScriptedEndedNaNDramaJimena RomeroesNetflixMXEspañolLemon StudiosMexico340.0380170.1739130.2327780.0123530.119818.9964515.509388177.85
565720.40-1.0415ju_ju13456000072022Juvenile Justicejuvenile justiceJuvenile Justice14.2697.94785.0Juvenile JusticeNaNNaN112833Juvenile Justice110ko857.947A tough judge balances her aversion to minor offenders with firm beliefs on justice and punishment as she tackles complex cases inside a juvenile ...False/eW6CqrGSRUk6xMbdCjreMQiP5W8.jpg2022-02-252022-02-25https://www.netflix.com/title/81312802False소년심판14.269/xH2wTVlsUlYeFEOVGFDaamHkMCm.jpgScriptedEndedYoung offenders sentenced as monsters.Drama, CrimeHong Jong-chan, Kim Min-seokkoNetflixKR한국어/조선말Gil Pictures, GTistSouth Korea610.0225720.2173910.5261110.0033130.209718.7175214.454347134.56
575818.55-1.155481_ar12947000032022Archive 81archive 81Archive 8120.0887.219442.0Archive 817.368254.0112314Archive 8118en4427.219An archivist takes a job restoring damaged videotapes and gets pulled into the vortex of a mystery involving the missing director and a demonic cult.False/7TYMho2TM6ZcqSv6YaEjlNIyhXn.jpg2022-01-142022-01-14https://www.netflix.com/title/80222802FalseArchive 8120.088/l1jeSEm6a88GFcLzlHQr60D0dOi.jpgScriptedCanceledRewind to reveal the truth.Drama, Mystery, Sci-Fi & FantasyRebecca SonnenshineenNetflixUSEnglishAtomic MonsterUnited States of America530.0207570.0434780.1216670.0233580.056018.6789606.093570129.47
585913.16-1.4873ed_we14034000052022Welcome to Edenwelcome to edenWelcome to Eden40.4827.090233.0Welcome to EdenNaNNaN128010Welcome to Eden216es2337.090Are you happy? With this question, Zoa and four other attractive young people, very active on social networks, are invited to the most exclusive p...False/kcHvkFlsodXu1TFgXuOT3OvJYnu.jpg2022-05-062023-04-21https://www.netflix.com/title/81211710FalseBienvenidos a Edén40.482/kZO0mtTHAgg9QVscLVtwCcQ7Hgx.jpgScriptedCanceledNaNAction & Adventure, Sci-Fi & Fantasy, DramaJoaquín Górriz, Guillermo López SánchezesNetflixESEspañolBrutal MediaSpain410.0246350.1304350.0500000.0116230.051518.7595795.455321140.34
596012.02-1.5573al17564000062022AlbaalbaAlba12.8407.000167.0AlbaNaNNaN115521Alba113es1677.000Alba wakes up on a beach after a rape she doesn't remember. And then she discovers that her rapists are friends of her lover.False/2AJcuidWwx8Z4kJPUw2RwiPd3Er.jpg2021-03-282021-06-20https://premium.atresplayer.com/alba/FalseAlba12.840/pubcatJw5MZNuTJ78atJBkw9crW.jpgMiniseriesEndedNaNDramaCarlos Martín, Ignasi RubioesAtresplayer PremiumESEspañolBoomerang TVSpain600.0372280.1739130.0000000.0079170.049018.9839475.123964175.64
606110.95-1.6234lo_sp18518000042021Lost in Spacelost in spaceLost in Space412.0317.11596.0Lost in SpaceNaNNaN3051Lost in Space383en967.115The space family Robinson is sent on a five-year mission to find a new planet to colonise. The voyage is sabotaged time and again by an inept stow...False/upqfQF1LBPf7IRZao0sxt1BHZlx.jpg1965-09-151968-03-06NaNFalseLost in Space412.031/dGhtCpYZutuso2P3GKWnQnqwhSi.jpgScriptedEndedA space colony family struggles to survive when their ship is hopelessly thrown off course.Sci-Fi & FantasyIrwin AllenenCBSUSEnglishNaNNaN600.0406320.0869570.0638890.0039300.051419.0368394.574711185.18
616210.77-1.6346an_sc17102000052022Anatomy of a Scandalanatomy of a scandalAnatomy of a Scandal13.1977.071120.0Anatomy of a Scandal7.040449.0113984Anatomy of a Scandal16en1207.071Anthology series centering on the personal and political scandals of Britain’s elite.False/8zPoUJECL6X8G5T95OuJDorHdtV.jpg2022-04-152022-04-15https://www.netflix.com/title/81152788FalseAnatomy of a Scandal13.197/e1pUQkXbFNI6xH4oDuHnyJoOSib.jpgScriptedEndedNot everyone is entitled to the truth.DramaDavid E. Kelley, Melissa James GibsonenNetflixGB, USEnglishDavid E. Kelley Productions, 3dot Productions, Made Up Stories, Endeavor Content, Anonymous ContentUnited States of America450.0355800.1304350.0394440.0052780.051218.9572914.795791171.02
626310.67-1.6404bl_is_lo25689000052021Love Is Blindlove is blindLove Is Blind46.5587.10054.0Love is BlindNaNNaN99353Love Is Blind569en547.100Nick and Vanessa Lachey host this social experiment where single men and women look for love and get engaged, all before meeting in person.False/esHT6kpx6XAuvp1ngrngTSmelA8.jpg2020-02-132023-09-29https://www.netflix.com/title/80996601TrueLove Is Blind46.558/gOo6KvUkQI9q0THoUqxI9amnnxL.jpgRealityReturning SeriesFalling in love is the easy part.RealityChris CoelenenNetflixUSEnglishKinetic ContentUnited States of America00.0662150.1304350.0555560.0015720.066219.3641594.007333256.89
63649.80-1.6942fo_lo_we10085000082022Forecasting Love and Weatherforecasting love weatherForecasting Love and Weather16.9767.63161.0Forecasting Love and Weather7.15578.0152511Forecasting Love and Weather116ko617.631Inside a national weather service, love proves just as difficult to predict as rain or shine for a diligent forecaster and her free-spirited co-wo...False/s9n20a4QRilgzcaEh91jWZaS8L9.jpg2022-02-122022-04-03http://tv.jtbc.joins.com/weatherpeopleFalse기상청 사람들: 사내연애 잔혹사 편16.976/3Qfh99m0jShWrqlFRsnWY7HeHNX.jpgScriptedEndedNaNDramaKang Eun-kyungkoJTBCKR한국어/조선말SLL, npio EntertainmentSouth Korea600.0105460.2608700.3505560.0019650.161318.4291454.127134100.85
64658.13-1.7971ca183040000102021CartercarterCarter11.5527.40030.0CarterNaNNaN79357Carter220en307.400An actor returns home after a public meltdown. Partnering with his police detective friend, he tries to use his acting experience to solve real cr...False/ymxyzXY3NzgaDekXR4WURetjOYQ.jpg2018-05-152019-12-20https://www.bravo.ca/Shows/CarterFalseCarter11.552/ugPqPRSfa6RmraIej6lp7yoeEUK.jpgScriptedEndedNaNDrama, Comedy, MysteryGarry Campbellen, fr, ptbravo, CTV Drama ChannelCA, USEnglish, Français, PortuguêsAmaze Film + TelevisionCanada, United States of America450.0398680.3478260.2222220.0002250.150219.0252153.433987183.04
65667.41-1.8412am_ge_i7129000032022I Am Georginai am georginaI Am Georgina11.5607.111293.0I Am Georgina4.14667.0156077I Am Georgina212es2937.111Join Georgina Rodríguez — mom, influencer, businesswoman and Cristiano Ronaldo's partner — in this emotional and in-depth portrait of her daily life.False/3SfKp1aTkXdxl1jSsURjHycAHAO.jpg2022-01-272023-03-24https://www.netflix.com/title/81423622TrueSoy Georgina11.560/70e3SQBIAcjKSibWoyCA7lBMZA8.jpgRealityReturning SeriesOne in a million.RealityNaNesNetflixESEspañolNaNNaN400.0000000.0434780.0616670.0149920.029418.0822675.68358071.29
66674.17-2.0403co16163000052021CollisioncollisionCollision5.7957.30026.0CollisionNaNNaN8344Collision15en267.300The story of a major road accident and a group of people who have never met, but who all share one single defining moment that will change their l...False/hFlvQRRZYtOlv41pChaFdya0CVV.jpg2009-11-092009-11-13NaNFalseCollision5.795/qXuLNDG9UICDXqG0ciyQpjuW4SX.jpgScriptedEndedNaNDrama, Crime, MysteryAnthony HorowitzenITV1GBEnglishNaNNaN480.0322300.1304350.1666670.0000000.087418.9008203.295837161.63
67683.56-2.07799_po_tu8068000032021Turning Point: 9/11 and the War on Terrorturning point 9 11 the war on terrorTurning Point: 9/11 and the War on Terror9.1947.28783.0Turning Point: 9/11 and the War on Terror7.913266.0131651Turning Point: 9/11 and the War on Terror15en837.287Modern history can be divided into two time frames: before 9/11 and after 9/11. This five-part docuseries is a cohesive chronicle of the September...False/pxhxhEKJXznWEavLXJWUxxxdo2X.jpg2021-09-012021-09-01https://www.netflix.com/title/81315804FalseTurning Point: 9/11 and the War on Terror9.194/jZsV8GInbLWcAX3mAFxE6gE8bTR.jpgMiniseriesEndedHistory casts a long shadow.Documentary, War & PoliticsNaNenNetflixUSEnglishLuminant MediaAfghanistan, United States of America600.0033500.0434780.1594440.0032000.058218.2060014.43081780.68
68693.21-2.0995se_su15878000042021Selling Sunsetselling sunsetSelling Sunset9.4597.10039.0Selling Sunset6.59335.087826Selling Sunset656en397.100The elite real estate brokers at The Oppenheim Group sell the luxe life to affluent buyers in LA. The drama ramps up when a new agent joins the team.False/hB2llGkvqcf8sBgEv00HO57eGaa.jpg2019-03-222023-05-19https://www.netflix.com/title/80223108TrueSelling Sunset9.459/wUtoD67q4BnRUwikUbT6M38d5oj.jpgScriptedReturning SeriesNaNRealityAdam DiVelloenNetflixUSEnglishDone and Done Productions, Lionsgate TelevisionUnited States of America320.0312130.0869570.0555560.0007300.045118.8830303.688879158.78
69702.89-2.1196st_tr9082000032021True Storytrue storyTrue Story15.6957.17182.0True StoryNaNNaN134029True Story17en827.171A world-famous comedian desperately searches for a way out after a night in Philadelphia with his brother threatens to sabotage more than his succ...False/yGpmZYJ8fb543B3tIKjzcRHgJsX.jpg2021-11-242021-11-24https://www.netflix.com/title/81132961FalseTrue Story15.695/7zMbzJijHQv5oOtkb8rdYarn9X6.jpgMiniseriesEndedBetrayal is relative.Drama, CrimeEric NewmanenNetflixUSEnglishHartBeat Productions, Grand ElectricUnited States of America360.0069680.0434780.0950000.0031440.040118.3243904.41884190.82
70710.00-2.2972an_se8859000042022Another Selfanother selfAnother Self10.5977.40030.0Another Self7.326500.0206180Another Self18tr307.400Three friends arrive in a seaside town, where they connect with their spiritual selves and suddenly face unresolved trauma from their families' pa...False/5nAikDmnio7SuBFg4KIpC3c50UL.jpg2022-07-282022-07-28https://www.netflix.com/title/81380432FalseZeytin Ağacı10.597/zogTjQRIJsmg8yvIo8gDLtp65th.jpgScriptedEndedNaNDramaNuran Evren ŞittrNetflixTRTürkçeOGM PicturesTurkey540.0061720.0869570.2222220.0002250.086318.2995303.43398788.59
\n", + "
" + ], + "text/plain": [ + " Hit_rank Hit_score PCA_Hit_original key netflix_viewing_hours \\\n", + "0 1 100.00 3.8578 st_th 2874260000 \n", + "1 2 84.49 2.9029 he_mo 1170200000 \n", + "2 3 82.90 2.8051 ga_sq 2289500000 \n", + "3 4 74.10 2.2635 ac_um 414630000 \n", + "4 5 70.62 2.0493 ed_se 561360000 \n", + "5 6 68.76 1.9352 al_ar_us 659510000 \n", + "6 7 67.90 1.8819 br 1108800000 \n", + "7 8 64.97 1.7017 oz 751600000 \n", + "8 9 64.08 1.6468 bl_pe 185340000 \n", + "9 10 64.00 1.6419 co_ka 383640000 \n", + "10 11 62.61 1.5567 el 329290000 \n", + "11 12 61.10 1.4633 ma 1446260000 \n", + "12 13 59.65 1.3740 do_go 112580000 \n", + "13 14 58.92 1.3291 ar 154270000 \n", + "14 15 55.11 1.0948 fl_qu 561230000 \n", + "15 16 54.08 1.0317 at_ex_wo 404030000 \n", + "16 17 51.70 0.8850 ha_i_ne 297780000 \n", + "17 18 49.84 0.7703 sa 274220000 \n", + "18 19 49.75 0.7650 ri_vi 624250000 \n", + "19 20 49.11 0.7257 de_se_si 79510000 \n", + "20 21 48.48 0.6866 ki_la 189570000 \n", + "21 22 44.87 0.4647 em_pa 341630000 \n", + "22 23 44.82 0.4613 ch_ch_ho 300580000 \n", + "23 24 44.43 0.4373 ke_lo 278380000 \n", + "24 25 44.19 0.4225 bu_pr 279110000 \n", + "25 26 43.88 0.4034 my_na 194140000 \n", + "26 27 42.58 0.3233 ar_ca_co 793740000 \n", + "27 28 41.75 0.2724 co_z 89830000 \n", + "28 29 41.22 0.2397 al_so 127690000 \n", + "29 30 39.80 0.1525 va_vi 265550000 \n", + "30 31 39.54 0.1364 da_de 202940000 \n", + "31 32 38.89 0.0965 al_am 180660000 \n", + "32 33 37.78 0.0282 de_n_pa 164180000 \n", + "33 34 37.57 0.0151 me_na 138980000 \n", + "34 35 36.08 -0.0765 bl_my 80880000 \n", + "35 36 34.83 -0.1532 fi_tw_tw 171610000 \n", + "36 37 34.28 -0.1872 gi_go 153140000 \n", + "37 38 33.92 -0.2093 af_ki_s 138540000 \n", + "38 39 32.78 -0.2796 ki_sa_wh 143610000 \n", + "39 40 32.64 -0.2881 he_ma 272750000 \n", + "40 41 32.42 -0.3019 li_se 282100000 \n", + "41 42 32.18 -0.3163 la_li 305270000 \n", + "42 43 28.86 -0.5208 di_ra 172870000 \n", + "43 44 28.78 -0.5260 he_ko_mo 98370000 \n", + "44 45 28.21 -0.5609 be_ou_su 128890000 \n", + "45 46 27.44 -0.6082 bl_ou 105150000 \n", + "46 47 27.33 -0.6150 ma_mi 142280000 \n", + "47 48 27.12 -0.6282 ma_sw 182940000 \n", + "48 49 27.09 -0.6296 si 109430000 \n", + "49 50 25.24 -0.7438 se_si 89770000 \n", + "50 51 25.14 -0.7501 fi_ki 104610000 \n", + "51 52 25.11 -0.7519 ca_or_sn 112140000 \n", + "52 53 23.85 -0.8290 hu 198310000 \n", + "53 54 23.47 -0.8526 ho_pl 72060000 \n", + "54 55 22.37 -0.9204 ch_ma 104210000 \n", + "55 56 21.63 -0.9662 fi_ju 177850000 \n", + "56 57 20.40 -1.0415 ju_ju 134560000 \n", + "57 58 18.55 -1.1554 81_ar 129470000 \n", + "58 59 13.16 -1.4873 ed_we 140340000 \n", + "59 60 12.02 -1.5573 al 175640000 \n", + "60 61 10.95 -1.6234 lo_sp 185180000 \n", + "61 62 10.77 -1.6346 an_sc 171020000 \n", + "62 63 10.67 -1.6404 bl_is_lo 256890000 \n", + "63 64 9.80 -1.6942 fo_lo_we 100850000 \n", + "64 65 8.13 -1.7971 ca 183040000 \n", + "65 66 7.41 -1.8412 am_ge_i 71290000 \n", + "66 67 4.17 -2.0403 co 161630000 \n", + "67 68 3.56 -2.0779 9_po_tu 80680000 \n", + "68 69 3.21 -2.0995 se_su 158780000 \n", + "69 70 2.89 -2.1196 st_tr 90820000 \n", + "70 71 0.00 -2.2972 an_se 88590000 \n", + "\n", + " netflix_weeks netflix_year_hint \\\n", + "0 13 2022 \n", + "1 14 2021 \n", + "2 20 2021 \n", + "3 5 2022 \n", + "4 6 2021 \n", + "5 11 2022 \n", + "6 11 2021 \n", + "7 13 2022 \n", + "8 5 2022 \n", + "9 4 2022 \n", + "10 5 2021 \n", + "11 16 2021 \n", + "12 6 2021 \n", + "13 6 2021 \n", + "14 16 2021 \n", + "15 7 2022 \n", + "16 4 2021 \n", + "17 3 2022 \n", + "18 6 2021 \n", + "19 4 2021 \n", + "20 5 2022 \n", + "21 5 2021 \n", + "22 16 2021 \n", + "23 5 2021 \n", + "24 13 2022 \n", + "25 5 2021 \n", + "26 25 2022 \n", + "27 3 2021 \n", + "28 8 2022 \n", + "29 5 2022 \n", + "30 5 2022 \n", + "31 5 2021 \n", + "32 5 2022 \n", + "33 4 2021 \n", + "34 2 2021 \n", + "35 10 2022 \n", + "36 6 2021 \n", + "37 10 2021 \n", + "38 4 2022 \n", + "39 7 2022 \n", + "40 7 2021 \n", + "41 6 2022 \n", + "42 4 2022 \n", + "43 3 2022 \n", + "44 8 2021 \n", + "45 9 2022 \n", + "46 4 2021 \n", + "47 5 2022 \n", + "48 2 2021 \n", + "49 3 2021 \n", + "50 3 2021 \n", + "51 6 2021 \n", + "52 6 2022 \n", + "53 7 2021 \n", + "54 5 2021 \n", + "55 6 2021 \n", + "56 7 2022 \n", + "57 3 2022 \n", + "58 5 2022 \n", + "59 6 2022 \n", + "60 4 2021 \n", + "61 5 2022 \n", + "62 5 2021 \n", + "63 8 2022 \n", + "64 10 2021 \n", + "65 3 2022 \n", + "66 5 2021 \n", + "67 3 2021 \n", + "68 4 2021 \n", + "69 3 2021 \n", + "70 4 2022 \n", + "\n", + " netflix_title \\\n", + "0 Stranger Things \n", + "1 Money Heist \n", + "2 Squid Game \n", + "3 The Umbrella Academy \n", + "4 Sex Education \n", + "5 All of Us Are Dead \n", + "6 Bridgerton \n", + "7 Ozark \n", + "8 Peaky Blinders \n", + "9 Cobra Kai \n", + "10 Elite \n", + "11 Manifest \n", + "12 The Good Doctor \n", + "13 Arcane \n", + "14 The Queen of Flow \n", + "15 Extraordinary Attorney Woo \n", + "16 Never Have I Ever \n", + "17 The Sandman \n", + "18 Virgin River \n", + "19 The Seven Deadly Sins: Cursed by Light \n", + "20 The Last Kingdom \n", + "21 Emily in Paris \n", + "22 Hometown Cha-Cha-Cha \n", + "23 Locke & Key \n", + "24 Business Proposal \n", + "25 My Name \n", + "26 Café con aroma de mujer \n", + "27 Control Z \n", + "28 Alchemy of Souls \n", + "29 Vikings: Valhalla \n", + "30 Dark Desire \n", + "31 All American \n", + "32 Pasión de Gavilanes \n", + "33 Narcos: Mexico \n", + "34 On My Block \n", + "35 Twenty Five Twenty One \n", + "36 Good Girls \n", + "37 The King's Affection \n", + "38 Who Killed Sara? \n", + "39 The Marked Heart \n", + "40 Sex/Life \n", + "41 The Lincoln Lawyer \n", + "42 Raising Dion \n", + "43 Money Heist: Korea - Joint Economic Area \n", + "44 Our Beloved Summer \n", + "45 Our Blues \n", + "46 Midnight Mass \n", + "47 Sweet Magnolias \n", + "48 Sintonia \n", + "49 The Silent Sea \n", + "50 First Kill \n", + "51 The Snitch Cartel: Origins \n", + "52 Hustle \n", + "53 Hospital Playlist \n", + "54 The Chestnut Man \n", + "55 The Five Juanas \n", + "56 Juvenile Justice \n", + "57 Archive 81 \n", + "58 Welcome to Eden \n", + "59 Alba \n", + "60 Lost in Space \n", + "61 Anatomy of a Scandal \n", + "62 Love Is Blind \n", + "63 Forecasting Love and Weather \n", + "64 Carter \n", + "65 I Am Georgina \n", + "66 Collision \n", + "67 Turning Point: 9/11 and the War on Terror \n", + "68 Selling Sunset \n", + "69 True Story \n", + "70 Another Self \n", + "\n", + " netflix_clean_title \\\n", + "0 stranger things \n", + "1 money heist \n", + "2 squid game \n", + "3 the umbrella academy \n", + "4 sex education \n", + "5 all of us are dead \n", + "6 bridgerton \n", + "7 ozark \n", + "8 peaky blinders \n", + "9 cobra kai \n", + "10 elite \n", + "11 manifest \n", + "12 the good doctor \n", + "13 arcane \n", + "14 the queen of flow \n", + "15 extraordinary attorney woo \n", + "16 never have i ever \n", + "17 the sandman \n", + "18 virgin river \n", + "19 the seven deadly sins cursed by light \n", + "20 the last kingdom \n", + "21 emily in paris \n", + "22 hometown cha cha cha \n", + "23 locke key \n", + "24 business proposal \n", + "25 my name \n", + "26 caf con aroma de mujer \n", + "27 control z \n", + "28 alchemy of souls \n", + "29 vikings valhalla \n", + "30 dark desire \n", + "31 all american \n", + "32 pasi n de gavilanes \n", + "33 narcos mexico \n", + "34 on my block \n", + "35 twenty five twenty one \n", + "36 good girls \n", + "37 the king s affection \n", + "38 who killed sara \n", + "39 the marked heart \n", + "40 sex life \n", + "41 the lincoln lawyer \n", + "42 raising dion \n", + "43 money heist korea joint economic area \n", + "44 our beloved summer \n", + "45 our blues \n", + "46 midnight mass \n", + "47 sweet magnolias \n", + "48 sintonia \n", + "49 the silent sea \n", + "50 first kill \n", + "51 the snitch cartel origins \n", + "52 hustle \n", + "53 hospital playlist \n", + "54 the chestnut man \n", + "55 the five juanas \n", + "56 juvenile justice \n", + "57 archive 81 \n", + "58 welcome to eden \n", + "59 alba \n", + "60 lost in space \n", + "61 anatomy of a scandal \n", + "62 love is blind \n", + "63 forecasting love weather \n", + "64 carter \n", + "65 i am georgina \n", + "66 collision \n", + "67 turning point 9 11 the war on terror \n", + "68 selling sunset \n", + "69 true story \n", + "70 another self \n", + "\n", + " tmdb_title tmdb_popularity \\\n", + "0 Stranger Things 185.711 \n", + "1 Money Heist 96.354 \n", + "2 Squid Game 115.587 \n", + "3 The Umbrella Academy 51.859 \n", + "4 Sex Education 1008.977 \n", + "5 All of Us Are Dead 107.108 \n", + "6 Bridgerton 71.308 \n", + "7 Ozark 68.006 \n", + "8 Peaky Blinders 344.477 \n", + "9 Cobra Kai 118.256 \n", + "10 Elite 100.711 \n", + "11 Manifest 111.411 \n", + "12 The Good Doctor 681.614 \n", + "13 Arcane 42.447 \n", + "14 The Queen of Flow 129.323 \n", + "15 Extraordinary Attorney Woo 42.923 \n", + "16 Never Have I Ever 80.546 \n", + "17 The Sandman 64.168 \n", + "18 Virgin River 54.192 \n", + "19 The Seven Deadly Sins 10.059 \n", + "20 The Last Kingdom 143.794 \n", + "21 Emily in Paris 33.659 \n", + "22 Hometown Cha-Cha-Cha 35.367 \n", + "23 Locke & Key 27.017 \n", + "24 Business Proposal 88.533 \n", + "25 My Name 25.525 \n", + "26 Café con Aroma de Mujer 20.710 \n", + "27 Control Z 20.708 \n", + "28 Alchemy of Souls 61.172 \n", + "29 Vikings: Valhalla 59.232 \n", + "30 Dark Desire 90.553 \n", + "31 All American 140.694 \n", + "32 Pasión de Gavilanes 283.197 \n", + "33 Narcos: Mexico 47.476 \n", + "34 On My Block 16.979 \n", + "35 Twenty Five Twenty One 31.730 \n", + "36 Good Girls 52.352 \n", + "37 The King's Affection 69.819 \n", + "38 Who Killed Sara? 18.157 \n", + "39 The Marked Heart 35.526 \n", + "40 Sex/Life 124.145 \n", + "41 The Lincoln Lawyer 52.395 \n", + "42 Raising Dion 19.093 \n", + "43 Money Heist: Korea - Joint Economic Area 46.292 \n", + "44 Our Beloved Summer 30.456 \n", + "45 Our Blues 12.980 \n", + "46 Midnight Mass 21.999 \n", + "47 Sweet Magnolias 25.831 \n", + "48 Sintonia 22.377 \n", + "49 The Silent Sea 25.069 \n", + "50 First Kill 21.147 \n", + "51 The Snitch Cartel: Origins 42.083 \n", + "52 Hustle 30.738 \n", + "53 Hospital Playlist 21.826 \n", + "54 The Chestnut Man 15.750 \n", + "55 The Five Juanas 18.672 \n", + "56 Juvenile Justice 14.269 \n", + "57 Archive 81 20.088 \n", + "58 Welcome to Eden 40.482 \n", + "59 Alba 12.840 \n", + "60 Lost in Space 412.031 \n", + "61 Anatomy of a Scandal 13.197 \n", + "62 Love Is Blind 46.558 \n", + "63 Forecasting Love and Weather 16.976 \n", + "64 Carter 11.552 \n", + "65 I Am Georgina 11.560 \n", + "66 Collision 5.795 \n", + "67 Turning Point: 9/11 and the War on Terror 9.194 \n", + "68 Selling Sunset 9.459 \n", + "69 True Story 15.695 \n", + "70 Another Self 10.597 \n", + "\n", + " tmdb_vote_average tmdb_vote_count \\\n", + "0 8.624 16161.0 \n", + "1 8.257 17836.0 \n", + "2 7.831 13053.0 \n", + "3 8.604 8891.0 \n", + "4 8.304 6647.0 \n", + "5 8.354 3335.0 \n", + "6 8.143 2045.0 \n", + "7 8.244 1968.0 \n", + "8 8.546 8836.0 \n", + "9 8.220 5734.0 \n", + "10 8.071 8817.0 \n", + "11 7.728 1312.0 \n", + "12 8.503 11768.0 \n", + "13 8.740 3341.0 \n", + "14 7.983 1391.0 \n", + "15 8.482 585.0 \n", + "16 8.161 1557.0 \n", + "17 8.064 1726.0 \n", + "18 8.032 448.0 \n", + "19 8.462 4710.0 \n", + "20 8.290 1485.0 \n", + "21 7.775 1152.0 \n", + "22 8.233 442.0 \n", + "23 7.903 1104.0 \n", + "24 8.422 281.0 \n", + "25 8.283 715.0 \n", + "26 7.500 382.0 \n", + "27 8.227 2242.0 \n", + "28 8.622 411.0 \n", + "29 7.851 671.0 \n", + "30 7.300 4181.0 \n", + "31 8.245 414.0 \n", + "32 7.641 1925.0 \n", + "33 7.939 1160.0 \n", + "34 8.461 618.0 \n", + "35 8.597 98.0 \n", + "36 7.998 509.0 \n", + "37 8.351 232.0 \n", + "38 7.638 1132.0 \n", + "39 7.817 232.0 \n", + "40 7.138 1200.0 \n", + "41 7.806 183.0 \n", + "42 7.696 388.0 \n", + "43 7.900 601.0 \n", + "44 8.500 74.0 \n", + "45 8.800 43.0 \n", + "46 7.525 664.0 \n", + "47 7.800 206.0 \n", + "48 8.200 179.0 \n", + "49 7.800 527.0 \n", + "50 7.952 270.0 \n", + "51 7.885 283.0 \n", + "52 7.708 137.0 \n", + "53 8.490 100.0 \n", + "54 7.584 455.0 \n", + "55 7.419 246.0 \n", + "56 7.947 85.0 \n", + "57 7.219 442.0 \n", + "58 7.090 233.0 \n", + "59 7.000 167.0 \n", + "60 7.115 96.0 \n", + "61 7.071 120.0 \n", + "62 7.100 54.0 \n", + "63 7.631 61.0 \n", + "64 7.400 30.0 \n", + "65 7.111 293.0 \n", + "66 7.300 26.0 \n", + "67 7.287 83.0 \n", + "68 7.100 39.0 \n", + "69 7.171 82.0 \n", + "70 7.400 30.0 \n", + "\n", + " imdb_title imdb_averageRating \\\n", + "0 Stranger Things NaN \n", + "1 Money Heist 8.2 \n", + "2 Squid Game! NaN \n", + "3 The Umbrella Academy 7.0 \n", + "4 Sex Education 7.2 \n", + "5 All of Us Are Dead 7.6 \n", + "6 Bridgerton 4.1 \n", + "7 Ozark 8.4 \n", + "8 Peaky Blinders 8.7 \n", + "9 Cobra Kai 6.9 \n", + "10 Elite 8.4 \n", + "11 Manifest NaN \n", + "12 The Good Doctor NaN \n", + "13 Arcane NaN \n", + "14 The Queen of Flow 7.5 \n", + "15 Extraordinary Attorney Woo 8.5 \n", + "16 Never Have I Ever NaN \n", + "17 The Sandman 5.2 \n", + "18 Virgin River 7.4 \n", + "19 The Seven Deadly Sins: Cursed by Light 6.4 \n", + "20 The Last Kingdom 8.4 \n", + "21 Emily in Paris 6.8 \n", + "22 Hometown Cha-Cha-Cha 8.3 \n", + "23 Locke&Key NaN \n", + "24 Business Proposal NaN \n", + "25 My Name 7.8 \n", + "26 Café con aroma de mujer 8.6 \n", + "27 Control Z 6.8 \n", + "28 Alchemy of Souls 8.7 \n", + "29 Vikings: Valhalla 7.4 \n", + "30 Dark Desire 8.0 \n", + "31 All American NaN \n", + "32 Pasión de sangre NaN \n", + "33 Narcos: Mexico 8.3 \n", + "34 On My Block 7.0 \n", + "35 Twenty Five Twenty One 8.6 \n", + "36 Good Girls 8.2 \n", + "37 The King's Affection 8.0 \n", + "38 Who Killed Sara? 6.4 \n", + "39 The Marked Heart 6.6 \n", + "40 Sex Life NaN \n", + "41 The Lincoln Lawyer NaN \n", + "42 Raising Dion 8.1 \n", + "43 Money Heist: Korea - Joint Economic Area 5.9 \n", + "44 Our Beloved Summer 8.4 \n", + "45 Our Blues 8.6 \n", + "46 Midnight Mass 7.4 \n", + "47 Sweet Magnolias 7.3 \n", + "48 Sintonia NaN \n", + "49 The Silent Sea NaN \n", + "50 First Kill NaN \n", + "51 The Snitch Cartel: Origins 6.0 \n", + "52 Hustle NaN \n", + "53 Hospital Playlist 8.7 \n", + "54 The Chestnut Man 7.6 \n", + "55 The Five Juanas 6.9 \n", + "56 Juvenile Justice NaN \n", + "57 Archive 81 7.3 \n", + "58 Welcome to Eden NaN \n", + "59 Alba NaN \n", + "60 Lost in Space NaN \n", + "61 Anatomy of a Scandal 7.0 \n", + "62 Love is Blind NaN \n", + "63 Forecasting Love and Weather 7.1 \n", + "64 Carter NaN \n", + "65 I Am Georgina 4.1 \n", + "66 Collision NaN \n", + "67 Turning Point: 9/11 and the War on Terror 7.9 \n", + "68 Selling Sunset 6.5 \n", + "69 True Story NaN \n", + "70 Another Self 7.3 \n", + "\n", + " imdb_numVotes TMDb_raw_id TMDb_raw_name \\\n", + "0 NaN 66732 Stranger Things \n", + "1 612436.0 71446 Money Heist \n", + "2 NaN 93405 Squid Game \n", + "3 74.0 75006 The Umbrella Academy \n", + "4 25.0 81356 Sex Education \n", + "5 92709.0 99966 All of Us Are Dead \n", + "6 57.0 91239 Bridgerton \n", + "7 394904.0 69740 Ozark \n", + "8 783155.0 60574 Peaky Blinders \n", + "9 36.0 77169 Cobra Kai \n", + "10 112.0 76669 Elite \n", + "11 NaN 79696 Manifest \n", + "12 NaN 71712 The Good Doctor \n", + "13 NaN 94605 Arcane \n", + "14 2076.0 80240 The Queen of Flow \n", + "15 38985.0 197067 Extraordinary Attorney Woo \n", + "16 NaN 100883 Never Have I Ever \n", + "17 5.0 90802 The Sandman \n", + "18 60100.0 88324 Virgin River \n", + "19 1955.0 62104 The Seven Deadly Sins \n", + "20 13.0 63333 The Last Kingdom \n", + "21 143411.0 82596 Emily in Paris \n", + "22 29770.0 128883 Hometown Cha-Cha-Cha \n", + "23 NaN 86423 Locke & Key \n", + "24 NaN 154825 Business Proposal \n", + "25 45026.0 110356 My Name \n", + "26 106.0 16961 Café con Aroma de Mujer \n", + "27 12606.0 102903 Control Z \n", + "28 29759.0 135157 Alchemy of Souls \n", + "29 71704.0 116135 Vikings: Valhalla \n", + "30 11.0 105214 Dark Desire \n", + "31 NaN 82428 All American \n", + "32 NaN 11250 Pasión de Gavilanes \n", + "33 102053.0 80968 Narcos: Mexico \n", + "34 29.0 76747 On My Block \n", + "35 22729.0 129888 Twenty Five Twenty One \n", + "36 668.0 71715 Good Girls \n", + "37 8733.0 129478 The King's Affection \n", + "38 17647.0 120168 Who Killed Sara? \n", + "39 4799.0 158916 The Marked Heart \n", + "40 NaN 126280 Sex/Life \n", + "41 NaN 116799 The Lincoln Lawyer \n", + "42 83.0 93392 Raising Dion \n", + "43 10696.0 112836 Money Heist: Korea - Joint Economic Area \n", + "44 252.0 135897 Our Beloved Summer \n", + "45 5554.0 135840 Our Blues \n", + "46 30.0 97400 Midnight Mass \n", + "47 28500.0 102904 Sweet Magnolias \n", + "48 NaN 78074 Sintonia \n", + "49 NaN 96777 The Silent Sea \n", + "50 NaN 111616 First Kill \n", + "51 321.0 128252 The Snitch Cartel: Origins \n", + "52 NaN 3764 Hustle \n", + "53 11014.0 96102 Hospital Playlist \n", + "54 68351.0 127865 The Chestnut Man \n", + "55 2615.0 133086 The Five Juanas \n", + "56 NaN 112833 Juvenile Justice \n", + "57 68254.0 112314 Archive 81 \n", + "58 NaN 128010 Welcome to Eden \n", + "59 NaN 115521 Alba \n", + "60 NaN 3051 Lost in Space \n", + "61 40449.0 113984 Anatomy of a Scandal \n", + "62 NaN 99353 Love Is Blind \n", + "63 5578.0 152511 Forecasting Love and Weather \n", + "64 NaN 79357 Carter \n", + "65 4667.0 156077 I Am Georgina \n", + "66 NaN 8344 Collision \n", + "67 13266.0 131651 Turning Point: 9/11 and the War on Terror \n", + "68 9335.0 87826 Selling Sunset \n", + "69 NaN 134029 True Story \n", + "70 26500.0 206180 Another Self \n", + "\n", + " TMDb_raw_number_of_seasons TMDb_raw_number_of_episodes \\\n", + "0 4 34 \n", + "1 3 41 \n", + "2 2 9 \n", + "3 4 32 \n", + "4 4 32 \n", + "5 2 12 \n", + "6 3 24 \n", + "7 4 44 \n", + "8 6 36 \n", + "9 6 50 \n", + "10 7 49 \n", + "11 4 62 \n", + "12 6 116 \n", + "13 2 9 \n", + "14 2 172 \n", + "15 1 16 \n", + "16 4 40 \n", + "17 1 11 \n", + "18 5 54 \n", + "19 4 96 \n", + "20 5 46 \n", + "21 4 30 \n", + "22 1 16 \n", + "23 3 28 \n", + "24 1 12 \n", + "25 1 8 \n", + "26 1 139 \n", + "27 3 24 \n", + "28 2 30 \n", + "29 2 16 \n", + "30 2 33 \n", + "31 5 91 \n", + "32 2 259 \n", + "33 3 30 \n", + "34 4 38 \n", + "35 1 16 \n", + "36 4 50 \n", + "37 1 20 \n", + "38 3 25 \n", + "39 2 24 \n", + "40 2 14 \n", + "41 3 20 \n", + "42 2 17 \n", + "43 1 12 \n", + "44 1 16 \n", + "45 1 20 \n", + "46 1 7 \n", + "47 3 30 \n", + "48 4 26 \n", + "49 1 8 \n", + "50 1 8 \n", + "51 1 60 \n", + "52 8 48 \n", + "53 2 24 \n", + "54 1 6 \n", + "55 1 18 \n", + "56 1 10 \n", + "57 1 8 \n", + "58 2 16 \n", + "59 1 13 \n", + "60 3 83 \n", + "61 1 6 \n", + "62 5 69 \n", + "63 1 16 \n", + "64 2 20 \n", + "65 2 12 \n", + "66 1 5 \n", + "67 1 5 \n", + "68 6 56 \n", + "69 1 7 \n", + "70 1 8 \n", + "\n", + " TMDb_raw_original_language TMDb_raw_vote_count TMDb_raw_vote_average \\\n", + "0 en 16161 8.624 \n", + "1 es 17836 8.257 \n", + "2 ko 13053 7.831 \n", + "3 en 8891 8.604 \n", + "4 en 6647 8.304 \n", + "5 ko 3335 8.354 \n", + "6 en 2045 8.143 \n", + "7 en 1968 8.244 \n", + "8 en 8836 8.546 \n", + "9 en 5734 8.220 \n", + "10 es 8817 8.071 \n", + "11 en 1312 7.728 \n", + "12 en 11768 8.503 \n", + "13 en 3341 8.740 \n", + "14 es 1391 7.983 \n", + "15 ko 585 8.482 \n", + "16 en 1557 8.161 \n", + "17 en 1726 8.064 \n", + "18 en 448 8.032 \n", + "19 ja 4710 8.462 \n", + "20 en 1485 8.290 \n", + "21 en 1152 7.775 \n", + "22 ko 442 8.233 \n", + "23 en 1104 7.903 \n", + "24 ko 281 8.422 \n", + "25 ko 715 8.283 \n", + "26 es 382 7.500 \n", + "27 es 2242 8.227 \n", + "28 ko 411 8.622 \n", + "29 en 671 7.851 \n", + "30 es 4181 7.300 \n", + "31 en 414 8.245 \n", + "32 es 1925 7.641 \n", + "33 en 1160 7.939 \n", + "34 en 618 8.461 \n", + "35 ko 98 8.597 \n", + "36 en 509 7.998 \n", + "37 ko 232 8.351 \n", + "38 es 1132 7.638 \n", + "39 es 232 7.817 \n", + "40 en 1200 7.138 \n", + "41 en 183 7.806 \n", + "42 en 388 7.696 \n", + "43 ko 601 7.900 \n", + "44 ko 74 8.500 \n", + "45 ko 43 8.800 \n", + "46 en 664 7.525 \n", + "47 en 206 7.800 \n", + "48 pt 179 8.200 \n", + "49 ko 527 7.800 \n", + "50 en 270 7.952 \n", + "51 es 283 7.885 \n", + "52 en 137 7.708 \n", + "53 ko 100 8.490 \n", + "54 da 455 7.584 \n", + "55 es 246 7.419 \n", + "56 ko 85 7.947 \n", + "57 en 442 7.219 \n", + "58 es 233 7.090 \n", + "59 es 167 7.000 \n", + "60 en 96 7.115 \n", + "61 en 120 7.071 \n", + "62 en 54 7.100 \n", + "63 ko 61 7.631 \n", + "64 en 30 7.400 \n", + "65 es 293 7.111 \n", + "66 en 26 7.300 \n", + "67 en 83 7.287 \n", + "68 en 39 7.100 \n", + "69 en 82 7.171 \n", + "70 tr 30 7.400 \n", + "\n", + " TMDb_raw_overview \\\n", + "0 When a young boy vanishes, a small town uncovers a mystery involving secret experiments, terrifying supernatural forces, and one strange little girl. \n", + "1 To carry out the biggest heist in history, a mysterious man called The Professor recruits a band of eight robbers who have a single characteristic... \n", + "2 Hundreds of cash-strapped players accept a strange invitation to compete in children's games—with high stakes. But, a tempting prize awaits the vi... \n", + "3 A dysfunctional family of superheroes comes together to solve the mystery of their father's death, the threat of the apocalypse and more. \n", + "4 Inexperienced Otis channels his sex therapist mom when he teams up with rebellious Maeve to set up an underground sex therapy clinic at school. \n", + "5 A high school becomes ground zero for a zombie virus outbreak. Trapped students must fight their way out — or turn into one of the rabid infected. \n", + "6 Wealth, lust, and betrayal set in the backdrop of Regency era England, seen through the eyes of the powerful Bridgerton family. \n", + "7 A financial adviser drags his family from Chicago to the Missouri Ozarks, where he must launder $500 million in five years to appease a drug boss. \n", + "8 A gangster family epic set in 1919 Birmingham, England and centered on a gang who sew razor blades in the peaks of their caps, and their fierce bo... \n", + "9 This Karate Kid sequel series picks up 30 years after the events of the 1984 All Valley Karate Tournament and finds Johnny Lawrence on the hunt fo... \n", + "10 When three working class kids enroll in the most exclusive school in Spain, the clash between the wealthy and the poor students leads to tragedy. \n", + "11 After landing from a turbulent but routine flight, the crew and passengers of Montego Air Flight 828 discover five years have passed in what seeme... \n", + "12 Shaun Murphy, a young surgeon with autism and savant syndrome, relocates from a quiet country life to join a prestigious hospital's surgical unit.... \n", + "13 Amid the stark discord of twin cities Piltover and Zaun, two sisters fight on rival sides of a war between magic technologies and clashing convict... \n", + "14 After spending seventeen years in prison unfairly, a talented songwriter seeks revenge on the men who sank her and killed her family. \n", + "15 Brilliant attorney Woo Young-woo tackles challenges in the courtroom and beyond as a newbie at a top law firm and a woman on the autism spectrum. \n", + "16 After a traumatic year, all an Indian-American teen wants is to go from pariah to popular -- but friends, family and feeling won't make it easy on... \n", + "17 After years of imprisonment, Morpheus — the King of Dreams — embarks on a journey across worlds to find what was stolen from him and restore his p... \n", + "18 After seeing an ad for a midwife, a recently divorced big-city nurse moves to the redwood forests of California, where she meets an intriguing man. \n", + "19 The “Seven Deadly Sins”—a group of evil knights who conspired to overthrow the kingdom of Britannia—were said to have been eradicated by the Holy ... \n", + "20 A show of heroic deeds and epic battles with a thematic depth that embraces politics, religion, warfare, courage, love, loyalty and our universal ... \n", + "21 When ambitious Chicago marketing exec Emily unexpectedly lands her dream job in Paris, she embraces a new life as she juggles work, friends and ro... \n", + "22 A big-city dentist opens up a practice in a close-knit seaside village, home to a charming jack-of-all-trades who is her polar opposite in every way. \n", + "23 Three siblings who move into their ancestral estate after their father's gruesome murder discover their new home's magical keys, which must be use... \n", + "24 In disguise as her friend, Ha-ri shows up to a blind date to scare him away. But plans go awry when he turns out to be her CEO — and makes a propo... \n", + "25 Following her father's murder, a revenge-driven woman puts her trust in a powerful crime boss — and enters the police force under his direction. \n", + "26 Café con aroma de mujer is a 1994 Colombian telenovela, produced by then programming company RCN TV on state-owned Canal A. It was written and cre... \n", + "27 When a hacker begins releasing students' secrets to the entire high school, the socially isolated but observant Sofía works to uncover his/her ide... \n", + "28 A powerful sorceress in a blind woman's body encounters a man from a prestigious family, who wants her help to change his destiny. \n", + "29 In this sequel to \"Vikings,\" a hundred years have passed and a new generation of legendary heroes arises to forge its own destiny — and make history. \n", + "30 Married Alma spends a fateful weekend away from home that ignites passion, ends in tragedy and leads her to question the truth about those close t... \n", + "31 When a rising high school football player from South Central L.A. is recruited to play for Beverly Hills High, the wins, losses and struggles of t... \n", + "32 The Reyes-Elizondo's idyllic lives are shattered by a murder charge against Eric and León. \n", + "33 See the rise of the Guadalajara Cartel as an American DEA agent learns the danger of targeting narcos in 1980s Mexico. \n", + "34 A coming of age comedy following a diverse group of teenage friends as they confront the challenges of growing up in gritty inner-city Los Angeles. \n", + "35 In a time when dreams seem out of reach, a teen fencer pursues big ambitions and meets a hardworking young man who seeks to rebuild his life. \n", + "36 Three \"good girl\" suburban wives and mothers suddenly find themselves in desperate circumstances and decide to stop playing it safe and risk every... \n", + "37 When the crown prince is killed, his twin sister assumes the throne while trying to keep her identity and affection for her first love a royal sec... \n", + "38 Hell-bent on exacting revenge and proving he was framed for his sister's murder, Álex sets out to unearth much more than the crime's real culprit. \n", + "39 A man hell-bent on exacting revenge on the organ trafficking organization that murdered his wife becomes involved with the woman who received her ... \n", + "40 A woman's daring sexual past collides with her married-with-kids present when the bad-boy ex she can't stop fantasizing about crashes back into he... \n", + "41 Sidelined after an accident, hotshot Los Angeles lawyer Mickey Haller restarts his career - and his trademark Lincoln - when he takes on a murder ... \n", + "42 A widowed mom sets out to solve the mystery surrounding her young son's emerging superpowers while keeping his extraordinary gifts under wraps. \n", + "43 Disguised under the shadows of a mask, a crew of desperados band together under the leadership of a criminal mastermind known only as “The Profess... \n", + "44 Years after filming a viral documentary in high school, two bickering ex-lovers get pulled back in front of the camera — and into each other's lives. \n", + "45 Romance is sweet and bitter — and life riddled with ups and downs — in multiple stories about people who live and work on bustling Jeju island. \n", + "46 An unsettling omen washes ashore in the wake of the storm. Later, when the locals gather for a potluck, tragedy strikes – and a miracle occurs. \n", + "47 Lifelong friends Maddie, Helen and Dana Sue lift each other as they juggle relationships, family and careers in the small, Southern town of Serenity. \n", + "48 Told through three different characters' perspectives, the story of Sintonia explores the interconnection of the music, drug traffic, and religion... \n", + "49 During a perilous 24-hour mission on the moon, space explorers try to retrieve samples from an abandoned research facility steeped in classified s... \n", + "50 Falling in love is tricky for teens Juliette and Calliope: One's a vampire, the other's a vampire hunter — and both are ready to make their first ... \n", + "51 In Cali during the '60s and '70s, two brothers juggle family, romance and the joint pursuit of a burning ambition: to rule Colombia's drug industry. \n", + "52 A motley group of London con artists pull of a series of daring and intricate stings. \n", + "53 Every day is extraordinary for five doctors and their patients inside a hospital, where birth, death and everything in between coexist. \n", + "54 At a grisly murder scene sits a figurine made of chestnuts. From this creepy clue, two detectives hunt a killer linked to a politician's missing c... \n", + "55 Five women with the same birthmark set out to unravel the truth about their pasts and discover a tragic web of lies spun by a powerful politician. \n", + "56 A tough judge balances her aversion to minor offenders with firm beliefs on justice and punishment as she tackles complex cases inside a juvenile ... \n", + "57 An archivist takes a job restoring damaged videotapes and gets pulled into the vortex of a mystery involving the missing director and a demonic cult. \n", + "58 Are you happy? With this question, Zoa and four other attractive young people, very active on social networks, are invited to the most exclusive p... \n", + "59 Alba wakes up on a beach after a rape she doesn't remember. And then she discovers that her rapists are friends of her lover. \n", + "60 The space family Robinson is sent on a five-year mission to find a new planet to colonise. The voyage is sabotaged time and again by an inept stow... \n", + "61 Anthology series centering on the personal and political scandals of Britain’s elite. \n", + "62 Nick and Vanessa Lachey host this social experiment where single men and women look for love and get engaged, all before meeting in person. \n", + "63 Inside a national weather service, love proves just as difficult to predict as rain or shine for a diligent forecaster and her free-spirited co-wo... \n", + "64 An actor returns home after a public meltdown. Partnering with his police detective friend, he tries to use his acting experience to solve real cr... \n", + "65 Join Georgina Rodríguez — mom, influencer, businesswoman and Cristiano Ronaldo's partner — in this emotional and in-depth portrait of her daily life. \n", + "66 The story of a major road accident and a group of people who have never met, but who all share one single defining moment that will change their l... \n", + "67 Modern history can be divided into two time frames: before 9/11 and after 9/11. This five-part docuseries is a cohesive chronicle of the September... \n", + "68 The elite real estate brokers at The Oppenheim Group sell the luxe life to affluent buyers in LA. The drama ramps up when a new agent joins the team. \n", + "69 A world-famous comedian desperately searches for a way out after a night in Philadelphia with his brother threatens to sabotage more than his succ... \n", + "70 Three friends arrive in a seaside town, where they connect with their spiritual selves and suddenly face unresolved trauma from their families' pa... \n", + "\n", + " TMDb_raw_adult TMDb_raw_backdrop_path TMDb_raw_first_air_date \\\n", + "0 False /2MaumbgBlW1NoPo3ZJO38A6v7OS.jpg 2016-07-15 \n", + "1 False /gFZriCkpJYsApPZEF3jhxL4yLzG.jpg 2017-05-02 \n", + "2 False /2meX1nMdScFOoV4370rqHWKmXhY.jpg 2021-09-17 \n", + "3 False /7sqFEDDmK1hG5m92upolcfQxy7R.jpg 2019-02-15 \n", + "4 False /5SEEBS5qXgL5rgivTiAROy1Qt2q.jpg 2019-01-11 \n", + "5 False /jZAtLKNZbQZZLm9OLcY9rdZZV5F.jpg 2022-01-28 \n", + "6 False /aXa6J5vGZQQOLZZv8fK0w0cd2fm.jpg 2020-12-25 \n", + "7 False /gD830J0sf5gEeZvzkRVPdGxJmSR.jpg 2017-07-21 \n", + "8 False /wiE9doxiLwq3WCGamDIOb2PqBqc.jpg 2013-09-12 \n", + "9 False /zymbuoBoL1i94xAOzVJF6IuWLfD.jpg 2018-05-02 \n", + "10 False /tl0mg7lOnS6tP8ngH0QwgMLQdpV.jpg 2018-10-05 \n", + "11 False /iZu83GB1IM7VXL2X90m7iLHYUHU.jpg 2018-09-24 \n", + "12 False /xXRsKNJHTOGrs5wfYAxkbM2RiyT.jpg 2017-09-25 \n", + "13 False /rkB4LyZHo1NHXFEDHl9vSD9r1lI.jpg 2021-11-06 \n", + "14 False /pnyT1foDmmXTsho2DfxN2ePI8ix.jpg 2018-06-12 \n", + "15 False /tmgtlnBnoFvk52xZBO7Z0pTmN9b.jpg 2022-06-29 \n", + "16 False /85HCFXyCmvADwd3gJFyCz34CTAO.jpg 2020-04-27 \n", + "17 False /eqhKMZTLcieAvoH6CBqknTTfNby.jpg 2022-08-05 \n", + "18 False /4nVaMgK7LVRmQ3vNg7eC3qKfRyI.jpg 2019-12-06 \n", + "19 False /n5Ty1KJIRNCXlDHDjcPpUgp57tr.jpg 2014-10-05 \n", + "20 False /uCqXSfHymdbDMsFx8t0u0OPSuve.jpg 2015-10-10 \n", + "21 False /xkKIruOg4NoADdPjJJrvfiJHRdZ.jpg 2020-10-02 \n", + "22 False /qX5DaHmjBDOMz9jGNJ3oESW6Wlq.jpg 2021-08-28 \n", + "23 False /67gGBgMBgmElB88waL2yS2rv91l.jpg 2020-02-07 \n", + "24 False /64TnyodfRC4iLTCXKlqps8iRW7F.jpg 2022-02-28 \n", + "25 False /4LZuFMhLivOSO7zuWAQ3RffMnnr.jpg 2021-10-15 \n", + "26 False /oOqWl3GavxfYiwxegiVyQ5p9NYK.jpg 1994-12-30 \n", + "27 False /gFFedWBZ7s5sPiR9A1IpileWuFf.jpg 2020-05-22 \n", + "28 False /nBZyWSGAUEzCH7Mna0zUNTpBQlQ.jpg 2022-06-18 \n", + "29 False /k47JEUTQsSMN532HRg6RCzZKBdB.jpg 2022-02-25 \n", + "30 False /9CBdzw7CK2m6WpfEfqe73V8i5O0.jpg 2020-07-15 \n", + "31 False /thCj6VEVQlFlup4aJ74kdRhfujB.jpg 2018-10-10 \n", + "32 False /qabMMIpNUUKYFqQxHEWErEEBD8G.jpg 2003-10-21 \n", + "33 False /64jEzC7YeKEpnn1YwjCGRo9ZvOX.jpg 2018-11-16 \n", + "34 False /jt7c70Axkhy7o9u00JT8Lygfd3H.jpg 2018-03-16 \n", + "35 False /jvFfHNiCKPWRULvkmeocyjm4QtE.jpg 2022-02-12 \n", + "36 False /csOIulXwQxsuCFp3ZZ9cYkJmCwH.jpg 2018-02-26 \n", + "37 False /4r7scgI5aUrShN0YzriAatWd15e.jpg 2021-10-11 \n", + "38 False /dYvIUzdh6TUv4IFRq8UBkX7bNNu.jpg 2021-03-24 \n", + "39 False /yOtzSTFdccSd2tfzlTp8UNo2ZHN.jpg 2022-04-20 \n", + "40 False /9nBVkNBe4x9HKDAzxjxlIqecxCW.jpg 2021-06-25 \n", + "41 False /jBFOVEE5sMIyT141YIqIwyU8Y1D.jpg 2022-05-13 \n", + "42 False /fVc8V31Kk1wAyorbg5BrzVSNNiv.jpg 2019-10-04 \n", + "43 False /lcTuggU70y6pt6x13Rv1Ffjs93K.jpg 2022-06-24 \n", + "44 False /7J8QzozUgiFgDCvNadVImhEXEIq.jpg 2021-12-06 \n", + "45 False /w2vVXdKuBucql88wh2s8PRsjWnE.jpg 2022-04-09 \n", + "46 False /4XbQb5YoWK9oMrlQdKwtZ1ccpC8.jpg 2021-09-24 \n", + "47 False /wt60Q4doM2vrubiCsutwaeWncLL.jpg 2020-05-19 \n", + "48 False /9GTFaWPPctyJeJaImg9HVPPbyOf.jpg 2019-08-09 \n", + "49 False /9hNJ3fvIVd4WE3rU1Us2awoTpgM.jpg 2021-12-24 \n", + "50 False /abFQcEO0UJVfUQPmhgjaKeLxRwy.jpg 2022-06-10 \n", + "51 False /iQlel1ftOsnWguxyN98eUmKTOPm.jpg 2021-07-28 \n", + "52 False /q7iwBG89RLMdkXoYGdVxC9rRg8Y.jpg 2004-02-24 \n", + "53 False /5DUqsUZPLdDRzthR08vvQCXoyfJ.jpg 2020-03-12 \n", + "54 False /fIXTetAsXkPO6UUUw85IU4oactf.jpg 2021-09-29 \n", + "55 False /jB27sNxsgITNhr6HavrHywojy8V.jpg 2021-10-06 \n", + "56 False /eW6CqrGSRUk6xMbdCjreMQiP5W8.jpg 2022-02-25 \n", + "57 False /7TYMho2TM6ZcqSv6YaEjlNIyhXn.jpg 2022-01-14 \n", + "58 False /kcHvkFlsodXu1TFgXuOT3OvJYnu.jpg 2022-05-06 \n", + "59 False /2AJcuidWwx8Z4kJPUw2RwiPd3Er.jpg 2021-03-28 \n", + "60 False /upqfQF1LBPf7IRZao0sxt1BHZlx.jpg 1965-09-15 \n", + "61 False /8zPoUJECL6X8G5T95OuJDorHdtV.jpg 2022-04-15 \n", + "62 False /esHT6kpx6XAuvp1ngrngTSmelA8.jpg 2020-02-13 \n", + "63 False /s9n20a4QRilgzcaEh91jWZaS8L9.jpg 2022-02-12 \n", + "64 False /ymxyzXY3NzgaDekXR4WURetjOYQ.jpg 2018-05-15 \n", + "65 False /3SfKp1aTkXdxl1jSsURjHycAHAO.jpg 2022-01-27 \n", + "66 False /hFlvQRRZYtOlv41pChaFdya0CVV.jpg 2009-11-09 \n", + "67 False /pxhxhEKJXznWEavLXJWUxxxdo2X.jpg 2021-09-01 \n", + "68 False /hB2llGkvqcf8sBgEv00HO57eGaa.jpg 2019-03-22 \n", + "69 False /yGpmZYJ8fb543B3tIKjzcRHgJsX.jpg 2021-11-24 \n", + "70 False /5nAikDmnio7SuBFg4KIpC3c50UL.jpg 2022-07-28 \n", + "\n", + " TMDb_raw_last_air_date \\\n", + "0 2022-07-01 \n", + "1 2021-12-03 \n", + "2 2021-09-17 \n", + "3 2022-06-22 \n", + "4 2023-09-21 \n", + "5 2022-01-28 \n", + "6 2022-03-25 \n", + "7 2022-04-29 \n", + "8 2022-04-03 \n", + "9 2022-09-09 \n", + "10 2022-11-18 \n", + "11 2023-06-02 \n", + "12 2023-05-01 \n", + "13 2021-11-20 \n", + "14 2021-09-10 \n", + "15 2022-08-18 \n", + "16 2023-06-08 \n", + "17 2022-08-19 \n", + "18 2023-09-07 \n", + "19 2021-06-23 \n", + "20 2022-03-09 \n", + "21 2022-12-21 \n", + "22 2021-10-17 \n", + "23 2022-08-10 \n", + "24 2022-04-05 \n", + "25 2021-10-15 \n", + "26 1995-07-12 \n", + "27 2022-07-06 \n", + "28 2023-01-08 \n", + "29 2023-01-12 \n", + "30 2022-02-02 \n", + "31 2023-05-15 \n", + "32 2022-05-31 \n", + "33 2021-11-05 \n", + "34 2021-10-04 \n", + "35 2022-04-03 \n", + "36 2021-07-22 \n", + "37 2021-12-14 \n", + "38 2022-05-18 \n", + "39 2023-04-19 \n", + "40 2023-03-02 \n", + "41 2023-08-03 \n", + "42 2022-02-01 \n", + "43 2022-12-09 \n", + "44 2022-01-25 \n", + "45 2022-06-12 \n", + "46 2021-09-24 \n", + "47 2023-07-20 \n", + "48 2023-07-25 \n", + "49 2021-12-24 \n", + "50 2022-06-10 \n", + "51 2021-07-28 \n", + "52 2012-02-17 \n", + "53 2021-09-16 \n", + "54 2021-09-29 \n", + "55 2021-10-06 \n", + "56 2022-02-25 \n", + "57 2022-01-14 \n", + "58 2023-04-21 \n", + "59 2021-06-20 \n", + "60 1968-03-06 \n", + "61 2022-04-15 \n", + "62 2023-09-29 \n", + "63 2022-04-03 \n", + "64 2019-12-20 \n", + "65 2023-03-24 \n", + "66 2009-11-13 \n", + "67 2021-09-01 \n", + "68 2023-05-19 \n", + "69 2021-11-24 \n", + "70 2022-07-28 \n", + "\n", + " TMDb_raw_homepage \\\n", + "0 https://www.netflix.com/title/80057281 \n", + "1 https://www.netflix.com/title/80192098 \n", + "2 https://www.netflix.com/title/81040344 \n", + "3 https://www.netflix.com/title/80186863 \n", + "4 https://www.netflix.com/title/80197526 \n", + "5 https://www.netflix.com/title/81237994 \n", + "6 https://www.netflix.com/title/80232398 \n", + "7 https://www.netflix.com/title/80117552 \n", + "8 https://www.bbc.co.uk/programmes/b045fz8r \n", + "9 https://www.netflix.com/title/81002370 \n", + "10 https://www.netflix.com/title/80200942 \n", + "11 https://www.netflix.com/title/80241318 \n", + "12 https://abc.com/shows/the-good-doctor \n", + "13 https://arcane.com \n", + "14 https://www.caracoltv.com/lareinadelflow \n", + "15 http://ena.skylifetv.co.kr/bbs/board.php?bo_table=skydrama&wr_id=113&sca=최신 \n", + "16 https://www.netflix.com/title/80179190 \n", + "17 https://thesandman.com \n", + "18 https://www.netflix.com/title/80240027 \n", + "19 http://www.7-taizai.net \n", + "20 https://www.netflix.com/title/80074249 \n", + "21 https://www.netflix.com/title/81037371 \n", + "22 http://program.tving.com/tvn/chachacha \n", + "23 https://www.netflix.com/title/80241239 \n", + "24 https://programs.sbs.co.kr/drama/businessproposal \n", + "25 https://www.netflix.com/title/81011211 \n", + "26 NaN \n", + "27 https://www.netflix.com/title/81021245 \n", + "28 https://program.tving.com/tvn/alchemyofsouls \n", + "29 https://www.netflix.com/title/81149450 \n", + "30 https://www.netflix.com/title/81090319 \n", + "31 https://www.cwtv.com/shows/all-american/ \n", + "32 https://www.telemundo.com/shows/pasion-de-gavilanes \n", + "33 https://www.netflix.com/title/80997085 \n", + "34 https://www.netflix.com/title/80117809 \n", + "35 http://program.tving.com/tvn/twentyfivetwentyone \n", + "36 https://www.nbc.com/good-girls \n", + "37 https://program.kbs.co.kr/2tv/drama/thekingsaffection/pc/index.html \n", + "38 https://www.netflix.com/title/81166747 \n", + "39 https://www.netflix.com/title/81261170 \n", + "40 https://www.netflix.com/title/80991848 \n", + "41 https://www.netflix.com/title/81303831 \n", + "42 https://www.netflix.com/title/80117803 \n", + "43 https://www.netflix.com/title/80997343 \n", + "44 https://programs.sbs.co.kr/drama/ourbelovedsummer \n", + "45 http://program.tving.com/tvn/ourblues \n", + "46 https://www.netflix.com/title/81083626 \n", + "47 https://www.netflix.com/title/80239866 \n", + "48 https://www.netflix.com/title/80217315 \n", + "49 https://www.netflix.com/title/81098012 \n", + "50 https://www.netflix.com/title/81213653 \n", + "51 https://www.netflix.com/title/81120861 \n", + "52 http://www.bbc.co.uk/programmes/b007gf9k \n", + "53 http://program.tving.com/tvn/doctorlife/ \n", + "54 https://www.netflix.com/title/81039388 \n", + "55 https://www.netflix.com/title/81167761 \n", + "56 https://www.netflix.com/title/81312802 \n", + "57 https://www.netflix.com/title/80222802 \n", + "58 https://www.netflix.com/title/81211710 \n", + "59 https://premium.atresplayer.com/alba/ \n", + "60 NaN \n", + "61 https://www.netflix.com/title/81152788 \n", + "62 https://www.netflix.com/title/80996601 \n", + "63 http://tv.jtbc.joins.com/weatherpeople \n", + "64 https://www.bravo.ca/Shows/Carter \n", + "65 https://www.netflix.com/title/81423622 \n", + "66 NaN \n", + "67 https://www.netflix.com/title/81315804 \n", + "68 https://www.netflix.com/title/80223108 \n", + "69 https://www.netflix.com/title/81132961 \n", + "70 https://www.netflix.com/title/81380432 \n", + "\n", + " TMDb_raw_in_production TMDb_raw_original_name \\\n", + "0 True Stranger Things \n", + "1 False La Casa de Papel \n", + "2 True 오징어 게임 \n", + "3 True The Umbrella Academy \n", + "4 False Sex Education \n", + "5 True 지금 우리 학교는 \n", + "6 True Bridgerton \n", + "7 False Ozark \n", + "8 False Peaky Blinders \n", + "9 True Cobra Kai \n", + "10 True Élite \n", + "11 False Manifest \n", + "12 True The Good Doctor \n", + "13 True Arcane \n", + "14 False La Reina del Flow \n", + "15 False 이상한 변호사 우영우 \n", + "16 False Never Have I Ever \n", + "17 True The Sandman \n", + "18 True Virgin River \n", + "19 False 七つの大罪 \n", + "20 False The Last Kingdom \n", + "21 True Emily in Paris \n", + "22 False 갯마을 차차차 \n", + "23 False Locke & Key \n", + "24 False 사내맞선 \n", + "25 False 마이 네임 \n", + "26 False Café con Aroma de Mujer \n", + "27 False Control Z \n", + "28 False 환혼 \n", + "29 True Vikings: Valhalla \n", + "30 False Oscuro deseo \n", + "31 True All American \n", + "32 False Pasión de gavilanes \n", + "33 False Narcos: Mexico \n", + "34 False On My Block \n", + "35 False 스물다섯 스물하나 \n", + "36 False Good Girls \n", + "37 False 연모 \n", + "38 False ¿Quién mató a Sara? \n", + "39 False Pálpito \n", + "40 False Sex/Life \n", + "41 True The Lincoln Lawyer \n", + "42 False Raising Dion \n", + "43 True 종이의 집: 공동경제구역 \n", + "44 False 그 해 우리는 \n", + "45 False 우리들의 블루스 \n", + "46 False Midnight Mass \n", + "47 True Sweet Magnolias \n", + "48 True Sintonia \n", + "49 False 고요의 바다 \n", + "50 False First Kill \n", + "51 True El cartel de los sapos: El origen \n", + "52 False Hustle \n", + "53 False 슬기로운 의사생활 \n", + "54 False Kastanjemanden \n", + "55 False La venganza de las Juanas \n", + "56 False 소년심판 \n", + "57 False Archive 81 \n", + "58 False Bienvenidos a Edén \n", + "59 False Alba \n", + "60 False Lost in Space \n", + "61 False Anatomy of a Scandal \n", + "62 True Love Is Blind \n", + "63 False 기상청 사람들: 사내연애 잔혹사 편 \n", + "64 False Carter \n", + "65 True Soy Georgina \n", + "66 False Collision \n", + "67 False Turning Point: 9/11 and the War on Terror \n", + "68 True Selling Sunset \n", + "69 False True Story \n", + "70 False Zeytin Ağacı \n", + "\n", + " TMDb_raw_popularity TMDb_raw_poster_path TMDb_raw_type \\\n", + "0 185.711 /49WJfeN0moxb9IPfGn8AIqMGskD.jpg Scripted \n", + "1 96.354 /reEMJA1uzscCbkpeRJeTT2bjqUp.jpg Scripted \n", + "2 115.587 /dDlEmu3EZ0Pgg93K2SVNLCjCSvE.jpg Scripted \n", + "3 51.859 /qhcwrnnCnN8NE1N6XXKHFmveJR9.jpg Scripted \n", + "4 1008.977 /zn6VNUOHGWKvSGRL6KiMtAe9ELy.jpg Scripted \n", + "5 107.108 /pTEFqAjLd5YTsMD6NSUxV6Dq7A6.jpg Scripted \n", + "6 71.308 /luoKpgVwi1E5nQsi7W0UuKHu2Rq.jpg Scripted \n", + "7 68.006 /m73bD8VjibSKuTWg597GQVyVhSb.jpg Scripted \n", + "8 344.477 /vUUqzWa2LnHIVqkaKVlVGkVcZIW.jpg Scripted \n", + "9 118.256 /m7tG5E1EbywuwTsl6hq990So0Bx.jpg Scripted \n", + "10 100.711 /3NTAbAiao4JLzFQw6YxP1YZppM8.jpg Scripted \n", + "11 111.411 /eTemCphrglLKrXOsNRhYezHA7H9.jpg Scripted \n", + "12 681.614 /luhKkdD80qe62fwop6sdrXK9jUT.jpg Scripted \n", + "13 42.447 /fqldf2t8ztc9aiwn3k6mlX3tvRT.jpg Scripted \n", + "14 129.323 /fuVuDYrs8sxvEolnYr0wCSvtyTi.jpg Scripted \n", + "15 42.923 /zuNOQVI4rEaqwknrfQUVKtlKE2C.jpg Miniseries \n", + "16 80.546 /hd5fnBixab6IzfUwjC5wfdbX3eM.jpg Scripted \n", + "17 64.168 /q54qEgagGOYCq5D1903eBVMNkbo.jpg Scripted \n", + "18 54.192 /rxWHdK7qGFcJIk28UubcduSc1sz.jpg Scripted \n", + "19 10.059 /gxTojpKEOtue85EEFlozwRbDXwJ.jpg Scripted \n", + "20 143.794 /8eJf0hxgIhE6QSxbtuNCekTddy1.jpg Scripted \n", + "21 33.659 /Ak59Y9bzykmV0wAiwKsqrbORDBo.jpg Scripted \n", + "22 35.367 /en6lrlJ1DhyvkeZEqrk3R6EJz1p.jpg Miniseries \n", + "23 27.017 /zuxGfRKziGHPogipnEXXykdDmyT.jpg Scripted \n", + "24 88.533 /iLh7L8ZuvgdxFaM9sImyv2iKYLe.jpg Miniseries \n", + "25 25.525 /h9p1zxKzti35Aqe6xpwkP9NlG7p.jpg Miniseries \n", + "26 20.710 /tvcpeQNt28GQLtNljhuLwgRBRv8.jpg Scripted \n", + "27 20.708 /8VNA0RdrPk8Ec7XVjpeT0Rnui79.jpg Scripted \n", + "28 61.172 /gvOZN1NlAoL8iz9ghpES1zWA3w3.jpg Scripted \n", + "29 59.232 /rDFy1fUU6OC3Mm0CLFB7u0fGwVN.jpg Scripted \n", + "30 90.553 /uxFNAo2A6ZRcgNASLk02hJUbybn.jpg Scripted \n", + "31 140.694 /c8FTtjQcQfqSI0McmVc1OOOf7Z7.jpg Scripted \n", + "32 283.197 /91UV7pNcDPhIzJl7EuK36sK5vRG.jpg Scripted \n", + "33 47.476 /uYcZMiIIUv8NPebpqKbUGhf2M3y.jpg Scripted \n", + "34 16.979 /w6oviv65UEducvjAdH3sYYaxdu2.jpg Scripted \n", + "35 31.730 /yCQFnmYhYf7XALMka2EoBRAFmPO.jpg Miniseries \n", + "36 52.352 /gPjcbxrYfbrJNq1Ja8EGd0XtUnC.jpg Scripted \n", + "37 69.819 /mcfX0IqWibPhF5H4i2Q5gUlwwxk.jpg Scripted \n", + "38 18.157 /o7uk5ChRt3quPIv8PcvPfzyXdMw.jpg Scripted \n", + "39 35.526 /M1q0HuyRnqxP8Si54srsPREFIH.jpg Scripted \n", + "40 124.145 /kfcJl5e8CRWDU7e4vX6uNABPRbS.jpg Scripted \n", + "41 52.395 /9TaupczRcEkOaYbsiQuLg3kXPLq.jpg Scripted \n", + "42 19.093 /nydKXBiLn4vpL1d5o1utbPKYdii.jpg Scripted \n", + "43 46.292 /mbsRGqJtdKcVbjQxkrfzKCAkYoU.jpg Scripted \n", + "44 30.456 /bA15g6OLmhQ2HkURRaCztA2jwqI.jpg Scripted \n", + "45 12.980 /sT5Mlt5UmKiGfBisccwmD4LnPRD.jpg Scripted \n", + "46 21.999 /iYoMZYVD775MtBYJfv6OGY1FsnL.jpg Miniseries \n", + "47 25.831 /n1WDSFOnCCg3cdHHGBywZtYIzf9.jpg Scripted \n", + "48 22.377 /safjAD2bBNT1grB23rFff5ChwDv.jpg Scripted \n", + "49 25.069 /fFT0IgqtCOks4munDTxQwkvNJkd.jpg Scripted \n", + "50 21.147 /hwSy1vVaRzV70ZvAEsl6FGOHNlH.jpg Scripted \n", + "51 42.083 /sjkzeJJOdr59VdkB4BjlSVfJmq2.jpg Scripted \n", + "52 30.738 /6UTmAZnaqcIsWVKSBWm7pDmdDTI.jpg Scripted \n", + "53 21.826 /clYgUKk4CzmKpEukW2I2oDg9k1Q.jpg Scripted \n", + "54 15.750 /tdLJTZJ184PsO9QkK9aPeeAXLlo.jpg Miniseries \n", + "55 18.672 /iFffOCcrtf5mSoGKd2J31d2b5yg.jpg Scripted \n", + "56 14.269 /xH2wTVlsUlYeFEOVGFDaamHkMCm.jpg Scripted \n", + "57 20.088 /l1jeSEm6a88GFcLzlHQr60D0dOi.jpg Scripted \n", + "58 40.482 /kZO0mtTHAgg9QVscLVtwCcQ7Hgx.jpg Scripted \n", + "59 12.840 /pubcatJw5MZNuTJ78atJBkw9crW.jpg Miniseries \n", + "60 412.031 /dGhtCpYZutuso2P3GKWnQnqwhSi.jpg Scripted \n", + "61 13.197 /e1pUQkXbFNI6xH4oDuHnyJoOSib.jpg Scripted \n", + "62 46.558 /gOo6KvUkQI9q0THoUqxI9amnnxL.jpg Reality \n", + "63 16.976 /3Qfh99m0jShWrqlFRsnWY7HeHNX.jpg Scripted \n", + "64 11.552 /ugPqPRSfa6RmraIej6lp7yoeEUK.jpg Scripted \n", + "65 11.560 /70e3SQBIAcjKSibWoyCA7lBMZA8.jpg Reality \n", + "66 5.795 /qXuLNDG9UICDXqG0ciyQpjuW4SX.jpg Scripted \n", + "67 9.194 /jZsV8GInbLWcAX3mAFxE6gE8bTR.jpg Miniseries \n", + "68 9.459 /wUtoD67q4BnRUwikUbT6M38d5oj.jpg Scripted \n", + "69 15.695 /7zMbzJijHQv5oOtkb8rdYarn9X6.jpg Miniseries \n", + "70 10.597 /zogTjQRIJsmg8yvIo8gDLtp65th.jpg Scripted \n", + "\n", + " TMDb_raw_status \\\n", + "0 Returning Series \n", + "1 Ended \n", + "2 Returning Series \n", + "3 Returning Series \n", + "4 Ended \n", + "5 Returning Series \n", + "6 Returning Series \n", + "7 Ended \n", + "8 Ended \n", + "9 Returning Series \n", + "10 Returning Series \n", + "11 Ended \n", + "12 Returning Series \n", + "13 Returning Series \n", + "14 Ended \n", + "15 Ended \n", + "16 Ended \n", + "17 Returning Series \n", + "18 Returning Series \n", + "19 Ended \n", + "20 Ended \n", + "21 Returning Series \n", + "22 Ended \n", + "23 Ended \n", + "24 Ended \n", + "25 Ended \n", + "26 Ended \n", + "27 Ended \n", + "28 Ended \n", + "29 Returning Series \n", + "30 Ended \n", + "31 Returning Series \n", + "32 Ended \n", + "33 Ended \n", + "34 Ended \n", + "35 Ended \n", + "36 Canceled \n", + "37 Ended \n", + "38 Ended \n", + "39 Ended \n", + "40 Canceled \n", + "41 Returning Series \n", + "42 Canceled \n", + "43 Returning Series \n", + "44 Ended \n", + "45 Ended \n", + "46 Ended \n", + "47 Returning Series \n", + "48 Returning Series \n", + "49 Ended \n", + "50 Canceled \n", + "51 Returning Series \n", + "52 Ended \n", + "53 Ended \n", + "54 Ended \n", + "55 Ended \n", + "56 Ended \n", + "57 Canceled \n", + "58 Canceled \n", + "59 Ended \n", + "60 Ended \n", + "61 Ended \n", + "62 Returning Series \n", + "63 Ended \n", + "64 Ended \n", + "65 Returning Series \n", + "66 Ended \n", + "67 Ended \n", + "68 Returning Series \n", + "69 Ended \n", + "70 Ended \n", + "\n", + " TMDb_raw_tagline \\\n", + "0 Every ending has a beginning. \n", + "1 The perfect robbery. \n", + "2 45.6 billion won is child's play \n", + "3 Too many siblings. Not enough timeline. \n", + "4 Growth is a group project. \n", + "5 Hope is the most painful torture for people who want to despair. \n", + "6 Love never plays by the rules. \n", + "7 Their last resort. \n", + "8 London's for the taking \n", + "9 Cobra Kai never dies. \n", + "10 NaN \n", + "11 Make the final connection. \n", + "12 Everyone operates differently. \n", + "13 NaN \n", + "14 NaN \n", + "15 My name is Woo Young-woo, whether it is read straight or flipped. Kayak, deed, rotator, noon, racecar, Woo Young-woo. \n", + "16 Same nerds, new drama. \n", + "17 Dream the world anew. \n", + "18 NaN \n", + "19 NaN \n", + "20 England is born \n", + "21 Tourist season is over. \n", + "22 Eventually, we found each other once again. \n", + "23 Secrets are meant to be unlocked. \n", + "24 If you come any closer, I'm not going to let you go again. \n", + "25 No one can know. My enemy, my revenge. \n", + "26 NaN \n", + "27 Your secrets are not safe. \n", + "28 NaN \n", + "29 Kneel to no one. \n", + "30 NaN \n", + "31 And still we rise. \n", + "32 NaN \n", + "33 The uncut story of Mexico's first cartel. \n", + "34 NaN \n", + "35 NaN \n", + "36 Done playing nice. \n", + "37 NaN \n", + "38 NaN \n", + "39 NaN \n", + "40 Time to choose. \n", + "41 LA's hottest defense attorney just found a new gear. \n", + "42 Energy never dies, it just takes a different form. \n", + "43 Witness a heist like no other. \n", + "44 Let's film the documentary again. \n", + "45 Rooting for you through sour, sweet, and bitter life. \n", + "46 Be not afraid. \n", + "47 NaN \n", + "48 Rewrite your future. \n", + "49 A deserted Moon base. A deadly mission. \n", + "50 You never forget your first. \n", + "51 NaN \n", + "52 The con is on! \n", + "53 The slightly special everyday of us ordinary people \n", + "54 If you find one, he's already found you. \n", + "55 NaN \n", + "56 Young offenders sentenced as monsters. \n", + "57 Rewind to reveal the truth. \n", + "58 NaN \n", + "59 NaN \n", + "60 A space colony family struggles to survive when their ship is hopelessly thrown off course. \n", + "61 Not everyone is entitled to the truth. \n", + "62 Falling in love is the easy part. \n", + "63 NaN \n", + "64 NaN \n", + "65 One in a million. \n", + "66 NaN \n", + "67 History casts a long shadow. \n", + "68 NaN \n", + "69 Betrayal is relative. \n", + "70 NaN \n", + "\n", + " TMDb_raw_genres \\\n", + "0 Drama, Sci-Fi & Fantasy, Mystery \n", + "1 Crime, Drama \n", + "2 Action & Adventure, Mystery, Drama \n", + "3 Action & Adventure, Sci-Fi & Fantasy, Drama \n", + "4 Comedy, Drama \n", + "5 Action & Adventure, Drama, Sci-Fi & Fantasy \n", + "6 Drama \n", + "7 Crime, Drama \n", + "8 Drama, Crime \n", + "9 Action & Adventure, Drama, Comedy \n", + "10 Crime, Mystery, Drama \n", + "11 Drama, Mystery, Sci-Fi & Fantasy \n", + "12 Drama \n", + "13 Animation, Drama, Sci-Fi & Fantasy, Action & Adventure \n", + "14 Drama \n", + "15 Drama \n", + "16 Comedy, Drama \n", + "17 Sci-Fi & Fantasy, Drama \n", + "18 Drama \n", + "19 Action & Adventure, Animation, Sci-Fi & Fantasy \n", + "20 Action & Adventure, Drama, War & Politics \n", + "21 Drama, Comedy \n", + "22 Comedy, Drama \n", + "23 Sci-Fi & Fantasy, Drama, Mystery \n", + "24 Comedy, Drama \n", + "25 Crime, Drama, Mystery, Action & Adventure \n", + "26 Drama \n", + "27 Drama \n", + "28 Sci-Fi & Fantasy, Drama, Action & Adventure, Mystery \n", + "29 Action & Adventure, Drama, War & Politics \n", + "30 Mystery, Drama \n", + "31 Drama \n", + "32 Drama \n", + "33 Drama, Crime \n", + "34 Comedy \n", + "35 Drama \n", + "36 Comedy, Drama, Crime \n", + "37 Drama \n", + "38 Drama, Crime, Mystery \n", + "39 Soap, Mystery \n", + "40 Comedy, Drama \n", + "41 Drama, Crime \n", + "42 Drama, Sci-Fi & Fantasy \n", + "43 Action & Adventure, Crime, Drama, Mystery \n", + "44 Comedy, Drama \n", + "45 Drama \n", + "46 Mystery, Drama, Sci-Fi & Fantasy \n", + "47 Drama \n", + "48 Drama, Crime \n", + "49 Drama, Sci-Fi & Fantasy, Mystery \n", + "50 Drama, Mystery \n", + "51 Crime, Soap \n", + "52 Comedy, Crime, Drama, Mystery \n", + "53 Drama, Comedy \n", + "54 Crime, Drama \n", + "55 Drama \n", + "56 Drama, Crime \n", + "57 Drama, Mystery, Sci-Fi & Fantasy \n", + "58 Action & Adventure, Sci-Fi & Fantasy, Drama \n", + "59 Drama \n", + "60 Sci-Fi & Fantasy \n", + "61 Drama \n", + "62 Reality \n", + "63 Drama \n", + "64 Drama, Comedy, Mystery \n", + "65 Reality \n", + "66 Drama, Crime, Mystery \n", + "67 Documentary, War & Politics \n", + "68 Reality \n", + "69 Drama, Crime \n", + "70 Drama \n", + "\n", + " TMDb_raw_created_by \\\n", + "0 Matt Duffer, Ross Duffer \n", + "1 Álex Pina \n", + "2 Hwang Dong-hyuk \n", + "3 Steve Blackman \n", + "4 Laurie Nunn \n", + "5 Chun Sung-il, JQ Lee, Kim Nam-soo \n", + "6 Chris Van Dusen \n", + "7 Mark Williams, Bill Dubuque \n", + "8 Steven Knight \n", + "9 Jon Hurwitz, Hayden Schlossberg, Josh Heald \n", + "10 Carlos Montero, Darío Madrona \n", + "11 Jeff Rake \n", + "12 David Shore \n", + "13 Christian Linke, Alex Yee \n", + "14 Andrés Salgado \n", + "15 Yoo In-sik, Moon Ji-won \n", + "16 Mindy Kaling, Lang Fisher \n", + "17 David S. Goyer, Neil Gaiman, Allan Heinberg \n", + "18 Sue Tenney \n", + "19 NaN \n", + "20 Stephen Butchard \n", + "21 Darren Star \n", + "22 Yu Je-won, Shin Ha-eun \n", + "23 Carlton Cuse, Meredith Averill, Aron Eli Coleite \n", + "24 Park Seon-ho, Hong Bo-hee, Han Sul-hee \n", + "25 Kim Jin-min, Kim Ba-da \n", + "26 Fernando Gaitán \n", + "27 Adriana Pelusi, Carlos Quintanilla Sakar, Miguel García Moreno \n", + "28 Hong Mi-ran, Hong Jeong-eun, Park Joon-hwa \n", + "29 Jeb Stuart \n", + "30 Leticia López Margalli \n", + "31 April Blair \n", + "32 Julio Jiménez \n", + "33 Chris Brancato, Doug Miro, Carlo Bernard \n", + "34 Jeremy Haft, Eddie Gonzalez, Lauren Iungerich \n", + "35 Jung Jee-hyun, Kwon Do-eun \n", + "36 Jenna Bans \n", + "37 Han Hee-jung \n", + "38 José Ignacio Valenzuela \n", + "39 Leonardo Padrón \n", + "40 Stacy Rukeyser \n", + "41 David E. Kelley \n", + "42 Carol Barbee \n", + "43 Kim Hong-sun, Ryu Yong-jae, Kim Hwan-chae, Choi Sung-joon \n", + "44 Lee Na-eun \n", + "45 Noh Hee-kyung \n", + "46 Mike Flanagan \n", + "47 Sheryl J. Anderson \n", + "48 Felipe Braga, KondZilla \n", + "49 Park Eun-kyo, Choi Hang-yong \n", + "50 V.E. Schwab \n", + "51 Andrés López López \n", + "52 Tony Jordan \n", + "53 Lee Woo-jung, Shin Won-ho \n", + "54 Søren Sveistrup, Mikkel Serup, David Sandreuter, Dorte Warnøe Høgh \n", + "55 Jimena Romero \n", + "56 Hong Jong-chan, Kim Min-seok \n", + "57 Rebecca Sonnenshine \n", + "58 Joaquín Górriz, Guillermo López Sánchez \n", + "59 Carlos Martín, Ignasi Rubio \n", + "60 Irwin Allen \n", + "61 David E. Kelley, Melissa James Gibson \n", + "62 Chris Coelen \n", + "63 Kang Eun-kyung \n", + "64 Garry Campbell \n", + "65 NaN \n", + "66 Anthony Horowitz \n", + "67 NaN \n", + "68 Adam DiVello \n", + "69 Eric Newman \n", + "70 Nuran Evren Şit \n", + "\n", + " TMDb_raw_languages \\\n", + "0 en \n", + "1 es \n", + "2 en, ko, ur \n", + "3 en \n", + "4 en \n", + "5 en, ko \n", + "6 en \n", + "7 en \n", + "8 en \n", + "9 en \n", + "10 es \n", + "11 en \n", + "12 en \n", + "13 en \n", + "14 es \n", + "15 ko \n", + "16 en \n", + "17 en \n", + "18 en \n", + "19 ja \n", + "20 en \n", + "21 en, fr \n", + "22 ko \n", + "23 en \n", + "24 ko \n", + "25 ko \n", + "26 es \n", + "27 es \n", + "28 ko \n", + "29 en \n", + "30 es \n", + "31 en \n", + "32 es \n", + "33 en, es \n", + "34 en, pt \n", + "35 ko \n", + "36 en \n", + "37 ko \n", + "38 es \n", + "39 es \n", + "40 en \n", + "41 en \n", + "42 en \n", + "43 ko \n", + "44 ko \n", + "45 ko \n", + "46 en \n", + "47 en \n", + "48 pt \n", + "49 ko \n", + "50 en \n", + "51 es \n", + "52 en \n", + "53 ko \n", + "54 da \n", + "55 es \n", + "56 ko \n", + "57 en \n", + "58 es \n", + "59 es \n", + "60 en \n", + "61 en \n", + "62 en \n", + "63 ko \n", + "64 en, fr, pt \n", + "65 es \n", + "66 en \n", + "67 en \n", + "68 en \n", + "69 en \n", + "70 tr \n", + "\n", + " TMDb_raw_networks \\\n", + "0 Netflix \n", + "1 Netflix, Antena 3 \n", + "2 Netflix \n", + "3 Netflix \n", + "4 Netflix \n", + "5 Netflix \n", + "6 Netflix \n", + "7 Netflix \n", + "8 BBC One, BBC Two \n", + "9 Netflix, YouTube Premium \n", + "10 Netflix \n", + "11 NBC, Netflix \n", + "12 ABC \n", + "13 Netflix \n", + "14 Caracol TV \n", + "15 ENA \n", + "16 Netflix \n", + "17 Netflix \n", + "18 Netflix \n", + "19 tv asahi, MBS, TV Tokyo, TBS, CBC, TV Aichi, TVQ, TV Osaka, Tulip Television, TVh, SBC, TSC, BSN, tys, Nagasaki Broadcasting Company, HBC, RKK Kum... \n", + "20 Netflix, BBC Two \n", + "21 Netflix \n", + "22 tvN \n", + "23 Netflix \n", + "24 SBS \n", + "25 Netflix \n", + "26 RCN \n", + "27 Netflix \n", + "28 tvN \n", + "29 Netflix \n", + "30 Netflix \n", + "31 The CW \n", + "32 Telemundo \n", + "33 Netflix \n", + "34 Netflix \n", + "35 Netflix, tvN \n", + "36 NBC \n", + "37 KBS2 \n", + "38 Netflix \n", + "39 Netflix \n", + "40 Netflix \n", + "41 Netflix \n", + "42 Netflix \n", + "43 Netflix \n", + "44 SBS \n", + "45 tvN \n", + "46 Netflix \n", + "47 Netflix \n", + "48 Netflix \n", + "49 Netflix \n", + "50 Netflix \n", + "51 Netflix, Caracol TV \n", + "52 BBC One \n", + "53 tvN \n", + "54 Netflix \n", + "55 Netflix \n", + "56 Netflix \n", + "57 Netflix \n", + "58 Netflix \n", + "59 Atresplayer Premium \n", + "60 CBS \n", + "61 Netflix \n", + "62 Netflix \n", + "63 JTBC \n", + "64 bravo, CTV Drama Channel \n", + "65 Netflix \n", + "66 ITV1 \n", + "67 Netflix \n", + "68 Netflix \n", + "69 Netflix \n", + "70 Netflix \n", + "\n", + " TMDb_raw_origin_country TMDb_raw_spoken_languages \\\n", + "0 US English \n", + "1 ES Español \n", + "2 KR English, 한국어/조선말, اردو \n", + "3 US English \n", + "4 GB English \n", + "5 KR English, 한국어/조선말 \n", + "6 US English \n", + "7 US English \n", + "8 GB English \n", + "9 US English \n", + "10 ES Español \n", + "11 US English \n", + "12 US English \n", + "13 US English \n", + "14 CO Español \n", + "15 KR 한국어/조선말 \n", + "16 US English \n", + "17 US English \n", + "18 US English \n", + "19 JP 日本語 \n", + "20 GB English \n", + "21 US English, Français \n", + "22 KR 한국어/조선말 \n", + "23 US English \n", + "24 KR 한국어/조선말 \n", + "25 KR 한국어/조선말 \n", + "26 CO Español \n", + "27 MX Español \n", + "28 KR 한국어/조선말 \n", + "29 US English \n", + "30 MX Español \n", + "31 US English \n", + "32 US Español \n", + "33 US English, Español \n", + "34 US English, Português \n", + "35 KR 한국어/조선말 \n", + "36 US English \n", + "37 KR 한국어/조선말 \n", + "38 MX Español \n", + "39 CO Español \n", + "40 US English \n", + "41 US English \n", + "42 US English \n", + "43 KR 한국어/조선말 \n", + "44 KR 한국어/조선말 \n", + "45 KR 한국어/조선말 \n", + "46 US English \n", + "47 US English \n", + "48 BR Português \n", + "49 KR 한국어/조선말 \n", + "50 US English \n", + "51 CO Español \n", + "52 GB English \n", + "53 KR 한국어/조선말 \n", + "54 DK Dansk \n", + "55 MX Español \n", + "56 KR 한국어/조선말 \n", + "57 US English \n", + "58 ES Español \n", + "59 ES Español \n", + "60 US English \n", + "61 GB, US English \n", + "62 US English \n", + "63 KR 한국어/조선말 \n", + "64 CA, US English, Français, Português \n", + "65 ES Español \n", + "66 GB English \n", + "67 US English \n", + "68 US English \n", + "69 US English \n", + "70 TR Türkçe \n", + "\n", + " TMDb_raw_production_companies \\\n", + "0 21 Laps Entertainment, Monkey Massacre Productions \n", + "1 Vancouver Media \n", + "2 Siren Pictures, Firstman Studio \n", + "3 Dark Horse Entertainment, UCP \n", + "4 Eleven \n", + "5 Film Monster, SLL, Kim Jong-hak Production \n", + "6 ShondaLand \n", + "7 MRC, Zero Gravity Management, Aggregate Films, Man, Woman & Child Productions \n", + "8 Tiger Aspect, BBC Studios, Caryn Mandabach Productions, Screen Yorkshire \n", + "9 Hurwitz & Schlossberg Productions, Sony Pictures Television Studios, Overbrook Entertainment \n", + "10 Zeta Studios \n", + "11 Warner Bros. Television, Compari Entertainment, Universal Television, Jeff Rake Productions \n", + "12 ABC Studios, 3AD, Sony Pictures Television Studios \n", + "13 Fortiche Production, Riot Games \n", + "14 Teleset, Sony Pictures \n", + "15 KT Studio Genie, AStory \n", + "16 Kaling International, Universal Television \n", + "17 Warner Bros. Television, DC Entertainment, Purepop, Phantom Four, The Blank Corporation \n", + "18 Reel World Management \n", + "19 A-1 Pictures, Studio Deen \n", + "20 Carnival Films \n", + "21 MTV Entertainment Studios, Jax Media, Darren Star Productions \n", + "22 Studio Dragon, GTist \n", + "23 Genre Arts, IDW Entertainment, Circle of Confusion \n", + "24 Studio S, Kross Pictures, Kakao Entertainment \n", + "25 Studio Santa Claus Entertainment \n", + "26 RCN \n", + "27 Lemon Studios \n", + "28 Studio Dragon \n", + "29 MGM Television, Metropolitan Films International, History \n", + "30 NaN \n", + "31 Berlanti Productions, Warner Bros. Television, CBS Studios \n", + "32 NaN \n", + "33 Gaumont, Gaumont International Television \n", + "34 Crazy Cat Lady Productions \n", + "35 Hwa&Dam Pictures, Studio Dragon \n", + "36 Amblin Television, Universal Television \n", + "37 Arc Media, Monster Union \n", + "38 NaN \n", + "39 NaN \n", + "40 De Milo \n", + "41 A+E Studios, ABC Signature, David E. Kelley Productions \n", + "42 Outlier Society Productions \n", + "43 BH Entertainment, Content Zium, HighZium Studio \n", + "44 Studio N, Big Ocean ENM, Supermoon Pictures \n", + "45 GTist, Studio Dragon \n", + "46 Intrepid Pictures \n", + "47 Daniel L. Paulson Productions \n", + "48 Losbragas, Gullane Entretenimento, Kondzilla \n", + "49 Artist Company \n", + "50 Belletrist Productions \n", + "51 Caracol Televisión \n", + "52 Kudos, Red Planet Pictures \n", + "53 Egg is Coming, CJ ENM \n", + "54 SAM Productions \n", + "55 Lemon Studios \n", + "56 Gil Pictures, GTist \n", + "57 Atomic Monster \n", + "58 Brutal Media \n", + "59 Boomerang TV \n", + "60 NaN \n", + "61 David E. Kelley Productions, 3dot Productions, Made Up Stories, Endeavor Content, Anonymous Content \n", + "62 Kinetic Content \n", + "63 SLL, npio Entertainment \n", + "64 Amaze Film + Television \n", + "65 NaN \n", + "66 NaN \n", + "67 Luminant Media \n", + "68 Done and Done Productions, Lionsgate Television \n", + "69 HartBeat Productions, Grand Electric \n", + "70 OGM Pictures \n", + "\n", + " TMDb_raw_production_countries \\\n", + "0 United States of America \n", + "1 Spain \n", + "2 South Korea \n", + "3 Canada, United States of America \n", + "4 United Kingdom \n", + "5 South Korea \n", + "6 United States of America \n", + "7 United States of America \n", + "8 United Kingdom \n", + "9 United States of America \n", + "10 Spain \n", + "11 United States of America \n", + "12 United States of America \n", + "13 France, United States of America \n", + "14 Colombia \n", + "15 South Korea \n", + "16 United States of America \n", + "17 United States of America \n", + "18 United States of America \n", + "19 Japan \n", + "20 United Kingdom \n", + "21 United States of America \n", + "22 South Korea \n", + "23 United States of America \n", + "24 South Korea \n", + "25 South Korea \n", + "26 Colombia, United States of America, United Kingdom \n", + "27 Mexico \n", + "28 South Korea \n", + "29 Ireland, United States of America \n", + "30 Mexico \n", + "31 United States of America \n", + "32 NaN \n", + "33 United States of America \n", + "34 United States of America \n", + "35 South Korea \n", + "36 United States of America \n", + "37 South Korea \n", + "38 Mexico \n", + "39 Spain \n", + "40 United States of America \n", + "41 United States of America \n", + "42 United States of America \n", + "43 South Korea \n", + "44 South Korea \n", + "45 South Korea \n", + "46 United States of America \n", + "47 United States of America \n", + "48 Brazil \n", + "49 South Korea \n", + "50 United States of America \n", + "51 Colombia \n", + "52 NaN \n", + "53 South Korea \n", + "54 Denmark \n", + "55 Mexico \n", + "56 South Korea \n", + "57 United States of America \n", + "58 Spain \n", + "59 Spain \n", + "60 NaN \n", + "61 United States of America \n", + "62 United States of America \n", + "63 South Korea \n", + "64 Canada, United States of America \n", + "65 NaN \n", + "66 NaN \n", + "67 Afghanistan, United States of America \n", + "68 United States of America \n", + "69 United States of America \n", + "70 Turkey \n", + "\n", + " TMDb_raw_episode_run_time netflix_viewing_hours_norm netflix_weeks_norm \\\n", + "0 0 1.000000 0.478261 \n", + "1 70 0.392052 0.521739 \n", + "2 0 0.791378 0.782609 \n", + "3 0 0.122492 0.130435 \n", + "4 0 0.174840 0.173913 \n", + "5 65 0.209856 0.391304 \n", + "6 60 0.370147 0.391304 \n", + "7 0 0.242710 0.478261 \n", + "8 58 0.040689 0.130435 \n", + "9 30 0.111435 0.086957 \n", + "10 50 0.092045 0.130435 \n", + "11 42 0.490540 0.608696 \n", + "12 43 0.014731 0.173913 \n", + "13 41 0.029604 0.173913 \n", + "14 53 0.174793 0.608696 \n", + "15 70 0.118710 0.217391 \n", + "16 30 0.080804 0.086957 \n", + "17 0 0.072398 0.043478 \n", + "18 45 0.197276 0.173913 \n", + "19 24 0.002933 0.086957 \n", + "20 60 0.042198 0.130435 \n", + "21 30 0.096448 0.130435 \n", + "22 78 0.081803 0.608696 \n", + "23 47 0.073882 0.130435 \n", + "24 60 0.074143 0.478261 \n", + "25 50 0.043829 0.130435 \n", + "26 45 0.257744 1.000000 \n", + "27 36 0.006614 0.043478 \n", + "28 75 0.020122 0.260870 \n", + "29 51 0.069305 0.130435 \n", + "30 35 0.046968 0.130435 \n", + "31 45 0.039019 0.130435 \n", + "32 0 0.033140 0.130435 \n", + "33 50 0.024149 0.086957 \n", + "34 30 0.003421 0.000000 \n", + "35 75 0.035791 0.347826 \n", + "36 42 0.029201 0.173913 \n", + "37 70 0.023992 0.347826 \n", + "38 40 0.025801 0.086957 \n", + "39 45 0.071874 0.217391 \n", + "40 0 0.075210 0.217391 \n", + "41 50 0.083476 0.173913 \n", + "42 50 0.036240 0.086957 \n", + "43 0 0.009661 0.043478 \n", + "44 60 0.020550 0.260870 \n", + "45 66 0.012080 0.304348 \n", + "46 64 0.025327 0.086957 \n", + "47 50 0.039833 0.130435 \n", + "48 44 0.013607 0.000000 \n", + "49 45 0.006593 0.043478 \n", + "50 49 0.011887 0.043478 \n", + "51 47 0.014574 0.173913 \n", + "52 60 0.045316 0.173913 \n", + "53 93 0.000275 0.217391 \n", + "54 55 0.011745 0.130435 \n", + "55 34 0.038017 0.173913 \n", + "56 61 0.022572 0.217391 \n", + "57 53 0.020757 0.043478 \n", + "58 41 0.024635 0.130435 \n", + "59 60 0.037228 0.173913 \n", + "60 60 0.040632 0.086957 \n", + "61 45 0.035580 0.130435 \n", + "62 0 0.066215 0.130435 \n", + "63 60 0.010546 0.260870 \n", + "64 45 0.039868 0.347826 \n", + "65 40 0.000000 0.043478 \n", + "66 48 0.032230 0.130435 \n", + "67 60 0.003350 0.043478 \n", + "68 32 0.031213 0.086957 \n", + "69 36 0.006968 0.043478 \n", + "70 54 0.006172 0.086957 \n", + "\n", + " tmdb_vote_average_norm tmdb_vote_count_norm 綜合 The Hit 指數 \\\n", + "0 0.902222 0.905952 0.8522 \n", + "1 0.698333 1.000000 0.6011 \n", + "2 0.461667 0.731443 0.6817 \n", + "3 0.891111 0.497754 0.4110 \n", + "4 0.724444 0.371757 0.3691 \n", + "5 0.752222 0.185794 0.4052 \n", + "6 0.635000 0.113363 0.4153 \n", + "7 0.691111 0.109040 0.4043 \n", + "8 0.858889 0.494666 0.3722 \n", + "9 0.677778 0.320494 0.3078 \n", + "10 0.595000 0.493599 0.3108 \n", + "11 0.404444 0.072207 0.4256 \n", + "12 0.835000 0.659293 0.3893 \n", + "13 0.966667 0.186131 0.3631 \n", + "14 0.546111 0.076642 0.3582 \n", + "15 0.823333 0.031387 0.3367 \n", + "16 0.645000 0.085963 0.2521 \n", + "17 0.591111 0.095452 0.2257 \n", + "18 0.573333 0.023695 0.2794 \n", + "19 0.812222 0.262998 0.3015 \n", + "20 0.716667 0.081920 0.2681 \n", + "21 0.430556 0.063223 0.1985 \n", + "22 0.685000 0.023358 0.3594 \n", + "23 0.501667 0.060528 0.2115 \n", + "24 0.790000 0.014318 0.3607 \n", + "25 0.712778 0.038686 0.2611 \n", + "26 0.277778 0.019989 0.3765 \n", + "27 0.681667 0.124424 0.2342 \n", + "28 0.901111 0.021617 0.3328 \n", + "29 0.472778 0.036216 0.1976 \n", + "30 0.166667 0.233296 0.1275 \n", + "31 0.691667 0.021786 0.2505 \n", + "32 0.356111 0.106625 0.1605 \n", + "33 0.521667 0.063672 0.1919 \n", + "34 0.811667 0.033240 0.2497 \n", + "35 0.887222 0.004043 0.3489 \n", + "36 0.554444 0.027120 0.2154 \n", + "37 0.750556 0.011567 0.3049 \n", + "38 0.354444 0.062100 0.1421 \n", + "39 0.453889 0.011567 0.2065 \n", + "40 0.076667 0.065918 0.1027 \n", + "41 0.447778 0.008815 0.1997 \n", + "42 0.386667 0.020326 0.1491 \n", + "43 0.500000 0.032285 0.1669 \n", + "44 0.833333 0.002695 0.3098 \n", + "45 1.000000 0.000955 0.3652 \n", + "46 0.291667 0.035823 0.1191 \n", + "47 0.444444 0.010107 0.1749 \n", + "48 0.666667 0.008591 0.2061 \n", + "49 0.444444 0.028130 0.1486 \n", + "50 0.528889 0.013700 0.1736 \n", + "51 0.491667 0.014430 0.1895 \n", + "52 0.393333 0.006232 0.1696 \n", + "53 0.827778 0.004155 0.2925 \n", + "54 0.324444 0.024088 0.1311 \n", + "55 0.232778 0.012353 0.1198 \n", + "56 0.526111 0.003313 0.2097 \n", + "57 0.121667 0.023358 0.0560 \n", + "58 0.050000 0.011623 0.0515 \n", + "59 0.000000 0.007917 0.0490 \n", + "60 0.063889 0.003930 0.0514 \n", + "61 0.039444 0.005278 0.0512 \n", + "62 0.055556 0.001572 0.0662 \n", + "63 0.350556 0.001965 0.1613 \n", + "64 0.222222 0.000225 0.1502 \n", + "65 0.061667 0.014992 0.0294 \n", + "66 0.166667 0.000000 0.0874 \n", + "67 0.159444 0.003200 0.0582 \n", + "68 0.055556 0.000730 0.0451 \n", + "69 0.095000 0.003144 0.0401 \n", + "70 0.222222 0.000225 0.0863 \n", + "\n", + " log_viewing_hours log_tmdb_vote_count Viewing_hours_million \n", + "0 21.779061 9.690418 2874.26 \n", + "1 20.880441 9.789030 1170.20 \n", + "2 21.551599 9.476850 2289.50 \n", + "3 19.842897 9.092907 414.63 \n", + "4 20.145873 8.802071 561.36 \n", + "5 20.307008 8.112528 659.51 \n", + "6 20.826544 7.623642 1108.80 \n", + "7 20.437715 7.585281 751.60 \n", + "8 19.037703 9.086703 185.34 \n", + "9 19.765215 8.654343 383.64 \n", + "10 19.612449 9.084550 329.29 \n", + "11 21.092247 7.180070 1446.26 \n", + "12 18.539175 9.373224 112.58 \n", + "13 18.854215 8.114325 154.27 \n", + "14 20.145641 7.238497 561.23 \n", + "15 19.817000 6.373320 404.03 \n", + "16 19.511866 7.351158 297.78 \n", + "17 19.429441 7.454141 274.22 \n", + "18 20.252061 6.107023 624.25 \n", + "19 18.191393 8.457655 79.51 \n", + "20 19.060269 7.303843 189.57 \n", + "21 19.649239 7.050123 341.63 \n", + "22 19.521225 6.093570 300.58 \n", + "23 19.444498 7.007601 278.38 \n", + "24 19.447117 5.641907 279.11 \n", + "25 19.084090 6.573680 194.14 \n", + "26 20.492267 5.948035 793.74 \n", + "27 18.313430 7.715570 89.83 \n", + "28 18.665116 6.021023 127.69 \n", + "29 19.397314 6.510258 265.55 \n", + "30 19.128421 8.338545 202.94 \n", + "31 19.012127 6.028279 180.66 \n", + "32 18.916474 7.563201 164.18 \n", + "33 18.749841 7.057037 138.98 \n", + "34 18.208477 6.428105 80.88 \n", + "35 18.960735 4.595120 171.61 \n", + "36 18.846863 6.234411 153.14 \n", + "37 18.746670 5.451038 138.54 \n", + "38 18.782612 7.032624 143.61 \n", + "39 19.424066 5.451038 272.75 \n", + "40 19.457772 7.090910 282.10 \n", + "41 19.536707 5.214936 305.27 \n", + "42 18.968050 5.963579 172.87 \n", + "43 18.404246 6.400257 98.37 \n", + "44 18.674470 4.317488 128.89 \n", + "45 18.470898 3.784190 105.15 \n", + "46 18.773308 6.499787 142.28 \n", + "47 19.024669 5.332719 182.94 \n", + "48 18.510796 5.192957 109.43 \n", + "49 18.312761 6.269096 89.77 \n", + "50 18.465750 5.602119 104.61 \n", + "51 18.535259 5.648974 112.14 \n", + "52 19.105342 4.927254 198.31 \n", + "53 18.093010 4.615121 72.06 \n", + "54 18.461919 6.122493 104.21 \n", + "55 18.996451 5.509388 177.85 \n", + "56 18.717521 4.454347 134.56 \n", + "57 18.678960 6.093570 129.47 \n", + "58 18.759579 5.455321 140.34 \n", + "59 18.983947 5.123964 175.64 \n", + "60 19.036839 4.574711 185.18 \n", + "61 18.957291 4.795791 171.02 \n", + "62 19.364159 4.007333 256.89 \n", + "63 18.429145 4.127134 100.85 \n", + "64 19.025215 3.433987 183.04 \n", + "65 18.082267 5.683580 71.29 \n", + "66 18.900820 3.295837 161.63 \n", + "67 18.206001 4.430817 80.68 \n", + "68 18.883030 3.688879 158.78 \n", + "69 18.324390 4.418841 90.82 \n", + "70 18.299530 3.433987 88.59 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Complete PCA ranking data exported to:\n", + "netflix/data/PCA_Hit_ranking_3features_with_all_Netflix_TMDb_features.csv\n" + ] + } + ], + "source": [ + "# ==============================================================================\n", + "# J. PCA ranking + all Netflix features + all TMDb features\n", + "# Compatible with:\n", + "# Hit_rank, Hit_score, PCA_Hit_original,\n", + "# log_viewing_hours, log_tmdb_vote_count, Viewing_hours_million\n", + "# ==============================================================================\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 1. Prepare data\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "# df:\n", + "# Netflix composite dataset\n", + "#\n", + "# tmdb:\n", + "# TMDb v3 dataset\n", + "#\n", + "# df_hit_rank:\n", + "# PCA-ranked Hit dataset\n", + "\n", + "netflix_all = df.copy()\n", + "tmdb_all = tmdb.copy()\n", + "\n", + "required_objects = {\n", + " \"df_hit_rank\": df_hit_rank,\n", + " \"netflix_all\": netflix_all,\n", + " \"tmdb_all\": tmdb_all\n", + "}\n", + "\n", + "for object_name, dataframe in required_objects.items():\n", + " if not isinstance(dataframe, pd.DataFrame):\n", + " raise TypeError(\n", + " f\"{object_name} is not a valid DataFrame.\"\n", + " )\n", + "\n", + "# Check required ID column\n", + "if \"key\" not in df_hit_rank.columns:\n", + " raise KeyError(\n", + " \"The 'key' column is missing from df_hit_rank.\"\n", + " )\n", + "\n", + "if \"key\" not in netflix_all.columns:\n", + " raise KeyError(\n", + " \"The 'key' column is missing from the Netflix composite dataset.\"\n", + " )\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 2. Preserve PCA-derived columns\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "# Columns created during PCA but not present in the original Netflix CSV\n", + "pca_derived_columns = [\n", + " column\n", + " for column in df_hit_rank.columns\n", + " if column not in netflix_all.columns\n", + " and column != \"key\"\n", + "]\n", + "\n", + "rank_information = df_hit_rank[\n", + " [\"key\"] + pca_derived_columns\n", + "].copy()\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 3. Merge all original Netflix composite features\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "df_ranked_all_features = rank_information.merge(\n", + " netflix_all,\n", + " on=\"key\",\n", + " how=\"left\",\n", + " validate=\"one_to_one\"\n", + ")\n", + "\n", + "print(\n", + " f\"Netflix composite merge completed: \"\n", + " f\"{len(df_ranked_all_features)} Hit titles, \"\n", + " f\"{len(netflix_all.columns)} original Netflix columns.\"\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 4. Construct reliable TMDb matching keys\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "def normalize_title(series):\n", + " \"\"\"\n", + " Normalize titles by removing extra spaces\n", + " and ignoring capitalization differences.\n", + " \"\"\"\n", + " return (\n", + " series\n", + " .astype(\"string\")\n", + " .str.strip()\n", + " .str.casefold()\n", + " .str.replace(r\"\\s+\", \" \", regex=True)\n", + " )\n", + "\n", + "\n", + "# Netflix composite side\n", + "df_ranked_all_features[\"_match_title\"] = normalize_title(\n", + " df_ranked_all_features[\"tmdb_title\"]\n", + ")\n", + "\n", + "df_ranked_all_features[\"_match_popularity\"] = pd.to_numeric(\n", + " df_ranked_all_features[\"tmdb_popularity\"],\n", + " errors=\"coerce\"\n", + ").round(6)\n", + "\n", + "df_ranked_all_features[\"_match_rating\"] = pd.to_numeric(\n", + " df_ranked_all_features[\"tmdb_vote_average\"],\n", + " errors=\"coerce\"\n", + ").round(6)\n", + "\n", + "df_ranked_all_features[\"_match_votes\"] = pd.to_numeric(\n", + " df_ranked_all_features[\"tmdb_vote_count\"],\n", + " errors=\"coerce\"\n", + ").round().astype(\"Int64\")\n", + "\n", + "\n", + "# Original TMDb side\n", + "tmdb_for_merge = tmdb_all.copy()\n", + "\n", + "tmdb_for_merge[\"_match_title\"] = normalize_title(\n", + " tmdb_for_merge[\"name\"]\n", + ")\n", + "\n", + "tmdb_for_merge[\"_match_popularity\"] = pd.to_numeric(\n", + " tmdb_for_merge[\"popularity\"],\n", + " errors=\"coerce\"\n", + ").round(6)\n", + "\n", + "tmdb_for_merge[\"_match_rating\"] = pd.to_numeric(\n", + " tmdb_for_merge[\"vote_average\"],\n", + " errors=\"coerce\"\n", + ").round(6)\n", + "\n", + "tmdb_for_merge[\"_match_votes\"] = pd.to_numeric(\n", + " tmdb_for_merge[\"vote_count\"],\n", + " errors=\"coerce\"\n", + ").round().astype(\"Int64\")\n", + "\n", + "\n", + "match_columns = [\n", + " \"_match_title\",\n", + " \"_match_popularity\",\n", + " \"_match_rating\",\n", + " \"_match_votes\"\n", + "]\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 5. Keep only TMDb candidates required for the current Hit titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "needed_match_keys = (\n", + " df_ranked_all_features[match_columns]\n", + " .drop_duplicates()\n", + " .copy()\n", + ")\n", + "\n", + "tmdb_candidates = tmdb_for_merge.merge(\n", + " needed_match_keys,\n", + " on=match_columns,\n", + " how=\"inner\"\n", + ")\n", + "\n", + "print(\n", + " f\"Current Hit titles: {len(df_ranked_all_features)}; \"\n", + " f\"TMDb candidate records found: {len(tmdb_candidates)}.\"\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 6. Remove duplicate TMDb records\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "# If the same TMDb ID appears more than once, keep only the first record\n", + "if \"id\" in tmdb_candidates.columns:\n", + " tmdb_candidates = tmdb_candidates.drop_duplicates(\n", + " subset=[\"id\"],\n", + " keep=\"first\"\n", + " )\n", + "\n", + "# Detect whether the same matching key still corresponds to multiple records\n", + "duplicate_match_mask = tmdb_candidates.duplicated(\n", + " subset=match_columns,\n", + " keep=False\n", + ")\n", + "\n", + "if duplicate_match_mask.any():\n", + "\n", + " ambiguous_matches = (\n", + " tmdb_candidates.loc[duplicate_match_mask]\n", + " .sort_values(match_columns)\n", + " )\n", + "\n", + " display_columns = [\n", + " column\n", + " for column in [\n", + " \"id\",\n", + " \"name\",\n", + " \"first_air_date\",\n", + " \"last_air_date\",\n", + " \"original_language\",\n", + " \"popularity\",\n", + " \"vote_average\",\n", + " \"vote_count\"\n", + " ]\n", + " if column in ambiguous_matches.columns\n", + " ]\n", + "\n", + " print(\n", + " \"The following titles have multiple possible TMDb matches:\"\n", + " )\n", + "\n", + " display(\n", + " ambiguous_matches[display_columns]\n", + " )\n", + "\n", + " raise ValueError(\n", + " \"Some Hit titles cannot be uniquely matched to TMDb. \"\n", + " \"Additional keys such as release year or TMDb ID are required.\"\n", + " )\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 7. Confirm that every Hit title has exactly one TMDb match\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "match_check = (\n", + " df_ranked_all_features[match_columns]\n", + " .merge(\n", + " tmdb_candidates[match_columns],\n", + " on=match_columns,\n", + " how=\"left\",\n", + " indicator=True\n", + " )\n", + ")\n", + "\n", + "unmatched_count = (\n", + " match_check[\"_merge\"] == \"left_only\"\n", + ").sum()\n", + "\n", + "if unmatched_count > 0:\n", + "\n", + " unmatched_keys = match_check.loc[\n", + " match_check[\"_merge\"] == \"left_only\",\n", + " match_columns\n", + " ]\n", + "\n", + " print(\n", + " f\"{unmatched_count} Hit titles could not be matched to TMDb:\"\n", + " )\n", + "\n", + " display(unmatched_keys)\n", + "\n", + " raise ValueError(\n", + " \"Some Hit titles were not successfully matched \"\n", + " \"to the original TMDb dataset.\"\n", + " )\n", + "\n", + "print(\n", + " \"All Hit titles were successfully matched \"\n", + " \"to unique TMDb records.\"\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 8. Add a prefix to every original TMDb column\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "tmdb_original_columns = list(tmdb_all.columns)\n", + "\n", + "tmdb_prefix_mapping = {\n", + " column: f\"TMDb_raw_{column}\"\n", + " for column in tmdb_original_columns\n", + "}\n", + "\n", + "tmdb_candidates = tmdb_candidates.rename(\n", + " columns=tmdb_prefix_mapping\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 9. Merge all original TMDb features\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "df_ranked_all_features = df_ranked_all_features.merge(\n", + " tmdb_candidates,\n", + " on=match_columns,\n", + " how=\"left\",\n", + " validate=\"one_to_one\"\n", + ")\n", + "\n", + "print(\n", + " f\"TMDb merge completed: \"\n", + " f\"{len(tmdb_original_columns)} original TMDb columns added.\"\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 10. Remove temporary matching columns\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "df_ranked_all_features = df_ranked_all_features.drop(\n", + " columns=match_columns,\n", + " errors=\"ignore\"\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 11. Reorder columns\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "# Main PCA ranking columns\n", + "ranking_front_columns = [\n", + " \"Hit_rank\",\n", + " \"Hit_score\",\n", + " \"PCA_Hit_original\"\n", + "]\n", + "\n", + "ranking_front_columns = [\n", + " column\n", + " for column in ranking_front_columns\n", + " if column in df_ranked_all_features.columns\n", + "]\n", + "\n", + "# All original Netflix composite columns\n", + "netflix_original_columns = [\n", + " column\n", + " for column in netflix_all.columns\n", + " if column in df_ranked_all_features.columns\n", + "]\n", + "\n", + "# All original TMDb columns with prefix\n", + "tmdb_prefixed_columns = [\n", + " f\"TMDb_raw_{column}\"\n", + " for column in tmdb_original_columns\n", + " if f\"TMDb_raw_{column}\"\n", + " in df_ranked_all_features.columns\n", + "]\n", + "\n", + "# Other PCA-derived columns\n", + "other_derived_columns = [\n", + " column\n", + " for column in pca_derived_columns\n", + " if column not in ranking_front_columns\n", + " and column in df_ranked_all_features.columns\n", + "]\n", + "\n", + "ordered_columns = (\n", + " ranking_front_columns\n", + " + netflix_original_columns\n", + " + tmdb_prefixed_columns\n", + " + other_derived_columns\n", + ")\n", + "\n", + "# Remove any duplicate column names while preserving order\n", + "ordered_columns = list(\n", + " dict.fromkeys(ordered_columns)\n", + ")\n", + "\n", + "remaining_columns = [\n", + " column\n", + " for column in df_ranked_all_features.columns\n", + " if column not in ordered_columns\n", + "]\n", + "\n", + "df_ranked_all_features = df_ranked_all_features[\n", + " ordered_columns + remaining_columns\n", + "]\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 12. Preserve the PCA ranking order\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "df_ranked_all_features = (\n", + " df_ranked_all_features\n", + " .sort_values(\n", + " by=\"Hit_rank\",\n", + " ascending=True\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 13. Optional: round important PCA result columns\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "columns_to_round = {\n", + " \"Hit_score\": 2,\n", + " \"PCA_Hit_original\": 4,\n", + " \"Viewing_hours_million\": 2,\n", + " \"tmdb_vote_average\": 3\n", + "}\n", + "\n", + "for column, decimal_places in columns_to_round.items():\n", + " if column in df_ranked_all_features.columns:\n", + " df_ranked_all_features[column] = (\n", + " pd.to_numeric(\n", + " df_ranked_all_features[column],\n", + " errors=\"coerce\"\n", + " ).round(decimal_places)\n", + " )\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 14. Display all combined features\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "print(\"\\n\" + \"=\" * 130)\n", + "print(\n", + " \"PCA-ranked Hit titles with all Netflix and TMDb features\"\n", + ")\n", + "print(\n", + " f\"Number of Hit titles: \"\n", + " f\"{len(df_ranked_all_features)}\"\n", + ")\n", + "print(\n", + " f\"Total number of columns: \"\n", + " f\"{df_ranked_all_features.shape[1]}\"\n", + ")\n", + "print(\n", + " f\"Original Netflix columns: \"\n", + " f\"{len(netflix_original_columns)}\"\n", + ")\n", + "print(\n", + " f\"Original TMDb columns: \"\n", + " f\"{len(tmdb_prefixed_columns)}\"\n", + ")\n", + "print(\n", + " f\"PCA-derived columns: \"\n", + " f\"{len(pca_derived_columns)}\"\n", + ")\n", + "print(\"=\" * 130)\n", + "\n", + "with pd.option_context(\n", + " \"display.max_columns\", None,\n", + " \"display.max_rows\", None,\n", + " \"display.max_colwidth\", 150,\n", + " \"display.width\", None\n", + "):\n", + " display(df_ranked_all_features)\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 15. Export the complete result to CSV\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "output_path = (\n", + " \"netflix/data/\"\n", + " \"PCA_Hit_ranking_3features_with_all_Netflix_TMDb_features.csv\"\n", + ")\n", + "\n", + "df_ranked_all_features.to_csv(\n", + " output_path,\n", + " index=False,\n", + " encoding=\"utf-8-sig\"\n", + ")\n", + "\n", + "print(\n", + " f\"\\nComplete PCA ranking data exported to:\\n\"\n", + " f\"{output_path}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "8c0711e1", + "metadata": {}, + "source": [ + "## our analysis\n", + "IN the 71 \"the hit\"\n", + "\n", + "compared with the attitudes" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "a591acd9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "====================================================================================================\n", + "Genre analysis of PCA-ranked Hit titles\n", + "====================================================================================================\n", + "Number of Hit titles: 71\n", + "Titles without genre information: 0\n", + "\n", + "----------------------------------------------------------------------------------------------------\n", + "Genre frequency among all 71 Hit titles\n", + "----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Genre RankGenreTitle CountPercentage of All Hits (%)
01Drama6287.3
12Mystery1825.4
23Crime1723.9
34Sci-Fi & Fantasy1521.1
45Comedy1318.3
56Action & Adventure1216.9
67Reality34.2
78War & Politics34.2
89Animation22.8
910Soap22.8
1011Documentary11.4
\n", + "
" + ], + "text/plain": [ + " Genre Rank Genre Title Count Percentage of All Hits (%)\n", + "0 1 Drama 62 87.3\n", + "1 2 Mystery 18 25.4\n", + "2 3 Crime 17 23.9\n", + "3 4 Sci-Fi & Fantasy 15 21.1\n", + "4 5 Comedy 13 18.3\n", + "5 6 Action & Adventure 12 16.9\n", + "6 7 Reality 3 4.2\n", + "7 8 War & Politics 3 4.2\n", + "8 9 Animation 2 2.8\n", + "9 10 Soap 2 2.8\n", + "10 11 Documentary 1 1.4" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "----------------------------------------------------------------------------------------------------\n", + "Genres of the top 10 Hit titles\n", + "----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Hit RankTitleHit ScoreGenres
01Stranger Things100.00Drama, Sci-Fi & Fantasy, Mystery
12Money Heist84.49Crime, Drama
23Squid Game82.90Action & Adventure, Mystery, Drama
34The Umbrella Academy74.10Action & Adventure, Sci-Fi & Fantasy, Drama
45Sex Education70.62Comedy, Drama
56All of Us Are Dead68.76Action & Adventure, Drama, Sci-Fi & Fantasy
67Bridgerton67.90Drama
78Ozark64.97Crime, Drama
89Peaky Blinders64.08Drama, Crime
910Cobra Kai64.00Action & Adventure, Drama, Comedy
\n", + "
" + ], + "text/plain": [ + " Hit Rank Title Hit Score Genres\n", + "0 1 Stranger Things 100.00 Drama, Sci-Fi & Fantasy, Mystery\n", + "1 2 Money Heist 84.49 Crime, Drama\n", + "2 3 Squid Game 82.90 Action & Adventure, Mystery, Drama\n", + "3 4 The Umbrella Academy 74.10 Action & Adventure, Sci-Fi & Fantasy, Drama\n", + "4 5 Sex Education 70.62 Comedy, Drama\n", + "5 6 All of Us Are Dead 68.76 Action & Adventure, Drama, Sci-Fi & Fantasy\n", + "6 7 Bridgerton 67.90 Drama\n", + "7 8 Ozark 64.97 Crime, Drama\n", + "8 9 Peaky Blinders 64.08 Drama, Crime\n", + "9 10 Cobra Kai 64.00 Action & Adventure, Drama, Comedy" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "----------------------------------------------------------------------------------------------------\n", + "Genre frequency among the top 10 titles\n", + "----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GenreTop 10 CountTop 10 Percentage (%)
0Drama10100.0
1Action & Adventure440.0
2Crime330.0
3Sci-Fi & Fantasy330.0
4Comedy220.0
5Mystery220.0
\n", + "
" + ], + "text/plain": [ + " Genre Top 10 Count Top 10 Percentage (%)\n", + "0 Drama 10 100.0\n", + "1 Action & Adventure 4 40.0\n", + "2 Crime 3 30.0\n", + "3 Sci-Fi & Fantasy 3 30.0\n", + "4 Comedy 2 20.0\n", + "5 Mystery 2 20.0" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "----------------------------------------------------------------------------------------------------\n", + "Genre comparison: top 10 versus all 71 Hit titles\n", + "----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GenreTop 10 CountTop 10 Percentage (%)Title CountPercentage of All Hits (%)Top-vs-All Difference (percentage points)
0Drama10100.06287.312.7
1Action & Adventure440.01216.923.1
2Sci-Fi & Fantasy330.01521.18.9
3Crime330.01723.96.1
4Comedy220.01318.31.7
5Mystery220.01825.4-5.4
6Documentary00.011.4-1.4
7Animation00.022.8-2.8
8Soap00.022.8-2.8
9Reality00.034.2-4.2
10War & Politics00.034.2-4.2
\n", + "
" + ], + "text/plain": [ + " Genre Top 10 Count Top 10 Percentage (%) Title Count Percentage of All Hits (%) Top-vs-All Difference (percentage points)\n", + "0 Drama 10 100.0 62 87.3 12.7\n", + "1 Action & Adventure 4 40.0 12 16.9 23.1\n", + "2 Sci-Fi & Fantasy 3 30.0 15 21.1 8.9\n", + "3 Crime 3 30.0 17 23.9 6.1\n", + "4 Comedy 2 20.0 13 18.3 1.7\n", + "5 Mystery 2 20.0 18 25.4 -5.4\n", + "6 Documentary 0 0.0 1 1.4 -1.4\n", + "7 Animation 0 0.0 2 2.8 -2.8\n", + "8 Soap 0 0.0 2 2.8 -2.8\n", + "9 Reality 0 0.0 3 4.2 -4.2\n", + "10 War & Politics 0 0.0 3 4.2 -4.2" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "----------------------------------------------------------------------------------------------------\n", + "Genre coverage in the top 10\n", + "----------------------------------------------------------------------------------------------------\n", + "Genres appearing in at least one top-10 title:\n", + "Action & Adventure, Comedy, Crime, Drama, Mystery, Sci-Fi & Fantasy\n", + "\n", + "Genres shared by every top-10 title:\n", + "Drama\n" + ] + } + ], + "source": [ + "# ==============================================================================\n", + "# K. Genre analysis for the 32 PCA-ranked Hit titles\n", + "# ==============================================================================\n", + "\n", + "import ast\n", + "import json\n", + "import re\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 1. Settings\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "TOP_N = 10\n", + "\n", + "DATAFRAME_NAME = \"df_ranked_all_features\"\n", + "GENRE_COLUMN = \"TMDb_raw_genres\"\n", + "RANK_COLUMN = \"Hit_rank\"\n", + "SCORE_COLUMN = \"Hit_score\"\n", + "\n", + "# Automatically select a usable title column\n", + "possible_title_columns = [\n", + " \"netflix_title\",\n", + " \"TMDb_raw_name\",\n", + " \"tmdb_title\",\n", + " \"title\",\n", + " \"name\"\n", + "]\n", + "\n", + "title_column = next(\n", + " (\n", + " column\n", + " for column in possible_title_columns\n", + " if column in df_ranked_all_features.columns\n", + " ),\n", + " None\n", + ")\n", + "\n", + "if title_column is None:\n", + " raise KeyError(\n", + " \"No usable title column was found. \"\n", + " f\"Checked: {possible_title_columns}\"\n", + " )\n", + "\n", + "required_columns = [\n", + " GENRE_COLUMN,\n", + " RANK_COLUMN,\n", + " title_column\n", + "]\n", + "\n", + "missing_columns = [\n", + " column\n", + " for column in required_columns\n", + " if column not in df_ranked_all_features.columns\n", + "]\n", + "\n", + "if missing_columns:\n", + " raise KeyError(\n", + " f\"Missing required columns: {missing_columns}\"\n", + " )\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 2. Robust parser for TMDb_raw_genres\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "def parse_genres(value):\n", + " \"\"\"\n", + " Convert different genre formats into a clean list of genre names.\n", + "\n", + " Supported examples:\n", + " - ['Drama', 'Crime']\n", + " - \"['Drama', 'Crime']\"\n", + " - [{\"id\": 18, \"name\": \"Drama\"}]\n", + " - '[{\"id\": 18, \"name\": \"Drama\"}]'\n", + " - \"Drama, Crime\"\n", + " - \"Drama | Crime\"\n", + " \"\"\"\n", + "\n", + " if value is None:\n", + " return []\n", + "\n", + " if isinstance(value, float) and np.isnan(value):\n", + " return []\n", + "\n", + " parsed_value = value\n", + "\n", + " # Try to parse string representations of Python/JSON objects\n", + " if isinstance(value, str):\n", + " text = value.strip()\n", + "\n", + " if not text or text.casefold() in {\n", + " \"nan\", \"none\", \"null\", \"[]\", \"{}\"\n", + " }:\n", + " return []\n", + "\n", + " parsed_successfully = False\n", + "\n", + " # Try JSON\n", + " try:\n", + " parsed_value = json.loads(text)\n", + " parsed_successfully = True\n", + " except (json.JSONDecodeError, TypeError):\n", + " pass\n", + "\n", + " # Try Python literal syntax\n", + " if not parsed_successfully:\n", + " try:\n", + " parsed_value = ast.literal_eval(text)\n", + " parsed_successfully = True\n", + " except (ValueError, SyntaxError):\n", + " pass\n", + "\n", + " # Fall back to comma, pipe, semicolon, or slash separation\n", + " if not parsed_successfully:\n", + " parsed_value = re.split(\n", + " r\"\\s*[,|;/]\\s*\",\n", + " text\n", + " )\n", + "\n", + " # One dictionary, such as {\"id\": 18, \"name\": \"Drama\"}\n", + " if isinstance(parsed_value, dict):\n", + " parsed_value = [parsed_value]\n", + "\n", + " # Convert one scalar value to a list\n", + " if not isinstance(parsed_value, (list, tuple, set)):\n", + " parsed_value = [parsed_value]\n", + "\n", + " clean_genres = []\n", + "\n", + " for item in parsed_value:\n", + "\n", + " # TMDb dictionary format\n", + " if isinstance(item, dict):\n", + " genre_name = (\n", + " item.get(\"name\")\n", + " or item.get(\"genre\")\n", + " or item.get(\"genre_name\")\n", + " )\n", + " else:\n", + " genre_name = item\n", + "\n", + " if genre_name is None:\n", + " continue\n", + "\n", + " genre_name = str(genre_name).strip()\n", + "\n", + " # Remove unnecessary quotes and brackets\n", + " genre_name = genre_name.strip(\n", + " \"[]{}()\\\"'\"\n", + " ).strip()\n", + "\n", + " if (\n", + " genre_name\n", + " and genre_name.casefold()\n", + " not in {\"nan\", \"none\", \"null\"}\n", + " ):\n", + " clean_genres.append(genre_name)\n", + "\n", + " # Remove duplicates within the same title\n", + " clean_genres = list(dict.fromkeys(clean_genres))\n", + "\n", + " return clean_genres\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 3. Prepare genre lists\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "genre_data = (\n", + " df_ranked_all_features\n", + " .sort_values(RANK_COLUMN)\n", + " .copy()\n", + ")\n", + "\n", + "genre_data[\"Genre_list\"] = (\n", + " genre_data[GENRE_COLUMN]\n", + " .apply(parse_genres)\n", + ")\n", + "\n", + "total_titles = len(genre_data)\n", + "\n", + "if total_titles == 0:\n", + " raise ValueError(\n", + " \"df_ranked_all_features contains no rows.\"\n", + " )\n", + "\n", + "titles_without_genres = (\n", + " genre_data[\"Genre_list\"]\n", + " .map(len)\n", + " .eq(0)\n", + " .sum()\n", + ")\n", + "\n", + "print(\"=\" * 100)\n", + "print(\"Genre analysis of PCA-ranked Hit titles\")\n", + "print(\"=\" * 100)\n", + "print(f\"Number of Hit titles: {total_titles}\")\n", + "print(f\"Titles without genre information: {titles_without_genres}\")\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 4. Overall genre counts across all Hit titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "overall_genre_counts = (\n", + " genre_data[[\"Genre_list\"]]\n", + " .explode(\"Genre_list\")\n", + " .dropna(subset=[\"Genre_list\"])\n", + " .groupby(\"Genre_list\")\n", + " .size()\n", + " .reset_index(name=\"Title Count\")\n", + " .rename(columns={\n", + " \"Genre_list\": \"Genre\"\n", + " })\n", + ")\n", + "\n", + "overall_genre_counts[\"Percentage of All Hits (%)\"] = (\n", + " overall_genre_counts[\"Title Count\"]\n", + " / total_titles\n", + " * 100\n", + ")\n", + "\n", + "overall_genre_counts = (\n", + " overall_genre_counts\n", + " .sort_values(\n", + " by=[\n", + " \"Title Count\",\n", + " \"Genre\"\n", + " ],\n", + " ascending=[\n", + " False,\n", + " True\n", + " ]\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "overall_genre_counts.insert(\n", + " 0,\n", + " \"Genre Rank\",\n", + " range(1, len(overall_genre_counts) + 1)\n", + ")\n", + "\n", + "overall_genre_counts[\n", + " \"Percentage of All Hits (%)\"\n", + "] = overall_genre_counts[\n", + " \"Percentage of All Hits (%)\"\n", + "].round(1)\n", + "\n", + "print(\"\\n\" + \"-\" * 100)\n", + "print(f\"Genre frequency among all {total_titles} Hit titles\")\n", + "print(\"-\" * 100)\n", + "\n", + "display(overall_genre_counts)\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 5. Display genres for each of the top-N titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "actual_top_n = min(\n", + " TOP_N,\n", + " total_titles\n", + ")\n", + "\n", + "top_n_data = (\n", + " genre_data\n", + " .head(actual_top_n)\n", + " .copy()\n", + ")\n", + "\n", + "top_n_data[\"Genres\"] = (\n", + " top_n_data[\"Genre_list\"]\n", + " .apply(\n", + " lambda genre_list:\n", + " \", \".join(genre_list)\n", + " if genre_list\n", + " else \"Missing\"\n", + " )\n", + ")\n", + "\n", + "top_title_columns = [\n", + " RANK_COLUMN,\n", + " title_column\n", + "]\n", + "\n", + "if SCORE_COLUMN in top_n_data.columns:\n", + " top_title_columns.append(SCORE_COLUMN)\n", + "\n", + "top_title_columns.append(\"Genres\")\n", + "\n", + "top_titles_genre_table = (\n", + " top_n_data[top_title_columns]\n", + " .copy()\n", + ")\n", + "\n", + "top_titles_genre_table = top_titles_genre_table.rename(columns={\n", + " RANK_COLUMN: \"Hit Rank\",\n", + " title_column: \"Title\",\n", + " SCORE_COLUMN: \"Hit Score\"\n", + "})\n", + "\n", + "if \"Hit Score\" in top_titles_genre_table.columns:\n", + " top_titles_genre_table[\"Hit Score\"] = (\n", + " pd.to_numeric(\n", + " top_titles_genre_table[\"Hit Score\"],\n", + " errors=\"coerce\"\n", + " ).round(2)\n", + " )\n", + "\n", + "print(\"\\n\" + \"-\" * 100)\n", + "print(f\"Genres of the top {actual_top_n} Hit titles\")\n", + "print(\"-\" * 100)\n", + "\n", + "display(top_titles_genre_table)\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 6. Genre counts among the top-N titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "top_n_genre_counts = (\n", + " top_n_data[[\"Genre_list\"]]\n", + " .explode(\"Genre_list\")\n", + " .dropna(subset=[\"Genre_list\"])\n", + " .groupby(\"Genre_list\")\n", + " .size()\n", + " .reset_index(name=f\"Top {actual_top_n} Count\")\n", + " .rename(columns={\n", + " \"Genre_list\": \"Genre\"\n", + " })\n", + ")\n", + "\n", + "top_n_genre_counts[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + "] = (\n", + " top_n_genre_counts[\n", + " f\"Top {actual_top_n} Count\"\n", + " ]\n", + " / actual_top_n\n", + " * 100\n", + ")\n", + "\n", + "top_n_genre_counts = (\n", + " top_n_genre_counts\n", + " .sort_values(\n", + " by=[\n", + " f\"Top {actual_top_n} Count\",\n", + " \"Genre\"\n", + " ],\n", + " ascending=[\n", + " False,\n", + " True\n", + " ]\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "top_n_genre_counts[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + "] = top_n_genre_counts[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + "].round(1)\n", + "\n", + "print(\"\\n\" + \"-\" * 100)\n", + "print(f\"Genre frequency among the top {actual_top_n} titles\")\n", + "print(\"-\" * 100)\n", + "\n", + "display(top_n_genre_counts)\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 7. Compare top-N genre prevalence with all Hit titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "genre_comparison = top_n_genre_counts.merge(\n", + " overall_genre_counts[[\n", + " \"Genre\",\n", + " \"Title Count\",\n", + " \"Percentage of All Hits (%)\"\n", + " ]],\n", + " on=\"Genre\",\n", + " how=\"outer\"\n", + ")\n", + "\n", + "genre_comparison[\n", + " f\"Top {actual_top_n} Count\"\n", + "] = genre_comparison[\n", + " f\"Top {actual_top_n} Count\"\n", + "].fillna(0).astype(int)\n", + "\n", + "genre_comparison[\"Title Count\"] = (\n", + " genre_comparison[\"Title Count\"]\n", + " .fillna(0)\n", + " .astype(int)\n", + ")\n", + "\n", + "genre_comparison[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + "] = genre_comparison[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + "].fillna(0)\n", + "\n", + "genre_comparison[\n", + " \"Percentage of All Hits (%)\"\n", + "] = genre_comparison[\n", + " \"Percentage of All Hits (%)\"\n", + "].fillna(0)\n", + "\n", + "genre_comparison[\n", + " \"Top-vs-All Difference (percentage points)\"\n", + "] = (\n", + " genre_comparison[\n", + " f\"Top {actual_top_n} Percentage (%)\"\n", + " ]\n", + " -\n", + " genre_comparison[\n", + " \"Percentage of All Hits (%)\"\n", + " ]\n", + ").round(1)\n", + "\n", + "genre_comparison = (\n", + " genre_comparison\n", + " .sort_values(\n", + " by=[\n", + " f\"Top {actual_top_n} Count\",\n", + " \"Top-vs-All Difference (percentage points)\",\n", + " \"Title Count\"\n", + " ],\n", + " ascending=[\n", + " False,\n", + " False,\n", + " False\n", + " ]\n", + " )\n", + " .reset_index(drop=True)\n", + ")\n", + "\n", + "print(\"\\n\" + \"-\" * 100)\n", + "print(\n", + " f\"Genre comparison: top {actual_top_n} \"\n", + " f\"versus all {total_titles} Hit titles\"\n", + ")\n", + "print(\"-\" * 100)\n", + "\n", + "display(genre_comparison)\n", + "\n", + "\n", + "# ------------------------------------------------------------------------------\n", + "# 8. Union and intersection of genres in the top-N titles\n", + "# ------------------------------------------------------------------------------\n", + "\n", + "top_genre_sets = [\n", + " set(genres)\n", + " for genres in top_n_data[\"Genre_list\"]\n", + " if genres\n", + "]\n", + "\n", + "if top_genre_sets:\n", + " genres_appearing_in_top_n = sorted(\n", + " set.union(*top_genre_sets)\n", + " )\n", + "\n", + " genres_shared_by_all_top_n = sorted(\n", + " set.intersection(*top_genre_sets)\n", + " )\n", + "else:\n", + " genres_appearing_in_top_n = []\n", + " genres_shared_by_all_top_n = []\n", + "\n", + "print(\"\\n\" + \"-\" * 100)\n", + "print(f\"Genre coverage in the top {actual_top_n}\")\n", + "print(\"-\" * 100)\n", + "\n", + "print(\n", + " f\"Genres appearing in at least one top-{actual_top_n} title:\"\n", + ")\n", + "print(\n", + " \", \".join(genres_appearing_in_top_n)\n", + " if genres_appearing_in_top_n\n", + " else \"None\"\n", + ")\n", + "\n", + "print(\n", + " f\"\\nGenres shared by every top-{actual_top_n} title:\"\n", + ")\n", + "print(\n", + " \", \".join(genres_shared_by_all_top_n)\n", + " if genres_shared_by_all_top_n\n", + " else \"No single genre is shared by every top-ranked title.\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4aafebba", + "metadata": {}, + "source": [ + "## our analysis\n", + "Tabele analysis\n" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "06cdbc65", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 【前 10 筆資料預覽】 ---\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Hit_rankHit_scorenetflix_titleTMDb_raw_original_languageTMDb_raw_origin_countryTMDb_raw_number_of_seasonsTMDb_raw_number_of_episodesTMDb_raw_vote_averageTMDb_raw_popularityTMDb_raw_genresAvg_episodes_per_season
01100.00Stranger ThingsenUS4348.624185.711Drama, Sci-Fi & Fantasy, Mystery8.5
1284.49Money HeistesES3418.25796.354Crime, Drama13.7
2382.90Squid GamekoKR297.831115.587Action & Adventure, Mystery, Drama4.5
3474.10The Umbrella AcademyenUS4328.60451.859Action & Adventure, Sci-Fi & Fantasy, Drama8.0
4570.62Sex EducationenGB4328.3041008.977Comedy, Drama8.0
5668.76All of Us Are DeadkoKR2128.354107.108Action & Adventure, Drama, Sci-Fi & Fantasy6.0
6767.90BridgertonenUS3248.14371.308Drama8.0
7864.97OzarkenUS4448.24468.006Crime, Drama11.0
8964.08Peaky BlindersenGB6368.546344.477Drama, Crime6.0
91064.00Cobra KaienUS6508.220118.256Action & Adventure, Drama, Comedy8.3
\n", + "
" + ], + "text/plain": [ + " Hit_rank Hit_score netflix_title TMDb_raw_original_language TMDb_raw_origin_country TMDb_raw_number_of_seasons TMDb_raw_number_of_episodes TMDb_raw_vote_average TMDb_raw_popularity TMDb_raw_genres Avg_episodes_per_season\n", + "0 1 100.00 Stranger Things en US 4 34 8.624 185.711 Drama, Sci-Fi & Fantasy, Mystery 8.5\n", + "1 2 84.49 Money Heist es ES 3 41 8.257 96.354 Crime, Drama 13.7\n", + "2 3 82.90 Squid Game ko KR 2 9 7.831 115.587 Action & Adventure, Mystery, Drama 4.5\n", + "3 4 74.10 The Umbrella Academy en US 4 32 8.604 51.859 Action & Adventure, Sci-Fi & Fantasy, Drama 8.0\n", + "4 5 70.62 Sex Education en GB 4 32 8.304 1008.977 Comedy, Drama 8.0\n", + "5 6 68.76 All of Us Are Dead ko KR 2 12 8.354 107.108 Action & Adventure, Drama, Sci-Fi & Fantasy 6.0\n", + "6 7 67.90 Bridgerton en US 3 24 8.143 71.308 Drama 8.0\n", + "7 8 64.97 Ozark en US 4 44 8.244 68.006 Crime, Drama 11.0\n", + "8 9 64.08 Peaky Blinders en GB 6 36 8.546 344.477 Drama, Crime 6.0\n", + "9 10 64.00 Cobra Kai en US 6 50 8.220 118.256 Action & Adventure, Drama, Comedy 8.3" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "完整特徵表(含平均值)已匯出至:netflix/data/hit_shows_features_with_averages.csv\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/m3/mxn0108j41x3cp5x3trm41fh0000gn/T/ipykernel_4816/458829596.py:99: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.barplot(x=language_counts.index, y=language_counts.values, palette=\"viridis\")\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAHVCAYAAAA+flDfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVoBJREFUeJzt3Qm8lPP///9X+75v2nQqWimULZFEiCiVLSURn1A+1iJbSKIiHxVZ6iNLSEQfQihbpezti1LaNyXtNf/b8/39XfOfM2fmnDnnzDkz51yP++125MzMmXnPdc3yfl6v9/t9FQgEAgEDAAAAAJ8qmOgGAAAAAEAiEYoAAAAA+BqhCAAAAICvEYoAAAAA+BqhCAAAAICvEYoAAAAA+BqhCAAAAICvEYoAAAAA+FrhRDcAQNatXbvWHn74YbvtttusWbNmWbqPmTNn2sSJE+0///mPlSxZMi6748knn7TixYtb//79U12+evVq++CDD6x3795WunRpy0179+61UaNG2TXXXGO1atUKXv7WW2+5592xY0fLi55//nlr2bKl+wm3fft2e/311+3qq6+2SpUq5VqbPvroI3v33Xdjvn337t3tnHPOsdz22Wef2bp166xXr165/tgAgORCKALysN27d9s333zjOvrh7rzzTvvrr79SXaaOpzqgodQp1H0cOnTI/f7FF1+4jnR6zjzzzHQ7kr/99lvEgPXnn3/a6NGjXQBJLxRt3LjRBg0alG4bRo4caeXKlUt1mdp98cUXp7lcXn31VfejgOAJBAI2duxYq1+/fq6FonHjxtncuXMz/XcdOnSwLl26pLn8nXfecdsrUiiaMWOGPffcc25/RQtFS5YssaeeeirN5aeffrrNnj07w3b17ds3zWMff/zxmQq9xxxzTEy3e/vtt134b9SoUfCyOXPmuNfsfffdZ5ml4Kb3CKEIAEAoAuJs//79dvPNN6d7mwYNGtiAAQOiVn8eeeQRVwGqWbNmmiP/d999d/D3f/75x/2rKs9rr73m/r9IkSKueqDO4sknn2yXXXaZHT582Pr16+ceN5yCQaj169e7kKTOe4ECBdLcXu066qijUl02bdo0e++994K/L1261AoVKmTXX3998DKFjoIF/2/EbokSJdLdPnpeasO///1va9q0aarr9LxefvllO3DgQKrLX3rpJRs+fLjVqFHD2rZt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Sa1atWzEiBHu/w8fPmyFChWKZ7sAAAAAILlD0eeff25ffPGFbd++3c0lCvfoo4+6ihIAAAAA5LtQNHXqVLvnnnusQoUKVr16dStQoECa20QKSgAAAACQL0LRu+++685TdO+99zJsDgAAAID/luTetm2bdenShUAEAAAAwJ+hqFGjRrZixYr4twYAAAAA8kIouuWWW2zs2LH21Vdf2Z49e+LfKgAAAABItjlF5513njsxa/hJXKP59NNPrU6dOtlrHQAAAAAkSyjq1auX7dy5M+Y7Ll++fFbbBAAAAADJF4q6d++esy0BAAAAgLwwp+jPP/+0yZMn2+HDh93vu3fvtieeeMIuv/xyu/nmm+3XX3/NiXYCAAAAQOJD0bhx46x9+/Y2aNAg27Fjh7vs9ttvt7feessKFixov/zyizt/0dKlS3OmtQAAAACQqFC0YMECGzVqlBtGN2nSJKtQoYL9+OOPtnLlSps+fbq77Msvv7Q2bdrY008/He92AgAAAEBi5xS99tprdu2119o999wTvOybb76xa665xqpVq+Z+L1q0qD344IPWrl07O3LkiKseAQAAAEAyizm1rFq1yi3LHUoncG3ZsmWqyypXrmxlypSxLVu2xK+VAAAAAJDoULR//34rVqxYqst03qKUlJQ0t9XiC4UKFYpPCwEAAAAgGUJRjRo17IcffkgVfHTeorJly6a63bx581wgqlSpUnxbCgAAAACJnFPUoUMHe+SRR6xixYquOvTKK6/YKaeckuo2GzdutMGDB9s555xjBQoUyIn2AgAAAEBiQtGFF15oH3zwgd1xxx3u9+rVq9vEiROD19955532ySefWPny5d0y3QAAAACQr0KRhsS98MILNnfuXPvnn3/s5JNPTjV0TivPXXbZZe4ErkcddVROtRcAAAAAEhOKREPiTjvttIjXDR06NF5tAgAAAIBcw4mEAAAAAPgaoQgAAACArxGKAAAAAPgaoQgAAACAr8UciiZMmGC7du1y/3/gwAELBAI52S4AAAAASK5Q9Pbbb7uTs8pFF11ka9asiUsD9u7da0888YRbzrt79+7WpUsXmzFjRprHbtu2rTVt2tQ6d+5sP/74Y1weGwAAAABiXpJb5yTSeYratWvngszXX39tixcvjnr7s846y0qWLJnh/T788MMubL3xxhtWvHhx++2331w4euWVV6xly5b25Zdf2uOPP27PP/+8nXjiie7fG2+80aZPn26VK1dmDwIAAADInVB0zTXX2IABA2zatGnu90cffTTd23/66adWp06ddG9z6NAhmzdvnt1zzz0uEMnxxx9vrVq1snfffdeFIoUjVY+88yP179/f3n//fZsyZYoLRwAAAACQK6Ho4osvtrPPPtu2bNlivXv3dqGoevXqUW9fo0aNjB+8cGH74osvIl63Z88eO3LkiP3888921VVXpTqB7EknncQQOgAAAAC5G4qkdOnS7ueGG25wFZ1y5crZ2rVrbfv27VamTBlLSUmxggWzt6DdX3/9ZfPnz3fVo61bt7pFHapWrZrqNvr9u+++i3ofGt6XEYWrEiVKZKutiI32BwtzAAAAIDfFkgmyFIo8mvMze/ZsNx9o9erVwcvLly9vffv2tV69ellWadGFWrVquQUVvIUdihYtmuo2Gmq3b9++qPcR2qZoFIiaNGmS5XYidqtWrcrUixIAAADITVkKRUuWLHHzeRo3bmz33XefVatWzXbs2OGqN8OGDXOB44orrsjUfaqSMHz4cPv111/d8t9FihQJzjPav39/qtvq9/SqPKpYZVQFUqUIuaNu3bpUigAAAJCrdFA+lmJJlkORFj8477zzbOTIkaku19wfLYAwatSoTIWinTt3ukUcDh48aG+++aYblieVKlVyVaLNmzenuv2mTZvSnc+kQBTLynfIHQxTBAAAQDLL0gQgLcXdo0ePiNdp2Nvu3btdcInFunXrrFu3bq7a9OKLLwYDkWtcwYJuGW6tUBdaUdJ5irQyHQAAAAAkJBRp1bhoc0RU7dGPhr9lRKvL3XzzzVaxYkV74IEH3O9apls/hw8fdre57rrrXPVp1qxZLmw988wzbmU6newVAAAAALIrS8PnVKV59tlnrVmzZm41Oo9CjeYFHX300S7oZOSHH36w5cuXu//XfYVq0aKFTZw40dq2besC05AhQ9wwukaNGrnhexUqVMhK0wEAAAAg+6GoT58+bphcu3btrE2bNm6JbM0L+v77723NmjX2/PPPx3Q/J598si1atCjD22l4nX4AAAAAIClCkULQW2+9ZU8//bQb1qZzCxUrVsxVex588EE744wz4t5QAAAAAEiaUCQ6l9CIESPc/2v+T6FCheLZLgAAAABI3oUWwhGIAAAAAPg6FAEAAABAXkUoAgAA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/m3/mxn0108j41x3cp5x3trm41fh0000gn/T/ipykernel_4816/458829596.py:110: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.barplot(\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABWgAAAJICAYAAAD8eA38AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsvQWYncX5hz0JwV0KFCmB4l4I7tZQXAuB4kULBIoHCC4FErRA0AANHrxYAkWK2x8CBIoFd4cIIXm/657vm/3enJzdbHYX3tnNfV/XuXb3rM2ZM/LM75HpVBRFEURERERERERERETkV6fzr/8vRURERERERERERAQUaEVEREREREREREQqQoFWREREREREREREpCIUaEVEREREREREREQqQoFWREREREREREREpCIUaEVEREREREREREQqQoFWREREREREREREpCIUaEVEREREREREREQqQoFWREREREREREREpCIUaEVERDKhKIqwyCKLhEsuuaTN/ua///3v+Dc/+eST8b63xx57hIEDB4Yq+Pvf/x7OPvvscZ578sknw9Zbbx3efvvtX60d1113XWzL6NGj637/6KOPDhdddFGL388ffvghvP/++2HIkCHhnnvuCf369Qv7779/WGuttcILL7wwwb9x4YUXhm7dutX9Hv3Xu3fv8Gvy1Vdfhc022yy8+OKL4/XjnnvuGX788cdftT0iIiIiIh2BLlU3QERERP5fxo4dO05X/Pzzz2GJJZaYYPe88soroUuXid/S33rrrfDmm29O8Od22mmn8PTTTzf6fQTHAw44YJznbrrppvj3jzzyyPF+/vnnn4/C8UknnTTO84MGDQqvv/56mG222cKvxTXXXBPmmWeeMPnkk4/3vQ8//DDceeed4cADD5zg37nhhhvi6+F94H3s3LlzmGqqqcLIkSPj+7jggguG3/3ud6Fr165hyy23DKeddlqYfvrp6/6t1VZbLXzxxRfjPIfInjj22GPDX/7yl/Dpp5+Gzz77bIJto68RoZsLr2XZZZet+73/+7//i+9RLffff3944403wrTTTjvBv//II49EMbclbLTRRuMJ+yIiIiIi7R0FWhERkUwg4rIeSZCr5V//+td4IicRjqusssp4P0vEZmKmmWYK//3vf8OXX37ZLEEN1ltvvRjNWcsf/vCH8Z677bbbwvHHHx/23nvv8b6HYElUanpdPGpZYYUVxnvujDPOCJtvvnloSxAVEZFPPvnkGOn6zTffxP586KGHxvm5M888Mz4SDz/8cJhzzjnH+ZntttsuPmo5+OCDo9B74403TlTbjjrqqLDrrrvGPr/iiivCs88+O15/ExX9+9//vk2E1+by3HPPhRlnnHEcx8H//ve/8MQTTzREgNeyzDLL1H39d99990S1/89//vNEtbV///7hjjvuCOeee25Yf/31m/U7m266aTjrrLPCr82YMWPC9ddfHx/vvvtudFIw3vfbb7+6zoPBgwfHyG5EcYT+ddddNxxyyCFxbjeHl19+OVx66aXx/fz666/DNNNMExZaaKH4P7fZZpsw2WSTjSeoM0+23Xbb0J75tV/LxPTzpA7ZAKzB5513XtVNERERqQQFWhERkQzo1atXmHrqqRu+RpC7+eab4+eIhrVCbGPMMsss40Q4pujJWlGRlPuffvopzDrrrM36uw888EBd8a0Mf++CCy6IafyID7VRtQh4CI+UMOjevfs4B3FEqT/+8Y/h4osvDuuss074paGtiK78z+WWWy6KA48++mhYYIEFosDN67j99tujYIbgjJBy7733hp49e473txBREQGborG+23nnnRsE63JkKRG2POr9PmOB/nr11VejMIpQX36fiAj+paAP1lxzzYaIbaKFTznllNCpU6ew+uqrh8suu6xh/O64444x2pWo16aY0LhC4OJ/TgyUleA9YSzSttzBAYGgnEDUZ1wxl2sdIwjbCP+JUaNGRQGcOY0IP+WUUzb5vx588ME4N4nsTnz33XdRRORx3333xTIrLYnKF/u5pTAmN9hgg7jGbLjhhg4lERGZ5NDyEhERyQDS1YmuShD5l+rGTkwEbXN57LHH4kciXXkkaoXT5kTQIvQgBCOuEpH6t7/9LR62y8IYgihCJHVYp5hiiigC1RPm9tlnn/Geo8zAwgsvHNqKjz76KEa7EkFMdCp9gcBFXxKZiJC8ww47RCF5xRVXjEIj9WL33Xffun+PKEce5feyR48eUWRD5Jpjjjni659uuuliSYXf/OY3df8OIiSCHCUOEGobi6AlUnLppZcOV199dRR1iTqjLix925Q4Wy/Cd2KibKk7+8EHH8T3kfeOdtCXiHp9+vQJhx56aHxfV1111XDcccfFtv7pT38KzeHwww+PNZHLMJYmJO42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kpdob8pjiLQEMhrIMkCcJd2eGsryy0FJhgEDBoQjjjhCcVZERCZJFGhFREREpENBCZCDDz441uyl7qfIxEI9Wmqw8pH6z82p7ysth/Ip1CHu3r273SgiIpMkljgQERERERERERERqQgjaEVEREREREREREQqQoFWREREREREREREpCK6hHbKzz//HL799tsw5ZRThs6d1ZlFREREREREREQkD7gLYdSoUWHGGWcMXbp06ZgCLeLssGHDqm6GiIiIiIiIiIiISF26du0aZp111tAhBVoiZ9OLnHrqqatujoiIiIiIiIiIiEhkxIgRMbg0aZgdUqBNZQ0QZ6eZZpqqmyMiIiIiIiIiIiIyDs0pzWrxVhEREREREREREZGKUKAVERERERERERERqQgFWhEREREREREREZGKyFKgHTNmTPjhhx+qboaIiIiIiIiIiIjIL0pWl4T99NNP4dRTTw3PPvtsmGOOOcJXX30VTjnllLD44otX3TQRERERERERERGRjh1Be+mll4Ynnngi3HTTTeHyyy8P3bt3D/vuu28YPnx41U0TERERERERERER6dgC7YMPPhjWX3/9MPXUU8evt9566/DJJ5+El19+ueqmiYiIiIiIiIiIiHRsgXbs2LFh5MiR45Q8gM6ds2qmiIiIiIiIiIiISMerQbvDDjuEPn36hF133TXMM888oV+/fmG11VYLyy23XKO/M2LEiIbPO3XqFHKjKIqqmyAiIiIiIiIiIiK/ImXNsl0JtGuuuWa44447wiGHHBK6du0aHnnkkfh5UxG0w4YNix8nn3zysNhii8WPuTB69OgwdOjQ+FFEREREREREREQkW4F21KhRMYL2j3/8YzjiiCPic2+++WbYdtttw5gxY8L2229f9/cQcqlZS/Qs4uwuu+wVhg59PVTNYostEq666pKw0EILGUUrIiIiIiIiIiIyiUXQDvv/AkvbjUD7f//3f+GDDz4IO++8c8NzCy64YFhjjTXCAw880KhAizg7zTTTNHyNOPt///dSyIV04ZmIiIiIiIiIiIhILdncvjXjjDPGjz/++OM4z3Np2GyzzVZRq0REREREREREREQmAYF2kUUWCauvvno444wzwg8//BCfGzRoUHj66afDTjvtVHXzRERERERERERERNqcbEocUEP2ggsuCJdffnnYZ599Yt1WImevv/76sOiii1bdPBEREREREREREZGOK9Cmeq37779/fIiIiIiIiIiIiIh0dNpMoB0+fHj4+OOPw9dffx1mmmmmMOecc4bpppuurf68iIiIiIiIiIiISIejVQLtTz/9FG699dZw9913h2effTb8/PPPDd/r3LlzWG655cImm2wStt566zDFFFO0RXtFREREREREREREOgwtFmhvu+220Ldv3/D999+H5ZdfPpYl+O1vfxtmmGGG8OOPP4ZPPvkkvPTSS6FPnz6hX79+4ZBDDgmbbrpp27ZeREREREREREREZFITaHv27BleeeWVsPfee4fNN9+8yVIGI0aMCP/+97/DOeecEx544IH4UURERERERERERERC6NySTlhsscViWYMdd9xxgnVmufhrm222Cffcc09YdNFF7XMRERERERERERGR1kTQ7rPPPhP9O9SgbcnviYiIiIiIiIiIiHRUWnVJWPmysHQJ2NixY2Mpgy+//DKsueaaYa655mqLfyEiIiIiIiIiIiLS4WhRiYMyzz333DiXf5177rnxwrDjjjsu1qd97bXXWvsvRERERERERERERDokrRZozzvvvLDEEks0fD1w4MDQt2/fMHjw4LDSSiuFs88+u7X/QkRERERERERERKRD0uoSB0OHDo0XhqVSBzPOOGPYeOON49fHHntsjKIVERERERERERERkV8ggnbkyJFhuummi58PHz48TDXVVA3fm3nmmeNzIiIiIiIiIiIiIvILCLTzzTdfQwTtkCFDwjTTTNPwvVdffTXMPvvsrf0XIiIiIiIiIiIiIh2SVgu0e+yxR+jVq1dYd911w7777htWXnnlhu8deuihYe21127tvxARERERERERERHpkLS6Bu0WW2wRSxk8/vjjYcEFFwxbbbVVw/dWW2210LNnz9b+CxEREREREREREZEOSasFWlhrrbXio5YTTjihLf68iIiIiIiIiIiISIek1QLt999/H04++eTwxBNPhB9++CEURTHez7zwwgut/TciIiIiIiIiIiIiHY5WC7SIs/fdd19YZ5114oVgnTu3uqytiIiIiIiIiIiIyCRBqwVaas9edtlloVu3bm3TIhEREREREREREZFJhFaHu1LWYKmllmqb1oiIiIiIiIiIiIhMQrRaoF1llVViFK2IiIiIiIiIiIiI/MolDnbffffQu3fv8L///S8svPDCYcoppxzvZ1ZdddXW/hsRERERERERERGRDkerBdodd9wxfuzbt2+jP/P666+39t+IiIiIiIiIiIiIdDhaLdDecMMNbdMSERERERERERERkUmMVgu0yy67bPz41ltvhaeffjpeGjbzzDOHbt26ha5du7ZFGzs0Y8aMCZNNNlnIgZzaIiIiIiIiIiIiMinQaoF27Nix4bjjjgs33njjOM936tQpbL/99vF7fC71QRD96+49w+uvv1lpFy2yyILhsivOrbQNIiIiIiIiIiIikxqtFmivuuqqcNddd4VDDjkkrLPOOmHWWWcNX3zxRRg0aFC49NJLwyKLLBJ69OjRNq3toCDOvvjiK1U3Q0RERERERERERNpjDdoTTjghbLbZZg3PzTLLLGHhhRcO8803X7j44osVaEVERERERERERETq0Dm0kg8++CCsu+66db+31lprhWHDhrX2X4iIiIiIiIiIiIh0SFot0M4444zhnXfeqfu9t99+O8w000yt/RciIiIiIiIiIiIiHZJWC7TrrbdeOProo8Mbb7wxzvOvvfZa6NWrV1h//fVb+y9EREREREREREREOiStrkF70EEHxRqzm266aZh77rnDbLPNFi8J+/DDD2MN2p49e7ZNS0VEREREREREREQ6GK0WaLkQbODAgeGmm24KTz31VPj222/DQgstFEXb7bffPkw33XRt01IRERERERERERGRDkarBVpAhN1tt93iQ0RERERERERERER+RYH2p59+ClNMMUX8fOzYseGBBx4IX375ZVhzzTXDXHPN1Rb/QkRERERERERERKTD0epLwp577rlYfzZx7rnnhv333z8cd9xxYfPNN4+XhYmIiIiIiIiIiIjILyDQnnfeeWGJJZZo+Jp6tH379g2DBw8OK620Ujj77LNb+y9EREREREREREREOiStLnEwdOjQcPfddzeUOphxxhnDxhtvHL8+9thjYxStiIiIiIiIiIiIiPwCEbQjR46Ml4TB8OHDw1RTTdXwvZlnnjk+JyIiIiIiIiIiIiK/gEA733zzNUTQDhkyJEwzzTQN33v11VfD7LPP3tp/ISIiIiIiIiIiItIhabVAu8cee4RevXqFddddN+y7775h5ZVXbvjeoYceGtZee+3W/gsRERERERERERGRDkmra9BuscUWsZTB448/HhZccMGw1VZbNXxvtdVWCz179mztvxARERERERERERHpkLRaoIW11lorPmo54YQTYpmDxRdfvC3+jYiIiIiIiIiIiEiHotUC7ZdffhmF2JdffjleCFYURXyej1wgNmrUqPD666+3RVtFREREREREREREOhStrkF76qmnhueffz6WM/jhhx/C+uuvHz+fYoopwlRTTRXOO++8tmmpiIiIiIiIiIiISAej1RG01J69+OKLwzLLLBPefvvt0L1797DmmmvGyNm99947fPfdd23TUhEREREREREREZEORqsjaL///vuwxBJLxM+5JOzZZ5+Nn0855ZThyCOPDNdee23rWykiIiIiIiIiIiLSAWm1QDvrrLOGTz/9NH7++9//Prz00ksN3/vd734X3nzzzdb+CxEREREREREREZEOSasF2lVXXTVeEvb++++HpZdeOkbQDh06NH7vzjvvDLPMMkuL/i4XjomIiIiIiIiIiIh0ZFot0O6///7hrbfeCltvvXWsQ7vwwgvHz1dfffXQu3fvsPnmm0/U3+vfv38UfVdZZZWw1lprhXvuuae1TRQRERERERERERHpmJeEzT333OGOO+4Izz//fOjUqVO44oorQr9+/cJ7770XVlhhhbDTTjs1+2/deuut4bzzzouXjq244orhlltuCYcddlgsnYDwKyIiIiIiIiIiItKRaLVAC9NOO21YfPHFw+DBg8OXX34ZjjjiiPD222+HBRZYYKL+DsLsPvvsE8VZ2GqrrcLAgQPDCy+8oEArIiIiIiIiIiIiHY5WC7RFUYTzzz8/XHLJJWH06NHxue222y7ssMMOoVu3bqFv375hiimmmODf+fjjj8OwYcPCeuutF78eMWJEmHrqqcOAAQNa20QRERERERERERGRjinQXnvtteHyyy+Pka+rrbZa2H777ePzhxxySDjrrLNiuYMDDjhggn/n3XffjR8/+OCD+Lc++eSTMNNMM8W/s8UWWzT6ewi5QHkFBN3coH2I2PXIsc1NtTe1OSeaaivYXvtYREREREREROTXJmmWv5pAe/LJJ4dNN910nOe33XbbWJ/2uOOOa5ZAO3z48PiRiFtKHcw///zhzjvvjOUS5phjjnhpWD2IugWETsos5MY777zT6BuSY5ubau/kk08eFlts8TD55G1SGaPVjB79cxg69NWGyO2O0N7FF1s8dMmkvfDz6J/Dq+2ozRNqr4iIiIiIiIhIbrRaVSHydZ111qn7vWWXXTZGwjaHVAZhjz32iJeCweabbx4vCqMObWMCbdeuXaPQmVukZAKhuakI2vbWXsTO/fbuFf73v7dDlSy88ALhwn6nhoUWWmiC7T34b6eGt954L1TJ7xf6XTj7n70m2F6EziMPODe888YHoWrmX2iecPr5PZvV5uMPuCQMe+OjUCVdF5orHH/+Xk22V0RERERERETk14AAyBRY+osLtDPPPHMYMmRIXQGV52eZZZZm/Z0555xznI+Jueaaq0mRF3F2mmmmCbmSWwmDtmgv4uyQl14L7aW9iLOvDHkjtJf2Is4OffmdkAvNaTPi7P9erlYEb69zTkREREREREQmbTq39g907949HHbYYeH+++8PP/30U8PzL774YjjmmGPCBhts0OzIzdlmmy288MIL4zz/yiuvhAUXXLC1zRQRERERERERERHJjlZH0B500EFh6NChsc4s9Shh1VVXDV9++WVYcsklQ8+ePZv1dyabbLKw3377xYvFqF279NJLh+uvvz689957sSatiIiIiIiIiIiISEej1QLtdNNNF66++uowaNCg8Nhjj4WvvvoqzDDDDGGllVYKG220UUNt2eaw4447xt+96qqrwscffxxr0fbv3z+WORARERERERERERHpaLTJ1etEv2644YbxkYrgtrQO5KabbhofIiIiIiIiIiIiIh2dFtegHTVqVBgwYEA44YQTGp575plnYs3ZZZddNqy55pqxLq2IiIiIiIiIiIiItKFAS4Ts9ttvH0488cQGEZbSBtSQnXfeecM+++wTunbtGuvTvv766y35FyIiIiIiIiIiIiIdnhaVOLjmmmvCt99+GyNol19++fjcrbfeGqNm+/Tp0/BzRx11VLjooovCOeec03YtFhEREREREREREZmUI2j//e9/x9IG3bp1C506dYrPPfvss6FHjx7j/Nyee+4ZXnrppbZpqYiIiIiIiIiIiEgHo0UC7fvvvx+WW265cZ579913w5JLLjnOc3PNNVf47LPPWtdCERERERERERERkQ5KiwTaySefPF4Slvj555/D6NGjw1RTTTXOz3366adh2mmnbX0rRURERERERERERDogLRJo559//nDfffc1fP3MM8/ES8Fquf3228PCCy/cuhaKiIiIiIiIiIiIdFBadEnYdtttF3r37h0++OCDMNNMM8VLww488MCG7//www9RnL3kkktirVoRERERERERERERaSOBdvPNNw9DhgwJV155Zfx66623DltuuWXD99dYY40wfPjwsMkmm4StttqqJf9CREREREREREREpMPTIoG2c+fOMYL273//e/x8mmmmGef7e+yxR1hqqaXCWmut1VbtFBEREREREREREelwtEigTUw33XR1n99///1b82dFREREREREREREJgladEmYiIiIiIiIiIiIiLQeBVoRERERERERERGRilCgFREREREREREREakIBVoRERERERERERGR9iTQ7rLLLg2fP/LII23ZHhEREREREREREZFJhhYJtM8991z45ptv4ud77rlnW7dJREREREREREREZJKgS0t+6be//W3Yd999w6KLLhq/PvHEE5v8+d69e7esdSIiIiIiIiIiIiIdmBYJtMccc0zo27dvGDRoUPz6vvvua/LnFWhFRERERERERERE2kigXWutteIDFllkkfDYY4+15M+IiIiIiIiIiIiITNK0SKAtM2DAgPjxrbfeCk8//XT44Ycfwswzzxy6desWunbt2hZtFBEREREREREREemQtFqgXW655cKxxx4bbrzxxnGe79SpU9h+++3DcccdFz8XERERERERERERkTYWaK+66qpw1113hUMOOSSss846YdZZZw1ffPFFrE976aWXxhIIPXr0aO2/EREREREREREREelwtFqgveGGG8IJJ5wQNttss4bnZplllrDwwguH+eabL1x88cUKtCKSDWPGjA2TTdY5tJe2jB0zNnTOpL3NaUtO7W1Oe9pbe0VERERERKTj0WqB9oMPPgjrrrtu3e9xkdiRRx7Z2n8hItJmIIiefkD/8N6bn1Taq79bcM5w5Pm7TvDnEOvOOfia8MGbn4UqmWfB2cNBZ+/UrPZeeMiA8NFb1bYX5vr97GG/PjtOsL2XHX5d+OTt6ts75wKzh7+eYcaJiIiIiIjIpEarBdoZZ5wxvPPOO2GppZYa73tvv/12mGmmmVr7L0RE2hTE2Tdffr/d9Cri7NuvfBDaC4izw179MLQXEGffG9p+2isiIiIiIiIdi1bnUa633nrh6KOPDm+88cY4z7/22muhV69eYf3112/tvxARERERERERERHpkLQ6gvaggw6KNWY33XTTMPfcc4fZZpstXhL24Ycfxhq0PXv2bJuWioiIiIiIiIiIiHQwWi3QciHYwIEDw0033RSeeuqp8O2334aFFlooirbbb799mG666dqmpSIiIiIiIiIiIiIdjFYLtIAIu9tuu8WHiIiIiIiIiIiIiPxKNWhFREREREREREREpGUo0IqIiIiIiIiIiIhUhAKtiIiIiIiIiIiISEUo0IqIiIiIiIiIiIi0V4H2xRdfbJuWiIiIiIiIiIiIiExitFqg3XvvvdumJSIiIiIiIiIiIiKTGK0WaKeeeurw4Ycftk1rRERERERERERERCYhurT2Dxx//PGhV69eYaONNgrzzz9/FGxrWWqppVr7b0REREREREREREQ6HK0WaPfaa6/48cknn2z0Z15//fXW/hsRERERERERERGRDkerBdpLL720bVoiIiIiIiIiIiIiMonRaoF2zTXXjB+//PLL8MILL8SP2223XXj77bfDAgss0BZtFBEREREREREREemQtFqgLYoinH/++eGSSy4Jo0ePjs8h0O6www6hW7duoW/fvmGKKaZoi7aKiIiIiIiIiIiIdCg6t/YPXHvtteHyyy8P++yzT7j++usbnj/kkEPCM888E/r169fafyEiIiIiIiIiIiLSIenSFgLtySefHDbddNNxnt92223D3HPPHY477rhwwAEHtPbfiIiIiIiIiIiIiHQ4Wh1B++6774Z11lmn7veWXXbZ8Mknn7T2X4iIiIiIiIiIiIh0SFot0M4888xhyJAhdb/H87PMMktr/4WIiIiIiIiIiIhIh6TVAm337t3DYYcdFu6///7w008/NTz/4osvhmOOOSZssMEGrf0XIiIiIiIiIiIiIh2SVtegPeigg8LQoUNjndnJJ588PrfqqquGL7/8Miy55JKhZ8+eLf7bP/zwQ5hqqqlCly6tbqaIiIiIiIiIiIhIdrRa+ZxuuunC1VdfHQYNGhQee+yx8NVXX4UZZpghrLTSSmGjjTYKU0wxRYv+7nPPPRf+8pe/hMsvvzwKviIiIiIiIiIiIiIdjTYJTZ1sssnCMsssE8aMGROjXmedddaw3HLLtVic/fHHH8MRRxwRxo4d2xbNExEREREREREREemYAi2i7Mknnxyuv/76cQRVxNm999477L///hP9N0855ZSw4IILhvfff7+1zRMRERERERERERHpuALt+eefH2677bYoxq6xxhph5plnjmUO/vOf/4RLL700fr3jjjs2++8NHjw4PP7442HAgAHxb4iIiIiIiIiIiIh0VFot0A4cODCcccYZYYMNNmh4boEFFgjdunULiy22WDjvvPOaLdB+8cUXoXfv3qFPnz5h+umnb9bvjBgxIn7s1KlTmHrqqUNu0L6iKOp+L8c221771zHhnOtIa0RTbW5v7S23OyeaaivY3l+2j3PrX3BM2L8TMyYcw8653MfEhNY0ERGRCWmWv4pAS83ZlVdeue731l577XDkkUc2+28dc8wx8WKxVVZZJXz33XfN+p1hw4bFjxyyF1988ZAb77zzTqNvSI5ttr32r2PCOdeR1oim2tze2guTTz55bHOXLm1SQr7V/Pzzz+HVV18No0eP7jDtXWLxxcNkmbQXxvz8c3ilkTa3t/bm2GbbW20f5zYewDFRff8uufjioXMmY2Lszz+Hl5tor4iISFvR6p1v0UUXDQ888EDYYostxvveE088EWvJNocbb7wx/O9//wsnnnhiFGe///77+Pzw4cPjY5pppqn7e127do2H7Nw8rYn555+/yWiz3LC99q9jwjnXkdaIptrc3tqb2ozYec1R14VP3/4sVMkcC8wedjqtR1hooYUm2N6bjrk+fP5Ote39zfyzh21P3n6C7UUouuP4G8KXw6ptL8zadfaw2fHbNdrm1N77T7ohfP3u56FqZp7vN+GPxzbe3nKbHzn1hvDNe9W2eabf/Sas2at57X3mzBvC9+9XOyamn3f2sMJhzWvvS2dfH378oPoxPO08s4elD2583qX2/u/868LwD6tv7zRzzx4WPmDC6xptfrffgDDyo09DlUw11xxhvr13bFZ7P+l/Tfjpk2r7eIo5Zw9z7rrTBNuLOPvFddeE0Z9V27+Tzz5HmK1H0+0VERFpCgJvUmDpLyLQPvXUUw2fU9qAyNehQ4eGddddN8w222zhxx9/DM8880z45z//GQ477LBm/U3EXIRZImghbYL8PpG4Z599dt3fQ5xtTLzNgRzTZ5vC9tq/jgnnXEdaI9pjm5vTXsTZD177KLSX9iLOfvx6+2kv4uyn/8ujvc1pM+Ls52+0n/YC4uxXb37UbtqLOPvNW+2nvYiz37+dR3ub02bE2R+HfRhyoTl9jDg74t0P2017EWdHffBBaC/tRZz96aP2014REZHW0iKBdueddx7vuf79+8dHLccff3zo0aPHBP9mrQCLWLvCCitEkXfVVVdtSTNFREREREREREREOp5AO2DAgLZviYiIiIiIiIiIiMgkRosE2m7duoVfGuoPTT/99NlcLCIiIiIiIiIiIiLS1rRa/fzpp5/CTTfdFF544YWGi71q6dev30T/XcTZZ599trXNExEREREREREREem4Au0pp5wSbrjhhjDPPPOEGWaYoW1aJSIiIiIiIiIiIjIJ0GqB9r777osRsmuttVbbtEhERERERERERERkEqFza//A6NGjwworrNA2rRERERERERERERGZhGi1QNu9e/dw7733tk1rRERERERERERERCYhWl3ioFevXmHXXXcNDz30UFhooYXClFNOOd7P7LXXXq39NyIiIiIiIiIiIiIdjlYLtAMHDgxDhgyJD+rR1kOBVkREREREREREROQXEGgvu+yysP/++4cePXqE6aefvrV/TkRERERERERERGSSodUC7bfffhv22GOPMM0007RNi0REREREREREREQmEVp9Sdgf/vCH8NJLL7VNa0REREREREREREQmIVodQduzZ89w/PHHh6222iosssgiYeqppx7vZ5ZddtnW/hsRERERERERERGRDkerBVpqz8Jpp53W6M+8/vrrrf03IiIiIiIiIiIiIh2OVgu0V155Zdu0RERERERERERERGQSo9UC7aqrrto2LRERERERERERERGZxGi1QLvaaqtN8Gcee+yx1v4bERERERERERERkQ5HqwXa9dZbb7znRo0aFV599dXw448/hp133rm1/0JERERERERERESkQ9JqgfbEE09s9Hunn356GDlyZGv/hYiIiIiIiIiIiEiHpPMv+cf32muvcO211/6S/0JERERERERERESk3fKLCrSUOvjuu+9+yX8hIiIiIiIiIiIiMumWOHj22WfHe64oivDtt9+G/v37h2WWWaa1/0JERERERERERESkQ9JqgXbHHXds9HtzzjlnuOSSS1r7L0REREREREREREQ6JK0WaK+++urxnptsssnCDDPMEBZYYIHQpUur/4WIiIiIiIiIiIhIh6TV6ulKK63UNi0RERERERERERERmcRokUD7j3/8Y6J+/ogjjmjJvxERERERERERERHp0LRIoL3iiism6ucVaEVERERERKSjUYwdGzp17hzaU3tyanOHbG8xNnTqlEl7m9GWnNrbnPa0t/Y292fyam8ROnXqFHKgaEZbcmpva9rTIoH29ddfn+DPPPnkk+H8888PG2+8cUv+hYiIiIiIiEjWINZ9dcs14ecvPqu6KaHLbLOHWbbaqVlt/ubuAeHnr6ptc5dZZg8zbdT4pePl9n73nxvCmG8+D1Uy2Uy/CTOss90Efw7x6/snbwljvvsiVMlkM8wWpl95q2a198cX7gpjfvgyVM1k080apv3DJhNu72uDwtjhX4Wq6TzNLGHaRTeY4M/R5uHvPhrGjvw2VEnnqWYM08y3xgR/DnFxxKfPhLE/fR+qpPMU04ep51ihWe0d+e2QMPbnH0PVdO4ybZhqxqVa9LttfoPXJ598Es4888ww7bTThgsuuCDMPPPMbf0vRERERERERLIAcXb0Jx+E9gTi7M+ffRjaC4izP3/5UWgvIM6O+fqT0F5AnB3zXfVOhuaCODvmh2oF8IkFcXbsiOpF5eaCODv2p29Ce2Hszz+GsT9XKyi3ljYTaH/66afQv3//8MQTT4RDDjkkLLnkkm31p0VEREREREREREQ6JG1SBOORRx4Ju+66a5h11lljfVrFWREREREREREREZFfOIL2/fffj+UM5phjjtCvX78w/fTTt+bPiYiIiIiIiIiIiExStEigHTVqVLjkkkvCiy++GA4//PCw8MILt33LRERERERERERERDo4LRJo//SnP4Wpp546bLjhhuG+++6Lj6Y44IADWto+ERERERERERERkQ5LiwTaDz/8f297vOCCC5r18wq0IiIiIiIiIiIiIm0k0L700kst+TURERERERERERERaa1AO+WUU7bk10RERERERERERESkROfQAgYOHBiKopio3+Hnb7nllpb8OxEREREREREREZEOSYsE2ttuuy1ss8024eGHHw5jx45t8md//vnncP/998efv/XWW1vaThEREREREREREZEOR4tKHFx11VXhyiuvDAcffHCYaaaZwtprrx2WXnrpMOecc4Zpp502fP/99+Gjjz4Kzz33XHj00UfD8OHDw7777hv22GOPtn8FIiIiIiIiIiIiIpOSQNu5c+cotm655Zahf//+4e677w4DBgwY7+fmn3/+sN1224WddtopCrkiIiIiIiIiIiIi0kqBNjHLLLOEv//97/ExbNiw8PHHH4evv/46zDzzzGHeeecN88wzT2v+vIiIiIiIiIiIiEiHplUCbZmuXbvGh4iIiIiIiIiIiIj8gpeEiYiIiIiIiIiIiEjrUaAVERERERERERERqQgFWhEREREREREREZGKUKAVERERERERERERqQgFWhEREREREREREZH2JtD279+/WT/34osvhlNPPbWl/0ZERERERERERESkw9Klpb942mmnhY8++ijMNttsYd555w0LL7xwWGCBBUKnTp0afubZZ58N++yzT9htt93aqr0iIiIiIiIiIiIiHYYWC7Tw/fffh3fffTcMGjQofuzSpUtYa621wqabbhruvvvucNttt4UDDjgg7L333hP9t8eMGRMmm2yy1jRPREREREREREREpOMItPfcc0/44YcfwjzzzNMQRZsoiiI89dRT4dJLL22ImD3rrLOiWNtcPv/883D66aeHd955J0w77bThxx9/DIcddlhYZZVVJqaZIiIiIiIiIiIiIh1PoL3jjjvChx9+GD777LP49cYbbxwWXXTR+PVbb70VRo8eHdZee+3Qr1+/GFXbu3fvKLJuv/32zfr7RNv+/ve/DzfffHPo3LlzePTRR2P07a233hqfFxEREREREREREZlkLwm76KKLokj75JNPxijZ/fbbLwqwzzzzTBRQiaA988wzw5AhQ8Ipp5wSLrzwwnDOOefE35sQX3zxRfj4449Djx49ojgLa6yxRph//vlj5K6IiIiIiIiIiIjIJC3QQv/+/ePjyiuvjCUJVl555XD99dfHKNrLLrss/swFF1wQP1KaYMCAATGydkJw2djDDz8cllxyyfFq0Y4YMWJimykiIiIiIiIiIiLS8S4Jo+7sEkssET8nmvaVV14Jr7/+ehg2bFjo06dP2GuvveL3Xn755Si2UpuWz1sCZRPefvvtcMwxxzT6M0m87dSpU5h66qlDbtA++qAeObbZ9tq/jgnnXEdaI5pqc3trb65ttr3V9XGO4wEcE/Zvc8eEY9g51x7GRHtb09pjm22v/dvcMZHj+AXHsP3b2JiYmIDTiRZo4ZZbbgmLLLJIw8d6bLPNNlGsfeyxx8IKK6ww0f+DqNvjjjsurLPOOjFKtzEQhoFJuvjii4fc4MKzxt6QHNtse+1fx4RzriOtEU21ub21N9c2297q+jjH8QCOCfu3uWPCMeycaw9jor2tae2xzbbX/m3umMhx/IJj2P6dmDHRJgLtvffe2+RH+OGHH+JHSiAccsghYeTIkQ2lD5rLqFGjwmGHHRa6dOkSzjrrrCZ/tmvXrnGS4knJEWroNuW9zA3ba/86JpxzHWmNaKrN7a29ubbZ9lbXxzmOB3BM2L/NHROOYedcexgT7W1Na49ttr32b3PHRI7jFxzD9m9jYwKRNgWWtqlAe9RRRzX5Ef74xz/Gj0S9cnHYCy+8EEXa5vL++++Hnj17xvIIlEyYfPLJm/x5xNlpppkm5EqO4fdNYXvtX8eEc64jrRHtsc221/51TDjnOtIa0R7bbHvt3/Y8Htpjm22v/euYcM51pDWipW2eqEvCEFub+gi9e/eOH3fZZZfw9NNPhxlmmCEMHDiwWX//pZdeiqURNttss3DiiSdOUJwVERERERERERERac9MlECbGDp06Dgfy2y44Ybx488//xw/brfdduGJJ56Y4N/8/vvvwz777BNWW221sO2224Yff/yx4fHTTz+1pJkiIiIiIiIiIiIiWdOiS8K22GKLcT7W41//+lc499xzo+B6/fXXT/BvPvjgg7E2w3/+85+w+uqrj/O9jTbaKJxyyiktaaqIiIiIiIiIiIhIxxFoX3nllfhxiSWWaPi8/Hyic+fO4eCDDw5fffVVs2rQbr755vEhIiIiIiIiIiIiMqkw0QJtly7/768MGDCg4fPy87Vi7cwzzxzuuuuu1rdUREREREREREREpIPRohq00K1bt0a/VxZrO3XqFOaee+6W/hsRERERERERERGRDkuLBdoyn3/+eTjxxBPHee7yyy9viz8tIiIiIiIiIiIi0mGZKIG2KIq6EbSPPfZYeOONN8b52TPOOKMt2iciIiIiIiIiIiLSYZkogbZnz54Nn3///fcNn1911VVho402atuWiYiIiIiIiIiIiHRwJkqg/eyzz8Jbb701znO33HJL+PTTT8OWW24ZHn/88TBmzJi2bqOIiIiIiIiIiIhIh2SiBNqVVlopPP/88w1ff/jhh+Ef//hH2H///cNUU00Vdtttt1juQERERERERERERETaWKBdcMEFwzvvvNPw9T777BOWXHLJ0KNHj4bn7rnnnon5kyIiIiIiIiIiIiKTLBMl0M4333zh/fffb/i6S5cu4ZxzzgmdOnVqeG706NHhq6++ip/z8euvv27L9oqIiIiIiIiIiIh0GLpMzA/PMsss4aGHHgrrrrtu/PqTTz4Jm2+++Tg/s/3224dVVlklfp4+/vGPfwznn39+27VaREREREREREREZFKLoEWgnWKKKcLuu+/eEFHL5+kB3bp1CzfddFP8/IYbbggDBgwYp26tiIiIiIiIiIiIiLRAoJ166qnjx7/85S/x44svvhh+85vfxK/Tc7D00kvHj8suu2wUbEeNGjUx/0ZERERERERERERkkmCiBFpqzZbF1q233jocc8wx4dNPP23y98rirYiIiIiIiIiIiIi0QKCFySabrOHzE088MSyyyCLhjDPOaPJ3DjrooIn9NyIiIiIiIiIiIiIdnokWaMeMGfP//3LnzuG0004LgwcPDu+880745z//2dbtExEREREREREREemwTLRA26NHj3G+nnfeeWOpAy4GW3/99duybSIiIiIiIiIiIiIdmokWaI8++uj4cc8992x4bueddw6DBg1q25aJiIiIiIiIiIiIdHAmWqBNHHrooQ2fd+3aNfTt23ec77/yyiuta5mIiIiIiIiIiIhIB6fFAm0tSy211Dhfd+nSpa3+tIiIiIiIiIiIiEiH5BdTUd9///3wr3/9K14qdswxx/xS/0ZERERERERERERk0hFozzrrrAmWPrjtttvCCSecEFZaaaXxLhUTERERERERERERkRYKtJdeemlYbrnlxnu+KIrwwgsvRIF28ODBYZtttgndu3cPyy+//MT+CxEREREREREREZFJghbVoL3uuuvCiBEjwrLLLhsuvPDC8Pvf/z7MOOOMDd8///zzw7Bhw8Kuu+4a/vrXv7Zle0VEREREREREREQmPYH27rvvDk899VTD1wi0//3vf8Maa6wRXnzxxdCrV6/4/E8//RT69OkT5p9//vDwww/HnxERERERERERERGRVgi09913X9h9993j53vttVeYZ555wrrrrhtGjx4dZppppjDXXHPF7x122GHhnnvuiWUQZp111ub+eREREREREREREZFJjmYLtOeee24UXmGDDTaI9WapR9u7d+/w9NNPh4svvjh+b8UVV4ziLFG1fG+KKab45VovIiIiIiIiIiIiMqnUoP3d734XP2688cbx8q+FFloobLLJJvG5l156KX7ccccdw+effx6GDh0aPvjgg3Dcccf9Eu0WERERERERERERafd0ackvrbnmmmGyySaL9WbXW2+9+BwRtQmen3nmmcO2224b1l577bZrrYiIiIiIiIiIiMikLNCefPLJsaTB6quvPs7z7733Xnj22WfDzTffHP7xj3/Ekgh777136NGjRzj++OPbss0iIiIiIiIiIiIik6ZAu8QSS4STTjopvP766+GII46ItWZvu+228O6778bvc2HYlVdeGd58880w77zzhkUWWeSXaLeIiIiIiIiIiIjIpCPQDhw4MMw444xhnXXWCYMHDw59+/YNe+yxRyiKImy44Ybhr3/9azj22GPDTjvtFJ5//vlYr3a22WaLv0tkbbdu3X7J1yEiIiIiIiIiIiLScQVaRNc77rgjiq6IsSeeeGIYNWpUuPvuu8OTTz4Z682mS8LqQcStiIiIiIiIiIiIiLRAoD3llFNiSYNbbrklXHTRRaFfv37hq6++ip+//PLLYb/99os/99JLL4WHH344zDHHHGHBBRcMXbq06B4yERERERERERERkQ5P54n54RlmmCHsuuuu4YEHHgiTTz556NWrV1h33XXDgQceGC6++OL4M1NOOWW48MILw3bbbRfWW2+9cMEFF8TnRERERERERERERGRcWhTeiuB63XXXhdlnn73huVVXXTUKs8ClYd9991247777whdffNGSfyEiIiIiIiIiIiLS4Wlx/YGyOJsgYrYcbZvq0oqIiIiIiIiIiIhIK0sciIiIiIiIiIiIiEjboUArIiIiIiIiIiIiUhEKtCIiIiIiIiIiIiIVoUArIiIiIiIiIiIiUhEKtCIiIiIiIiIiIiIVoUArIiIiIiIiIiIiUhEKtCIiIiIiIiIiIiIVoUArIiIiIiIiIiIiUhEKtCIiIiIiIiIiIiIVoUArIiIiIiIiIiIiUhEKtCIiIiIiIiIiIiIVka1AO3bs2KqbICIiIiIiIiIiIjLpCLRFUYTzzz8/rLTSSmGppZYK22+/fXjjjTeqbpaIiIiIiIiIiIhIxxdor7nmmnDDDTeEf/3rX+G5554LCy64YNhrr73CqFGjqm6aiIiIiIiIiIiISMcWaPv37x/22GOPsNBCC4Wpppoq9OrVK3z99ddh0KBBVTdNREREREREREREpOMKtJ988kn48MMPw/LLL9/w3DTTTBMWXXTR8Pzzz1faNhEREREREREREZFfgi4hEz7++OP4cfbZZx/neb5GvG3sErFvvvkmjBgxInTq1ClG3a655mph3nnnDlUz//xdw/Dhw8PIkSNjbd16pDavttqKYZ55fhuqZL755m12e1dZZbkw19zjvk+/NvP9bp5mt3eFlZcIc841a6iSeX83Z7Pb+4eVFglzzDVzqJq55p292W1eZqXfh9/MNWOokrnmna3Z7V1ixa5h1t9OH6pkznlnbXZ7F1nxd2Hm304XqmT2eWdpdnsX7DZvmHHOatsLv5ln5ibbnNo7//LzhhnmmDZUzazzNL+P51tu3jBdxW2ede7mt3fuZecN08xebXtnnqv57Z1zmXnD1L+pfkzMOIE2p/bOttQ8YcrZqm/v9L9tes6V2zzLEvOEyWetts3Tz9n89k6/2Lyh8yzVtnfaOZo/hqdZdN7Qaebqx8TUE2hzau+UC88bipmqb++Usze/j7ss+LswxYzV7nVdftP89oauvwudp694b561+e0dO+98IUxbbXvHztJ8W23MXL8LxdTV2z5jZm5+H4+Zfd4wZqpq29xphuavw6NnmSeMnbzadaKYfiLaO8NcYexkU4cqGTvtRLR32jnCmE5ThaoZO82Mzdo3fpryN2FsMWWomjFTztDsPh7VZaZQTFGtBNepy3Shc3PbG6YPRadqYzo7hWlDp+a29+epw9gxoXI6h6lDKLU5lWxNGmZTdCoae5W/Mk8++WTYZZddwuOPPx5mnfX/F9MOP/zw8OWXX4bLL798nJ/nuWHDhlXQUhEREREREREREZEJ07Vr13G0zqwjaKNnN4TxLgTj6/S9MjPOOGN8gVNOOWXo3DmbSg0iIiIiIiIiIiIyiTN27Nioa6JhTohsBNq55porfvzss88aPodPP/00LLnkkuP9fJcuXSaoPouIiIiIiIiIiIhUwXTTNa+cTDahp9Sa/d3vfheefvrphud++OGHMHTo0LDCCitU2jYRERERERERERGRX4JsBFrYbbfdYq3ZZ599Nnz11VfhpJNOCr/97W/DuuuuW3XTRERERERERERERNqcbEocwA477BB+/PHHcMQRR4TvvvsuLL/88uGyyy4Lk08+edVNE6kE7vDjVkIRERERERERad9QxnPaaadtdtq7TDpkFUELe+65Z3jggQfCM888Ey6++OIwzzzzVN0kaQZ33nlnuOeee+yrNgQnxaqrrhoOOeSQ8PPPP4d33323XfXvP/7xj/Dee+9V3QzJBMZwz549Q+5sscUWsZ033nhj+OCDD6puTofmiSeeCP/6179Ce2HkyJFxPW5P9OrVK3z99ddVN6NDO1HbE+2tvfLLw90f8ssxZsyYcPDBB0cbSNqW2267LRx00EGhb9++4Ztvvmk33fvRRx+FU089tepmSMX06dMnbLLJJjFrXH5Zfvzxx/hoL2QVQftLQtmEiy66KB64F1100XDuueeGnKGdZ599dnjllVfCLLPMEs4555xYpzc3zjvvvDBkyJDw8ccfh2222Sa0J3766ad4WJlyyilDjhA5u/fee4cvv/wyvPTSS6FHjx5h7rnnDquttloUbldeeeUw88wzh1y59dZbw1577RXaC++88044//zzw/Dhw8PSSy8dVllllfhxsskmq7ppHQLWsk8++STkDAeorbfeOjz22GPRwUAddGqjMxaYd8y55ty+WbVjZ4YZZgg5g/h91113xdtMl1lmmXizaefO2fmLxwPH8bfffhvaA5tuumlYYoklwr333hsOPfTQ0J5oD2M48c9//jMGFuRqR9Ryyy23hOWWWy7MP//8ob0wYMCA8NBDD4V55503rLjiinE9znkd5rxBuTay/+hr2rvIIouEXDnuuOPi+D3hhBOy7tda+519Y6qppgq58v3334c///nP8cz54osvRgdfe4mUI7iCMyj3wMw222zxrMdZNCf69esXrr766rjPIdQ++uij4eabb24XNvugQYNCe3Q0MIaJ+GwPvP/+++H000+PGgX2xEorrRQztX//+9+HnIIURo8eHYNCrrzyytClS/uR5bCFWSPoZ9Y4zkfcGZXrmvzII49EQfzMM88Mf/jDH0Lu5H8iagMQt4466qiw5pprRmOJjR3efPPNOHlzPJzsscceoWvXrmHLLbcMb7/9dvjNb34TxYP99tsvGiW5QH3gaaaZJrzxxhvhtNNOC6uvvno47LDDojhH6D4gMj7//PMhJxBgEDlTuxBirr/++vDcc8+FXJh++unDrrvuGiO2EAqvvfbaOB7oaw7ctH+rrbaKCw5jPCfozw022CBujO3F8Nhnn31ilDLC+A033BC23377uKH/7W9/iwfEESNGhJz497//HdZee+2wxhprxLZfc8014a233gq5Muecc4Ypppgia08xxtFOO+0UszdYI+hbxsarr74ajj322GiA4IjCKMlprUicfPLJYeONN274+rXXXotj94svvgg5QT+SHcO6ddVVV0UB48ADD4xrcIq6RzRgjOcEezKiMgfv3Nl2222jKMC6hXMBxwN7BQcCbCDWuhydqkT80vayY4e9L9co4Pvuuy9ceOGFje6DuUV1sSf37t277vewMZPdlgsIs9iW2ENcIsxBlvUD2wdBkUNtTrC/IdgjZODsJTBks802a7CNEZJyg7WXcwZOHdaH3KGNrGkI4UBUFHtH+joXGLMbbbRR+L//+7/w4YcfRnuSQAsCAbAfmG+MaWzM3MYwZ1CELKL72CsQZ9k39t9//yyi8FlXX3jhhTB48OBwySWXxI/0N47f9gCOaWwdxLn2wLBhw+KZDuc6YBfffvvtMeM5h/FQy+effx522WWXMMccc8RAIWz5hx9+OGy++ebRaZ0DnOVxjKXzxBlnnNHkGp1bgAt2BOckBPsHH3ww/PWvf40CLf3OnMzNllhzzTXjWeMvf/lLDNLMPqOhmATYd999izfeeCN+3qtXr+Lqq6+On7/44ovFEkssUXz//fdFTlx66aXFjTfeGD8fOHBg0bNnz/j5d999V6y88srF448/XuTEm2++Weyxxx7Fq6++Gtu+2267FUsvvXSx8MILF6uttlqx/PLLFz/++GORCz///HOx5pprFtdff30xcuTIYsyYMcV2221XLLXUUrHNDzzwQJE7jNnBgwcXJ554YtG9e/firLPOKnKC9iy77LLF4osvXhxxxBHFQw89lNUYqIU5teWWW8axUB7X11xzTbHPPvvEcTxq1Kgip/efeXXuuefG9eyggw4qVlpppTh+11hjjeLII48svvnmmyInNtlkkzgmVllllaJv377FSy+9NE5/58bFF19cXHbZZQ1fjx07tnjiiSeKbbbZJvY1fZ7bGF533XWLIUOGxK9fe+21YplllimWXHLJuN7lts+xn22xxRbjzLPllluuYd9gb37//feLnFhrrbXiGGaOnX/++XHPY1zkCm3817/+VTz44IPFSSedVPzpT3+K/ctet+KKK8b9IycGDRpUbLjhhsXQoUMbbDTGL4/1118/7te5cffdd8exmmxM9on77ruvOOCAA2I/f/jhh0VOvPfee9E+w7YExu8zzzxTHHfccXFdu/POO4vc7PcBAwbEz/v3718cffTRxU033RT3EfaUK664osgJ2njooYc2fM0ex17Xr1+/Ypdddim23XbbIkcYt+zLjOVTTz01K3unDP25zjrrxDExYsSI+PUOO+zQYL/ff//9RW4ce+yxxb//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yMX4ICoqJ4GW2k9EO+UMRiaGMXOKgzXRnrUQtcz4LUdo5HJASUIQh1dEpFTSgJIiOWVd0MdEm2IgE7WDw5GDKod/SGV9cnPqkSZZL0Kd/mV/5vsKtC2HaFMiUOljnGLly/mICOcj+zgHmaoO2RxUcfCzjyUYx4ha5RugaRvzsWpbg72BvQ2hBRuCWvBJCGDM5n55GdHqZA1tttlm4zyPCMr+zAW0VUOGBQEKOMa4QwK7h3FMeQ7shhSFSL9TBiMnGB/0L2IWewTjmnGRLrkjBT9BhlQOFzaSak1/A23mLJeELfa9nPY6YO7Vq8+J2IlNhKCYC6xbOEWTYzTde8KDS/qI9MU5nZM4y5mTkgZE2QPrcCrhQm14zn/MQ7IacrCFunbtGh+cjVkrcOIlwZazHvsL+1xOZVuwJTl/Uoea9YEzEwErrBuc9Vinc4P3mwALxi37B05KtAkifXPL6H3ooYfimZM+RQ8iKyQ5IFkjsOnbs0DLZi3SLllttdWK9957b5zndtttt2LQoEHjPHfkkUcW11xzTZETV111VXHCCScUo0ePjl//9NNPxT333FOss846xaGHHlrkwOOPP16svfbaxcILL1yssMIKxQEHHFBcd911xbvvvlvkzpgxY4pll122GDlyZMNz9PHTTz9dnH322cWf//zn4qWXXiqqZsUVVyxuuummJn/mhx9+KB588MHiySefLHJh+PDhsT1/+9vfim7dusUxstZaaxVHHXVUceeddxZffPFF0d745ptvirFjxxa58PHHH8f5lzt77rlnseSSS8YxsPHGGxerrrpqccEFFxQjRowY5+f69OlTPPTQQ0VO/Pjjj8VKK61UPPzww8VJJ51U9OvXr+F7xx9/fHwuR1iDe/ToEfcL1umcOf3004u99tprvPEAu+66a5x30nJYa7/++usmf2bUqFFxz7v55psr6+pNNtmkOOyww4rPP/+8GDJkSLHyyisX77zzzjg/85///KfYbrvtilz47LPPittuu63Yfvvt4/rGg/XioIMOKm688cbigw8+KHIDO2fbbbet+7033nij6N69e5Er2MPPPfdccf7558c+X3zxxYtFF120GDBgQJETl1xySdG3b9/4ef/+/Ytjjjkmfv7UU09Fm65sd+YAewR7xeuvvx7PTHfddVe01XiOMc1ZCps5J84777ziL3/5S939oVev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SZIkSZIkSSqIAVpJkiRJkiRJKogBWkmSJEmSJEkqiAFaSZIkSZIkSSqIAVpJkiRJkiRJKkiTov7HkiRJWnTTp08PV1111Ry/vssuu4R11llnts+98MILoWvXrt/63qlTp4ahQ4eG7bbbLjRp8v+GiWPHjg3vvfde2HzzzUOjRo0W+Pj4bz/55JPQpUuXBfrvXn/99fDhhx+Grbfeeo7fM2zYsLD66quH9u3bL/BxSZIkSbkwQCtJklTBZsyYEa688srw4x//OLRp02a2r/3tb38LHTp0mC1Ae80114R//OMf4ZFHHglNmzad7fv//e9/hyuuuCIMGTKkLkB71113heuvvz48/fTTCxyg/eqrr8Kxxx4bZs2aFe68886w1FJLzfF7X3zxxTBw4MDw/vvvh1dffTU0btw4/OhHPwpbbrll/DMmTJgQXn755RiY5RiXXnrpcMQRRxiglSRJUkUzQCtJklQjbr311nD55ZfHwG15cJZgKsFbMlL5mNxzzz1hpZVWCn/5y19m+34yYn/wgx/M8f/16aefhl69esVM2L322iv89a9/ne3r3bp1C1tttVXd3zt16hS+973vhU022SS89NJL4cQTT4x/P+2002LQdsyYMWHatGlhgw02CD169IiBZI75O9/5znz//ASAO3fuHDp27Fj3Of5NsobJ9CXYvfbaa8es3WbNmoWGwM/y6KOPhl/84hdh2WWXDYvLxx9/HG6++eZ5ft8WW2wRA9vzOqaFOe4BAwaEjTfe2IC5JEnSArIHrSRJUpWbOXNm6N27d/jtb38bzjvvvHoDq3379g3jx4+PrQySL774IgZGt9lmmwX6/40YMSLst99+MfOVIO13v/vduq+RHUvG78iRI2f7bwgYH3bYYWG33XarC44StN1www3DWmutFYPK1113Xfy+Qw45JH7ukksuCUcddVRszTAvjz32WPjzn/8c2rVrV/e5Bx98MGy//fYx2EsQmAzdyy67LOywww7xZ2gI/Jz8vFOmTAlL0kcffRT/v88///x8HdNrr70W3nnnnbl+z7wQ+P3Vr34V225IkiRp/plBK0mSVMUI1BH0JMOSQOSOO+4Yg4/f//73677nv//9b+jfv/98/5v8t2RilnvjjTdiP9z//Oc/4YADDoiBXQKgpVmZN954Y9hoo43Cz3/+89n+W4KjZGBi8uTJMXtz4sSJ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/m3/mxn0108j41x3cp5x3trm41fh0000gn/T/ipykernel_4816/458829596.py:128: FutureWarning: \n", + "\n", + "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n", + "\n", + " sns.barplot(\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABWgAAAJICAYAAAD8eA38AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsvQWclUX7/z9iJyLY2Iodj2J3d3d3t5jY3fogFiYGioH62Ird+fiYYBJ2ISgWKuf/es/vO/u/OZyFhV24Z5f3+/U67nLOujvnPnPPXPOZ6/rMRJVKpRJEREREREREREREZLzTavz/SREREREREREREREBBVoRERERERERERGRklCgFRERERERERERESkJBVoRERERERERERGRklCgFRERERERERERESkJBVoRERERERERERGRklCgFRERERERERERESkJBVoRERERERERERGRklCgFRERERERERERESkJBVoREZHMqVQqYcEFFwzXXHNNk/3Ohx56KP7Ob775ZqTX9t5779CrV69QBkcddVS49NJLR3julVdeCVtvvXX47LPPxls7br/99tiWv/76q+brJ554YrjqqqtKe19XXnll6NixY83X+DunnHJKGJ8MGjQobLbZZuHtt98e6Truu+++4ddffx2v7RERERERaU5MUnYDREREZNQMHz58hH///fffYdFFFx3tZXv//ffDJJOM+VT/6aefhk8++WS0P7frrruG1157rd7XDznkkHDooYeO8Nxdd90Vf//xxx8/0s//97//jcLxmWeeOcLzvXv3Dh9++GFo165dGF/ccsstoX379mHSSScd6bUvv/wyPPDAA+Gwww5r0O9qqve18sorhx9++GGE5xDZEyeffHLYZZddwrfffhu+++670f4+2oRw3FDuuOOOsNRSS9V87X//+198L9U8/vjj4eOPPw5TTz31aH//c889F8XcsWGjjTYaSQAXEREREWkuKNCKiIg0gwzaWiRBrppbb711JDGQDMcVV1xxpJ9dffXV676ffvrpwwsvvBB+/PHHBglqsPbaa8dszmr+9a9/jfTcfffdF0477bSw//77j/TaH3/8EbNS0/viUc2yyy470nMXXHBB2HzzzUNTgqiIiHzWWWeFoUOHhsGDB8fr+cwzz4zwcxdeeGF8JJ599tkwyyyzjNP3dcIJJ4Q99tgjXvMbbrgh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iIiISAtl7rnnDm3bth3lz0ywAi2Zs+kiTTnllGU3R0RERERERERERFoIv//+e0wOTRrkqJhgBdpka4A4O9VUU5XdHBEREREREREREWlhNMRaVfNVERERERERERERkZJQoBUREREREREREREpCQVaERERERERERERkZJQoBUREREREREREREpCQVaERERERERERERkZJQoBUREREREREREREpCQVaERERERERERERkZJQoBUREREREREREREpCQVaERERERERERERkZJQoC0wvDI85EJObREREREREREREZFxwyTj6Pc2S1pN1Co81/fJMOS3waW2o/VU04fVFlq71DaIiIiIiIiIiIjIuEeBtgrE2UG//jAeLr2IiIiIiIiIiIhM6GQl0A4fPjzcf//94dlnnw1Dhw4NHTp0CPvss09o06ZNfP2nn34KBx100Ej/3zHHHBOWXnrp+P1rr70WbrvttjBkyJCw1FJLhX333TdMNdVU4/29iIiIiIiIiIiIiDQrgfaMM84I7733XrjwwgvDjDPOGK666qqw9dZbR9F2mmmmCX379g0ffPBBuP7660f4/+abb7749eWXXw4HHHBAOOqoo8Jcc80VunbtGt58881w8803l/SORERERERERERERMaDQPvbb7+Fr7/+Oma5Tj/99GGWWWaJompDGTx4cLjjjjui+DrPPPPE5zp16hQefvjhcPfdd4c99tgjfPjhh/G1jh071vwdl156adhpp53C7rvvHv+9wAILhHXWWScKtyuuuGITvVMRERERERERERGRDATaYcOGhXvvvTeKqG+88Ub4+++/615r1apVtB3YZJNNYhbsZJNNNsrfNfXUU8dM2TnmmGOE39G2bdvw1VdfxX8j0KZs2WqwNHjnnXdi9mxi9tlnjzYJL774ogKtiIiIiIiIiIiItByB9r777guXXHJJ+OWXX8IyyywTDjnkkDDrrLOG6aabLvz666/hm2++iYLpxRdfHLp16xazYTfddNN6f9+kk04aM16L/Pzzz+GTTz4Ju+yyS/z3Rx99FK0LTj311PDFF19EsXbvvfcOM888cxg4cGCoVCqhffv2I/wOBF9eExEREREREREREWkRAu3hhx8e3n///bD//vuHzTfffJRWBr///nt46KGHwr///e/w5JNPxq8NpUuXLlF83XjjjeMBYoi1HB6Gz+xqq60WDwPbbLPNoliMKAxTTjnlCL+Dfw8aNGiU7YOJJppopP+3bGgborOIiIiIiIiIiIg0H5LmOM4E2oUXXjge5DU62wJA9Nxmm22ikHrDDTc0+G8gvj766KPxgC+yaxEq77nnntCuXbvQunXr+DOrrrpq2HDDDcPVV19dl51btFkAhF3+//ro379/XTsXWWSRkBP9+vUbow9TREREREREREREmhdjJdCSwTqmIOY25P/766+/onXC888/H3r27FnnSUuGa7X/LL9zySWXjJm1M844Y3yOQ8rIuk2QPYsXbX3MPffcUZzl9+cGB6KZQSsiIiIiIiIiItK8IOkyJYaO00PCioeFpWxaMlaxMvjxxx+jDcFss83W4N/DQV8HHXRQtEy444474sFhxWzSs846K5x22mkjHCT29ddfh5lmmil6z5JZi/XCQgstFF/7559/Qp8+fcJ6661X799EnJ1qqqlCjuRmuSAiIiIiIiIiIiJNS6vG/oI333xzhMO/8I3lwDAO8sKftm/fvg36PQi7eNoi9l5++eUjiLNAFiy/i9cQXuHhhx8Ob731Vthhhx3CxBNPHP9e9+7d6/xo77zzzvj7Nthgg8a+TREREREREREREZEmp9EZtJdddllYdNFF6/7dq1evaFGwxBJLhPPPPz9ceumloVu3bqP9PU8//XQUW8mO3W233UZ4bZVVVgkHH3xwuOqqq8Jxxx0X1lxzzSjgfvfdd+GMM84IK664Yvy5I444Ihx66KFhrbXWijYH33zzTfz7bdq0aezbFBEREREREREREclPoMVCgExWIFsVm4GNN944/vvkk0+OWa0NYbHFFgs9evSo+Vrbtm3jV0Tfhx56KHz++efhl19+CfPPP3+YYoop6n4O0ZaDyHgdu4Tq10VERERERERERERalED7xx9/RM9Y+O2330YQRMlc5bmGQMZr8XCv+mjVqlWYa665RvkzZOEWfWpFREREREREREREWqQHLWJpyqB99913Rzhw64MPPogHeImIiIiIiIiIiIjIOBBo995779C5c+fo+3rggQeGFVZYoe61o48+OqyxxhqN/RMiIiIiIiIiIiIiLZJGWxxsscUW0crgpZdeip6vW221Vd1rK6+8cjj88MMb+ydEREREREREREREWiSNzqCF1VdfPey3335RqL377rvjc5999lk4/fTTw7TTTtsUf0JERERERERERESkxdHoDNpKpRK6du0arrnmmvDXX3/F57bffvuw0047hY4dO4ZLLrkkTDbZZE3RVhEREREREREREZEWRaMzaG+77bZw/fXXhwMOOCD07Nmz7vlOnTqF119/PXTr1q2xf0JERERERERERESkRTJJUwi0Z511Vth0001HeH7bbbcNs88+ezj11FPDoYce2tg/IyIiIiIiIiIiItLiaHQG7YABA8Kaa65Z87WllloqfPPNN439EyIiIiIiIiIiIiItkkYLtBwM9u6779Z8jednmGGGxv4JERERERERERERkRZJowXa9ddfPxxzzDHh8ccfD8OGDat7/u233w4nnXRSWHfddRv7J0RERERERERERERaJI32oD3iiCNCnz59os/spJNOGp9baaWVwo8//hgWW2yxcPjhhzdFO0VERERERERERERaHI0WaKeZZppw8803h969e4cXX3wxDBo0KEw33XRh+eWXDxtttFGYbLLJmqalIiIiIiIiIiIiIi2MRgu0MPHEE4cNNtggPkRERERERERERERkHAq0q6222hj9/HPPPTc2f0ZERERERERERESkRTNWAu2qq65a9/2vv/4aHnnkkTDLLLPE59u1axcGDx4cXn311dCvX7+www47NGV7RURERERERERERCZsgfbss8+u+/6kk04K2267bTj99NOj1UFi+PDh8ec4LExERERERERERERExoEH7TPPPBPuvffeEcRZaNWqVTj44IPD2muv3dg/ISIiIiIiIiIiItIiadXYX4DFAY9aDBo0aCThVkRERERERERERESaSKBdYYUVwvHHHx/9Zovw72OPPTastdZajf0TIiIiIiIiIiIiIi2SRlscdO7cOey2225hgw02CO3btw8zzDBDGDJkSBgwYEBYcMEFo3grIiIiIiIiIiIiIuNAoJ1jjjnC/fffH3r16hXeeOONKM7OOuusYa+99gpbbrllmHzyyRv7J0RERERERERERERaJI0WaGHaaacNq666ahRjhw4dGtq0aRM6duyoOCsiIiIiIiIiIiIyLgXa4cOHh1NPPTXceeedIzw/0UQThR122CG+xvciIiIiIiIiIiIi0sQC7U033RQefPDB0KlTp7DmmmuGtm3bhh9++CH07t07XHvttdGHdscdd2zsnxERERERERERERFpcTRaoL3jjjvC6aefHjbbbLO65zgorEOHDmGuueYKV199tQKtiIiIiIiIiIiISA1ahUbyxRdfhLXWWqvma6uvvnro379/Y/+EiIiIiIiIiIiISIuk0QJt69atQ79+/Wq+9tlnn4Xpp5++sX9CREREREREREREpEXSaIF27bXXDieeeGL4+OOPR3i+b9++oXPnzmGdddZp7J8QERERERERERERaZE02oP2iCOOiB6zm266aZh99tlDu3bt4iFhX375ZfSgPfzww5umpSIiIiIiIiIiIiItjEYLtBwI1qtXr3DXXXeFV199NQwZMiQssMACUbTdYYcdwjTTTNM0LRURERERERERERFpYTRaoAVE2D333DM+RERERERERERERGQ8CrTDhg0Lk002Wfx++PDh4cknnww//vhjWG211cJss83WFH9CREREREREREREpMXR6EPC3nzzzeg/m+jSpUs45JBDwqmnnho233zzeFiYiIiIiIiIiIiIiIwDgfayyy4Liy66aN2/8aO95JJLwhNPPBGWX375cOmll47R7xs8eHD8f++9997wwQcfjPT6H3/8EXr37h09bz/++OMxfl1ERERERERERESkxQi0ffr0CZ07d66zOmjdunXYeOONwxxzzBFOPvnk8Pbbbzf4d2GNsNlmm8Ws27///jv+3hNPPLHu9e+++y6+fv3114fXXnstbLvttuG6665r8OsiIiIiIiIiIiIiLcqDloxVDgmD3377LUwxxRR1r7Vp0yY+1xD++uuvcPzxx4djjz02CquwzjrrhLXXXjusscYaYd111w0XXHBBaN++fRRgJ5poovDMM8+Egw46KKy//vpREB7d6yIiIiIiIiIiIiItKoN2rrnmCg8//HD8/t133w1TTTVV3WtYFMw000wN+j2//vpr2HnnnePBYkWBd4EFFog+t2TnYn2w3XbbRfEVEG5nnHHG8Nhjj432dREREREREREREZEWJ9Duvffe0YpgrbXWCgceeGBYYYUV6l47+uijo0jaEKaffvpwxBFHhJlnnrnuuUqlEr788sswwwwzhIEDB4bff/89CrZFOnToED766KPRvi4iIiIiIiIiIiLS4iwOtthii5jp+tJLL4X5558/bLXVVnWvrbzyyuHwww8f69/94IMPhp9//jlsvvnmUYAFPG6LTDfddPFgsZ9++mmUr9cHoi6QdTvllFOGnKBtiNQiIiIiIiIiIiLSfEia43gRaGH11VePj2pOP/30sf6dn376aTjrrLPiQWNk1Q4YMCA+Xy1YtmrVKj6Xnq/v9fro379//Io4u8gii4Sc6Nev3xh9mCIiIiIiIiIiItK8GCuB9tVXX41fl19++brvRwU/Nyb897//jXYHWCSkA8PIhE1etfjKJn755Zf42uher4+55547irPJtzYn5plnHjNoRUREREREREREmhkkXabE0HEi0O62227x64cfflj3/ajg5xrKTTfdFK677rpwySWXhGWXXbbu+TnnnDNMMskkMZMWUTXBvzfZZJPRvl4fiLPFg81yIjfLBREREREREREREWlaxkqg7dGjR83vG8tll10Wf9/tt98e5p133hFeQ0TlALL777+/zk6hT58+0QZg7bXXHu3rIiIiIiIiIiIiIi1CoO3YseNI33/11VfhzTffjId6zTDDDGG55ZYLbdu2bfDvJMv2yiuvDCuttFI8cIxHsdSfA8eOOeaYsNNOO4XjjjsuCrgIuTvuuGNYaKGF4s+N7nURERERERERERGRnGj0IWF///13OOOMM8Jdd90Vhg8fXvf8pJNOGg444IBwyCGHNOj34BWLuAqfffbZCK9NM8008StC6wMPPBAfgwcPDieddFJYZ5116n5udK+LiIiIiIiIiIiItCiBtkuXLuGhhx4Khx9+eFhllVVCmzZtwo8//hiee+65cP3114fWrVuHXXfddbS/h0zcYmZufcw+++xR+B3b10VERERERERERERajEB77733hgsvvDCstdZaI4ikSyyxRJhvvvniYV8NEWhFREREREREREREJjRaNfYXYCVQX+YrGbXff/99Y/+EiIiIiIiIiIiISIuk0QLtggsuGB599NGar73yyivxdREREREREREREREZBxYH2Beccsop4YMPPggbbLBBmGmmmcKQIUPCiy++GG644Yawzz77hJdeeqnu51daaaXG/kkRERERERERERGRFkGjBdrjjjsufr399tvjo9YhYkU+/PDDxv5JERERERERERERkRZBowXaO+64o2laIiIiIiIiIiIiIjKB0WiBdqmllhrl6z///HOYbrrpGvtnRERERERERERERFocY3VI2HbbbTfSc0888UTNn1122WXH5k+IiIiIiIiIiIiItHjGSqB9++23R3ru4IMPbor2iIiIiIiIiIiIiEwwjJVAKyIiIiIiIiIiIiKNR4FWREREREREREREpCQUaEVERERERERERERKQoFWREREREREREREpCQUaEVERERERERERERKYpKx/R/POOOMBj0nIiIiIiIiIiIiIk0s0Pbo0aNBz4mIiIiIiIiIiIhIEwq077zzztj8byIiIiIiIiIiIiLSWIF28sknH5v/TUREREREREREREQKeEiYiIiIiIiIiIiISEko0DZjhleGh1zIqS0iIiIiIiIiIiIt/pAwKZ9WE7UKT33wZPjp18GltqPN1NOHtRZZu9Q2iIiIiIiIiIiINEcUaJs5iLM/Dv2h7GaIiIiIiIiIiIjI+LI42H333eu+f+6558bmV4iIiIiIiIiIiIhM8IyVQPvmm2+GwYP/X1n9vvvuO8FfRBEREREREREREZHxZnEw66yzhgMPPDAstNBC8d9nnHHGKH/+lFNOGavGiYiIiIiIiIiIiLRkxkqgPemkk8Ill1wSevfuHf/92GOPjfLnFWhFREREREREREREmkigXX311eMDFlxwwfDiiy+Oza8RERERERERERERmaAZK4G2SI8ePeLXTz/9NLz22mth6NChoU2bNqFjx45h7rnnboo2ioiIiIiIiIiIiLRIGi3QLr300uHkk08Od9555wjPTzTRRGGHHXYIp556avxeRERERERERERERJpYoL3pppvCgw8+GDp16hTWXHPN0LZt2/DDDz9Ef9prr702WiDsuOOOjf0zIiIiIiIiIiIiIi2ORgu0d9xxRzj99NPDZpttVvfcDDPMEDp06BDmmmuucPXVVyvQioiIiIiIiIiIiNSgVWgkX3zxRVhrrbVqvsZBYv3792/snxARERERERERERFpkTRaoG3dunXo169fzdc+++yzMP300zf2T4iIiIiIiIiIiIi0SBot0K699trhxBNPDB9//PEIz/ft2zd07tw5rLPOOmP1e//555/w22+/jfT8zz//PNLj77//HuFnKpVKGDZs2Fj9XREREREREREREZHxRaM9aI844ojoMbvpppuG2WefPbRr1y4eEvbll19GD9rDDz98jH/n77//Ho455pgwfPjwcOWVV9Y9//nnn0fBd9pppx3h5y+99NKw6qqrRmH24osvDrfddlsUaBdYYIFwzjnnhIUXXrixb1NEREREREREREQkP4GWA8F69eoV7rrrrvDqq6+GIUOGRGEU0XaHHXYI00wzTYN/159//hkeeOCB8M4774RWrVpFgbbIhx9+GC0T+Du1uPHGG+P/f++994bZZpstnHvuuWG//fYLjz/+eJhyyikb+1ZFRERERERERERE8hJoARF2zz33jI/G8O6774ZBgwaFk08+OT6wL6i2TZhvvvnq/f9vvvnmsNdee8XMXSALF7EWgXbzzTdvVNtEREREREREREREsvOgbUo6duwYM14nnXTSmq9/9NFHdQJttcfs119/HR//+te/6p4jaxZ7g//973/juOUiIiIiIiIiIiIiJWXQji+wOJhuuunCGmusEX1usTE48sgjw4Ybbhi++eab+DMzzzzzCP/PjDPOWPdafX63MNFEE2Vng0Db8NWtRXNrr4iIiIiIiIiIyITC7/+nObYogfbvv/+OX8mgveaaa8LUU08dbr311ijQ4kuLYAmTTDLiW5p88snD0KFD6/29/fv3j18ROxdZZJGQE/369av3w2xu7RUREREREREREZFmLNAivD722GMjPIffLP6yHFC2++671x00VoR/jyrTdO65546vJ4E3J+aZZ55RZtA2p/aKiIiIiIiIiIhMKPz+++91iaHjXKB9++23w5JLLhnGB3/99VcUaoviJDYHeM/yFbAzSN+nf4+qfYizU001VciR3CwMWlp7RUREREREREREmv0hYfvvv38YH3BA2GKLLRbefPPNuuf++eef8N5778WDwPCaJRv21VdfrXv9l19+CX369AnLLbfceGmjiIiIiIiIiIiIyHgVaMma/PLLL8O4pkOHDqFjx47hjDPOCO+++24YOHBgOOmkk8LgwYOj1QHss88+4YYbbggvvvhizKo95ZRTwpxzzhkPFRMRERERERERERHJjUZbHJx22mmhc+fOYaONNooepLXK3BdffPEx/r1TTDFFtDQoctVVV4Urr7wyHHPMMfHgryWWWCLcfvvtoX379vH1bbfdNvo7nH322eHnn38OSy+9dLjuuutGOjhMREREREREREREJAcmqjTyVKcFF1xwtD/z4Ycfhtz47bffov0B9ghFD9oH/tsrDPr1h1LbNsPU7cKmS2/doJ/t9Xqv8OPQctvbdpp2YetlG9ZeERERERERERGRls5v9WiPtWh0aum1117b2F8hIiIiIiIiIiIiMkHSaIF2tdVWi19//PHH8NZbb8Wv22+/ffjss8/CvPPO2xRtFBEREREREREREWmRNFqgxSGha9eu4ZprrqnzjEWg3WmnneKhXpdcckmYbLLJmqKtIiIiIiIiIiIiIi2KVo39Bbfddlu4/vrrwwEHHBB69uxZ93ynTp3C66+/Hrp169bYPyEiIiIiIiIiIiLSIpmkKQTas846K2y66aYjPL/tttuG2WefPZx66qnh0EMPbeyfkRbA8Mrw0GqiRu8JtLi2iIiIiIiIiIjIhEujBdoBAwaENddcs+ZrSy21VPjmm28a+yekhYAg+tg7T4RBv/5UajtmmLpNWH+JdUptg4iIiIiIiIiISJMItG3atAnvvvtuWHHFFUd6jednmGEGr7TUgTj7/S8/eEVERERERERERESawoN2/fXXD8ccc0x4/PHHw7Bhw+qef/vtt8NJJ50U1l13XS+0iIiIiIiIiIiIyLjIoD3iiCNCnz59os/spJNOGp9baaWVwo8//hgWW2yxcPjhhzf2T4iIiIiIiIiIiIi0SBot0E4zzTTh5ptvDr179w4vvvhiGDRoUJhuuunC8ssvHzbaaKMw2WSTNU1LRURERERERERERFoYjRZoYeKJJw5LLrlk+Oeff8LQoUND27Ztw9JLL604KyIiIiIiIiIiIjIuBVpE2bPOOiv07NkzDB8+vO55Mmf333//cMghhzT2T4iIiIiIiIiIiIi0SBot0Hbt2jXcd999UYxdddVVQ5s2baLNwdNPPx2uvfba+O+dd965aVorIiIiIiIiIiIi0oJotEDbq1evcMEFF4R111237rl55503dOzYMSy88MLhsssuU6AVERERERERERERqUGr0EjwnF1hhRVqvrbGGmuEr776qrF/QkRERERERERERKRF0miBdqGFFgpPPvlkzddefvnlMP/88zf2T4iIiIiIiIiIiIi0SMbK4uDVV1+t+x5rg5NOOin06dMnrLXWWqFdu3bh119/Da+//nq44oorwjHHHNOU7RURERERERERERGZsAXa3XbbbaTnunfvHh/VnHbaaWHHHXccu9aJiIiIiIiIiIiItGDGSqDt0aNH07dEREREREREREREZAJjrATajh07Nn1LRERERERERERERCYwxkqgLTJs2LBw1113hbfeeiv88ssvNX+mW7dujf0zIiIiIiIiIiIiIi2ORgu0Z599drjjjjtC+/btw3TTTdc0rRIRERERERERERGZAGi0QPvYY4/FDNnVV1+9aVokIiIiIiIiIiIiMoHQqrG/4K+//grLLrts07RGREREREREREREZAKi0QLt+uuvHx599NGmaY2IiIiIiIiIiIjIBESjLQ46d+4c9thjj/DMM8+EBRZYIEw++eQj/cx+++3X2D8jMl4ZXhkeWk3U6P2LFtcWERERERERERHJTKDt1atXePfdd+MDP9paKNBKcwNB9IG3eocfhw4qtR1tp5khbPqvdUttg4iIiIiIiIiIZCzQXnfddeGQQw4JO+64Y5h22mmbplUiGYA4++3PP5TdDBERERERERERacE0WqAdMmRI2HvvvcNUU03VNC0SERERERERERERmUBotLHlv/71r/DOO+80TWtEREREREREREREJiAanUF7+OGHh9NOOy1stdVWYcEFFwxTTjnlSD+z1FJLNfbPiIiIiIiIiIiIiLQ4Gi3Q4j0L5557br0/8+GHHzb2z4iIiIiIiIiIiIi0OBot0N54441N0xIRERERERERERGRCYxGC7QrrbRS07REREREREREREREZAKj0QLtyiuvPNqfefHFF8f4995///1h4MCB4ZBDDhnheQ4k69mzZxgyZEj0tt19993DZJNN1uDXRURERERERERERFqMQLv22muP9Nyff/4ZPvjgg/Drr7+G3XbbbYx+308//RR69OgRnnnmmTDTTDON8Nobb7wR9t5773DAAQeEVVZZJVx11VXh9ddfD9dcc02DXhcRERERERERERFpUQLtGWecUe9r5513Xvjjjz8a/LvefvvtcP7558ff+cUXX4Sff/55hNcvvvjisO2224YDDzww/nvRRRcN66+/fhRhl1122dG+LiIiIiIiIiIiIpITrcblL99vv/3Cbbfd1uCfn2+++cKtt94a5p9//pFe++WXX8Jbb701QsbuXHPNFRZYYIHwwgsvjPZ1ERERERERERERkRaXQTsqsDqozoIdFdNMM029rw0YMCBUKpXQvn37EZ6fc845Q//+/Uf7uoiIiIiIiIiIiEiLE2jxfa0GoZRDurp37x6WXHLJ0BTgZwtTTTXVCM/z70GDBo329fr4/fff49eJJpooTDnllCEnaBvXsha2d9xd3+Z2bUVEREREREREJC+S5jheBNqdd9653tdmmWWWJjuga+KJJ45f//777xGeHz58eJh00klH+3p9pOxaBLlFFlkk5ES/fv3q/TBt77i7vs3t2oqIiIiIiIiISPOl0QLtzTffPNJziKXTTTddmHfeecMkkzSNi0Lbtm3j18GDB4eZZ5657vmffvopCsGje70+5p577ijIkTWZG/PMM88oM2hzo6W0tzm1VURERERERERE8oNEu4barjZaPV1++eXD+AAv2WmnnTb06dMnLLjggnXZsX379o0Hg43u9fpAnK22RciF3MrsR4ft9dqKiIiIiIiIiMiYMVYC7fnnnz9GP3/ccceFxkJW7iabbBIzdjfccMMw+eSTh//85z/ht99+C+uvv/5oXxdpyQyvDA+tJmoVciCntoiIiIiIiIiItEiB9oYbbhjvAi106tQp7LvvvmHdddcNs802W/joo4+iWNyuXbsGvS7SUkEQ7fXGY+GHX34qtR3tpm0Ttu7ohoiIiIiIiIiIyDgVaD/88MPR/swrr7wSunbtGjbeeOOx+RNhzz33DP/8888Iz2Fh0LNnz2hb8PPPP4eFF144PtfQ10VaMoizXw/5vuxmiIiIiIiIiIjIGNA0J3gV+Oabb8KFF14Ypp566nD55ZeHNm3ajNXvST6ytVhooYVG+f+O7nURERERERERERGRFiXQDhs2LHTv3j28/PLL0WpgscUWa6pfLSIiIiIiIiIiItIiaZKTfJ577rmwxx57hLZt20Z/WsVZERndQWK5kFNbRERERERERGTCo1EZtJ9//nm0M5h55plDt27d9HsVkQYfatbz1cfCdz8PKvWKzTTdDGGH5T3UTERERERERESamUD7559/hmuuuSa8/fbb4dhjjw0dOnRo+paJSIsGcfarwR5qJiIiIiIiIiITNmMl0G644YZhyimnDBtssEF47LHH4mNUHHrooWPbPhEREREREREREZEWy1gJtF9++WX8evnllzfo5xVoRURERERERERERJpIoH3nnXfG5n8TERERERERERERkcYKtJNPPvnY/G8iIiIiIiIiIiIiUqBVGAt69eoVKpXKGP0//Pw999wzNn9ORKRUhleGZ/EJ5NIOERERERERESk5g/a+++4Lt912WzjssMPCqquuGlq1ql/n/fvvv8NTTz0VunXrFqaaaqqw1VZbNaa9IiLjnVYTtQq3vPRI+O7nQaVd/ZmmmyHsutKGpf19EREREREREclIoL3pppvCjTfeGI488sgw/fTThzXWWCMsscQSYZZZZglTTz11+OWXX8JXX30V3nzzzfD888+H3377LRx44IFh7733bvp3ICIyHkCc/eKn773WIiIiIiIiIlK+QEvGLGLrlltuGbp37x4efvjh0KNHj5F+bp555gnbb7992HXXXaOQKyIiIiIiIiIiIiKNFGgTM8wwQzjqqKPio3///uHrr78OP/30U2jTpk2YY445Qvv27Rvz60VERERERERERERaNI0SaIvMPffc8SEiIiIiIiIiIiIiDaP+071EREREREREREREZJyiQCsiIiIiIiIiIiJSEgq0IiIiIiIiIiIiIiWhQCsiIiIiIiIiIiJSEgq0IiIiIiIiIiIiIs1NoO3evXuDfu7tt98O55xzztj+GREREREREREREZEWyyRj+z+ee+654auvvgrt2rULc8wxR+jQoUOYd955w0QTTVT3M2+88UY44IADwp577tlU7RURERERERERERFpMYy1QAu//PJLGDBgQOjdu3f8Oskkk4TVV189bLrppuHhhx8O9913Xzj00EPD/vvv33QtFhGRehk+fHho1SoP95qc2iIiIiIiIiLSIgTaRx55JAwdOjS0b9++Los2UalUwquvvhquvfbauozZiy66KIq1IiIyfkAQveG5h8M3QwaVeslnaT1D2Gu1jUptg4iIiIiIiEiLE2jvv//+8OWXX4bvvvsu/nvjjTcOCy20UPz3p59+Gv7666+wxhprhG7dusWs2lNOOSX8+uuvYYcddhhX7RcRkSoQZz8f9P/GaRERERERERFpQQLtVVddVff9eeedFxZffPHwwAMPhNdffz0su+yy4aabborZW127dg1nn3122GSTTcKRRx4Zfvrpp3DggQeOi/aLiIiIiIiIiIiINFvG2Bywe/fu8XHjjTeG77//PqywwgqhZ8+eMYv2uuuuiz9z+eWXx68rrrhi6NGjR8ysFREREREREREREZFGCrT4zmJ1AHzl30sttVTo379/uPjii+t+7r333qvzpk3fi4iIiIiIiIiIiMj/z1gdr33PPfeM8LUW22yzTbjkkkvCcccdF+add96x+TMiIiIiIiIiIiIiLZoxEmgfffTRUX6FoUOHxq9YINx9992hX79+Yf/992/KNouISAth+PDhIRdyaouIiIiIiIhMOIzRIWEnnHDCKL/CeuutF7/iTTvffPOFt956K/zxxx9N2WYREWkhcLDkNU8/FL4ePKjUdsw6/QxhvzU3LrUNIiIiIiIiMmEyRgItYuuCCy5Y71c45ZRTwuGHHx5233338Nprr4W2bduGXr16hUMOOWRcvQcREWnGIM4O/PG70BwgyxZROQdyaouIiIiIiIiMJ4E20adPnxG+Ftlggw3i17///jt+3X777cPLL7+sQCsiIs0eBNGrnngwfPnTj6W2Y/Y2bcOB62xSahtERERERESkRIF2iy22GOFrLW699dbQpUuXsPLKK4eePXuOfQtFREQyAnF2wA/NI+NXREREREREWqBA+/7778eviy66aN33xeeLWUZHHnlkGDRoUJN50A4bNiw8+OCDIz2/0korhVlmmSV+/9dff0VrhSFDhoTFF188zDHHHE3yt0VERJoTOVkg5NQWERERERGRZi/QTjLJ//tfevToUfd98flqsbZNmzY1RdWx4dNPPw2dO3ceKXN3kUUWiQItYjDetywC27dvHw8vO/bYY8POO+/cJH9fRESkucBc2PWxB8OXg0q2Y5ihbTh0fe0YREREREREmtTiADp27Fj/Ly2ItRNNNFGYffbZQ1Pw4Ycfhtlmmy2cd955NV+/8MILw/TTTx+6d+8eJp544vDYY4+FTp06hTXXXDP+fyIiIhMSiLP9vv82NAdyyrLNqS0iIiIiItLyGWuBthYcDIY4+9JLL0XbgcRJJ50UzjrrrCYRaOebb76ar2Ft8Oijj4azzz47irOw3nrrRcEWoXbPPfds9N8XERGRcQOC6KUP3R++KDnjt/0MbcORG29WahtERERERGTCYqwE2l133TXccsstIz2PLy0iKmIoX6Fv377hs88+a3xL/0+g7dChQ3jvvffC559/Huaff/6wwAILxNcGDhwYfvvtt/h6MXt3wQUXrGuLiIiI5Avi7GffNY+MXxERERERkVIFWg7hgoMOOihceeWVYY899gg33HBDzZ+99dZbw+qrrx6ago8++ii8++674Z133gnTTTddePnll2OW7Pnnnx9++umn+DOtW7ce4f/h3+m1Wvz+++91Yu6UU04ZcoK2VSqVmq/Z3nF3fb224+7aen29tvaFpsVxrJxxLM0VOdFS2ioiIiIi0lJImuM4tzh48skn41eEUvzaqvnkk0+i7cAjjzwSmsI+YZNNNglLL710FGWBzNhtt902Zu4uvPDCNRch2B38888/9f7e/v37x6+Isxw2lhP9+vWr98O0vePu+nptx9219fp6be0LTYvjWDnj2KSTThoWWXTRMMn/WSqVzd///BM+eP/9aPfUnNtabHPxPIMyIf4cVVtFRERERJqCcRb9/vzzz+HII48MW265ZZhxxhkb/fsI1I8//vgRnsO+AK/bF198MSy//PLxOWwOivz6668x27Y+5p577ijI5ZZdAvPMM88osxBzo6W0tzm1FWzvhHV9m1NbwfaWc33tC+Pu2qbri+B50f3/CZ//+EMokznatgtHb7Z5tHyqry/Q1vPuuy98/kO5/r5ztGsbjt9ii3rbmto72eSTh4kzOaTtn+HDw7A//zRDWURERETGGBI+UmJokwq0X3/9dWjbtm2DfnbnnXeOXzt16hSagkGDBoVXX3012iVMNdVUIwi3f/zxR5hzzjljtixvnO8TAwYMCBtssEG9vxdxtvj7ciI3y4XRYXu9tvYF7zPHBcfdCWmOQJz99Ntvm0V7EWc/+eab0Fyu7dl33xcG/lCu+D1nu3bhxG22GG17EXFzEpRzaYuIiIiINJwxEmj322+/8MUXX8TvsS4ofn388cdH+Nmpp546dO3aNUwxxRShqUrMjjjiiHDOOeeErbfeOj73448/hldeeSUccMAB8e8tu+yy0U5htdVWi69//PHH4dNPPw1rrrlmk7RBRERERMY9iLMff52HoDw6EETPuPOeMOD7cgXluWZsF07ZbqtS2yAiIiIi40Ggvfjii8Nzzz0XLrzwwnDCCSfE59LXE088MX5NVgP4z+IZW4QM2LFlpplmCgceeGA466yzwsCBA+PhXz179gwdOnQIu+22W122Lt8jCs8777zh5ptvjhYLiy222Fj/XRERERGRUYE4+9FXzUNQziXLNpd2iIiIiDQ7gRYxlAcC7VtvvRU9YKu/du7cORx77LHRG3bttddu0saSQbvKKquEZ555JloXkDm76aabxsMkYIkllgj33HNPuO+++6JAfOihh8bXRURERETk/2X8nnr7PaH/d9+XdjnmnmnGcPqOZvuKiIiIjLNDwjbffPMo0D7xxBPRLzbZETQVHTt2jI/6IHP2qKOOatK/KSIiIiLSUkCc/ejL/DN+c8qyzaktIiIiMoELtHi6zjXXXA36WUTa0047LSy00EJh0UUXHdv2iYiIiIjIBAiC6Em39gr9vi3X33eemduFs3Zp2qQTERERkbEWaI888sgwePDg+P3TTz89gq8sFgfFf++xxx7RhuDMM8+MXrEiIiIiIiJjAuLsh19+3SwuWk5Ztjm1RURERJpYoO3Ro0e49dZbw3XXXRf9XyEd0LXDDjuM8G847rjjwgYbbBBefvnlsOKKK47JnxIREREREWk2IIh2vvnu8Nk35Wb8zjtLu3DObts0KxE3p7aIiIhkL9C2bt06HHzwwdFXFvH13XffDV26dAlLL730CD+X/j3FFFOEfffdN9x///0KtCIiIiIi0qJBnO37RfPI+EUQPf4GBOXyDoyDeWeZMZy31+gFZRERkZbMWB0SNssss4QbbrghnHLKKaFr167hzjvvHOH1jTbaqO77TTbZJNx0002Nb6mIiIiIiIg0GYizfT7PX1DOKcM2p7aIiMgELtDCxBNPHP1lv/lm5BNgL7300hGybhFzRURERERERMZ47dmqVTj2urvCZ1+XnO0764zhgn22LbUNIiLSMhlrgRZatWoVZpttttH+XPv27RvzZ0RERERERGQCBnG2z8D8s31zy7LNqS0iIjKOBNpR8fnnn8cDxf75559w0kknjas/IyIiIiIiIpJXxm83Mn6/K7Ud8846U7hgfzN+RURapEB70UUXjfL1o48+Otx3333h9NNPD8svv3zYcccdG9M+ERERERERkWYF4myfAWb8jilm/IrIhMoYC7TXXnttWHrppUd6vlKphLfeeisKtE888UTYZpttwvrrrx+WWWaZpmqriIiIiIiIiDR1xu9Vd4bPvizZ43f2GcMFB27XbATcnNoiIhOoxcHtt98etthii7DiiiuG/fbbL1x88cXh++///8G8a9eu8fk99tgjZtFef/31TdlmEREREREREWkiEGf7DPgq++uJIHp81zvCZ1+WbB8x+0zhvEO3b1YibkPa0tzaKzJBCrQPP/xwaNu2bd2/f//99/DCCy+EW265Jcwzzzzh8ssvD88880wYNmxYuOyyy+Jz5513XlhppZXGVdtFREREREREZAICcbZP//zF5DpBuUvP0O+LcgXledrPFM47fIcGtbfzJbeHz0pu77ztZwrnHKVdpkxYNFigfeyxx6J1AZAd2759+7DYYouFq6++Okw//fRhttlmi68dc8wx4b333otfi4KuiIiIiIiIiMiEBOJsn37NQ1AGxNm+n30ZmgM5ZdmOri3//DM8TDxxJm1tQFts79gztteuwQJtly5dwsCBA8O6664bH+eee254+eWXwymnnBLOOOOMKNTCcsstFyabbLLw9ttvh5deeil+LyIiIiIiIiIi0lQgiJ54UY/Q7/OSM5TnmCmcffTOo/wZBLuTzrsli7aedfyuo/052nvyOTeHfgO/DWUyz5wzhzM779aw9p7ZPfQb8E0ok3nmmiWcefIe496Dds4554xfN9544/D444+H7777LmyyySZRoH3nnXfiazvvvHPo3bt39KRt1apVOPXUU8eqYSIiIiIiIiIiIvWB4Nn30y+bTVs//OSL0FxAnP3w42bU3gHfhA8/aj7tbZJDwlZbbbUw8cQTR7/ZtddeOz731ltv1b3O823atAnbbrttWGONNZqutSIiIiIiIiIiIiItiDEWaM8666zw2muvhVVWWWWE57E/eOONN8Ldd98dzj///GiJsP/++4cdd9wxnHbaaU3ZZhEREREREREREZEJU6BddNFFw5lnnhk+/PDDcNxxx0Wv2fvuuy8MGDAgvs6BYTfeeGP45JNPwhxzzBEWXHDBcdFuERERERERERERkQlHoO3Vq1do3bp1WHPNNcMTTzwRLrnkkrD33nuHSqUSNthgg7DPPvuEk08+Oey6667hv//9b/SrbdeuXfx/yazt2LHjuHwfIiIiIiIiIiIiIi1XoEV0vf/++6PoihjLwWB//vlnePjhh8Mrr7wS/WbTIWG1IONWRERERERERERERMZCoD377LOjpcE999wTrrrqqtCtW7cwaNCg+P17770XDjrooPhz77zzTnj22WfDzDPPHOaff/4wySRjdQ6ZiIiIiIiIiIiISIun1Zj88HTTTRf22GOP8OSTT4ZJJ500dO7cOay11lrhsMMOC1dffXX8mcknnzxceeWVYfvttw9rr712uPzyy+NzIiIiIiIiIiIiIjIiY5XeiuB6++23h5lmmqnuuZVWWikKs8ChYT///HN47LHHwg8//DA2f0JERERERERERESkxTPW/gNFcTZBxmwx2zb50oqIiIiIiIiIiIhIIy0ORERERERERERERKTpUKAVERERERERERERKQkFWhEREREREREREZGSUKAVERERERERERERKQkFWhEREREREREREZGSUKAVERERERERERERKQkFWhEREREREREREZGSUKAVERERERERERERKQkFWhEREREREREREZGSaLEC7fDhw8tugoiIiIiIiIiIiMiEI9BWKpXQtWvXsPzyy4fFF1887LDDDuHjjz8uu1kiIiIiIiIiIiIiLV+gveWWW8Idd9wRbr311vDmm2+G+eefP+y3337hzz//LLtpIiIiIiIiIiIiIi1boO3evXvYe++9wwILLBCmmGKK0Llz5/DTTz+F3r17l900ERERERERERERkZYr0H7zzTfhyy+/DMsss0zdc1NNNVVYaKGFwn//+99S2yYiIiIiIiIiIiJSi0lCC+Hrr7+OX2eaaaYRnuffiLf1HSI2ePDg8Pvvv4eJJpooZt22mbxtmLQyWSiTaSafNvz222/hjz/+iL66tUjtbTtl2zBZKLe9007Z8PbOOFW7MPlE5bZ3uimnG2V7U1tnmXrGMMVEk4cymX6qUbe12N7Zpm0XpmpVcnunbnhfmGO6GcPUE5fb3hmmbvj1nbP1TGGaScpr7wxTt25wW+dpM1OYdtIpQpm0m6bh13beGWYK05Xd3mkb3t4F2s0cWk9Wbntnmm7U/SG1tcOMM4fpJ8+7rcX2LjTTLKHNFFOGMpl5DNq78CyzhhmmLLm9radvUF9YZNZZQtuy2zp9w6/tYrPNGtpOVW57Z51+1Ne22N7FZ58ttCu7vW3aNLi9S84xe5hx6qlCWcw2Q8PbutRcs4WZpimvrTBb24b3haXnni3MNG257W0/Ju2dZ/Ywc8ntnb3dqPtDausy884eZp6u5Gs7mraO0N752oeZW5fd3hka3t4FZi+/vTM1rC8s3WGOMPP0U4cymX2mhl/bfy04R5i5TbntnW0M2rv0QnOEmUpub/uZx+D6LjxHmGmGaUKZzD5zw/ruUovMGWZqW25bZxuDa7vUonOV395Z2ja8vYvPHWZqN20ok9lmHbG9yXI1aZCjYqJKfe+wmfHKK6+E3XffPbz00kuhbdu2dc8fe+yx4ccffwzXX3/9CD/Pc/379y+hpSIiIiIiIiIiIjIhMPfcc4+gVbboDFrUcqg+EIx/p9eKtG7dOl6gySefPLRq1WKcHkRERERERERERKRkyJxFl0SDHB0tRqCdbbbZ4tfvvvuu7nv49ttvw2KLLTbSz08yySSjVa9FRERERERERERExoZppmmYTUSLSR3Fa3bOOecMr732Wt1zQ4cODX369AnLLrtsqW0TERERERERERERadECLey5557Ra/aNN94IgwYNCmeeeWaYddZZw1prrVV200RERERERERERERarsUB7LTTTuHXX38Nxx13XPj555/DMsssE6677row6aSTlt00ERERkSzgfFhOuxURERERkTxoURm0sO+++4Ynn3wyvP766+Hqq68O7du3DxMavP/PPvssNBfOOOOM6BXcHBg2bFjo1KlTaC488cQToVevXmU3Q0riwQcfDFtuuWW48MILw4svvhj++OOPZvNZdO/ePbz66qtlN6NF0r9//3DBBReE5sJTTz3lONaEfP7552HllVcOp512WhwTvvrqq6b89SLjbZOhOdGjR484DzcXTjrppPDTTz+F5kBz6wsizRXO+hGRcUuLE2jHpTDXXMQNLB4233zz0LVr19ju3Ln77rvD9NNPH5oDb775ZrTPyJ0bbrgh7LXXXuGKK66Ii+/mErzSdw888MBw2GGHRYHuww8/DDnz8ssvhz322COsv/76MXM/N+aff/6w/PLLh+eeey72h+WWWy6295prrgnvvfdePFEyx0XhoYceGj9/KiGaC9xj+J7nzCuvvBK23XbbaP/DJl5zmB/gkUceaXaVML/88kvIlamnnjqOBzPPPHMUjNZcc804hp1++ulxUy/ntv/9999xXttiiy3CZpttFh5++OGQM2w+H3/88WHDDTcMO+ywQxTHpWm4+eabw/fff5/95eS+Ovjgg6MFW3MRPP/666/wwAMPhOmmmy40B/7zn/+ETz/9NDQniBf++eef0FxoTvHYs88+G3bdddc4r51yyikhZxgTaOM+++wTLrroouyTKXbcccdw8cUXxzGiOcA6J/fYvMh9990XNZxVV1017LbbbnFj788//wy5QrzYXDSGSqWSdXxbRIG2gSIM2SaIR4CNQs+ePev+nRsIRZdeemm45557wqabbhoX5bnCoLnuuuuGd999NzQHOIiOBWLugQoDe7t27cIHH3wQLr/88rDSSiuFo446Ktx111112VJkAhPE5ALCNxnwBCa//fZbuOqqq+ICfJVVVgnHHHNMnLRyguxOMtDWWWedsNhii8V+AW+//Xa47LLLQg4stNBCURxgoYXgOdVUU4UhQ4bEsWG77bYLK664Yjj88MPDnXfemc3Gw0YbbRQ//6+//joccsgh0UP85JNPjkJMWtzSL7755puQC4wHW2+9dTj//PNHqGS4//77swpiF1544bDEEkuEt956Kzz99NNRvOeeu/HGG+s2Q+gnCGC5wH3F/Pv++++H5gCiN374jLfFGIKx9/fffw85MMMMM8TFIJthzBU33XRT2GCDDeI8zOYI/QIxsUuXLtltkp166qnx8Nfdd989jmWtW7eOz5MR3rdv35ATjGP0BYTw7bffPl7LWWaZJS4SEOxy2yBBPKadbOTx+RNHcvBubu1MUCl3zjnn1HyNNuci3iLOMw98+eWXMe5iQ+TEE08MDz30UN28y/wxYMCAkAvEYauttlq815oDbDgTJ9QSCphDcqvSY85lnE3CyxdffBGFmJz6QPH67bfffjEeK957xI2sh3PjmWeeibEYc9oCCywwwjyM7WFu0G9ZpxOfs0HK5imHm6dkitwyVmnvvffeG9cQuW+KML6yXiBhLfHYY4/FsTfHzRHGAPoo6yDEWdbx9OVtttkmS93h3//+d5wnkl0WiR+8h5zWZwnib6xQSQJKPP/883E9nKUAXpFR8s8//1TWXHPNSo8ePSq///57/PdOO+1UWXzxxSsdOnSoPP7449lewV9//bVywQUXVBZddNHKscceW/nxxx8ruXHGGWdUllpqqdjGE088sfL888/H65wr9AXau/LKK1cuu+yyyvvvv18ZPnx4JUe++eabyo477lj58MMPKzfeeGNln332iW2n39L+JZZYIqs+0b1798rRRx9d92/utXfeeafSrVu3yu67717ZdtttKzmx1157VQYOHBi/P+KIIyp33313/P7ll1+uLLnkkpVhw4ZVcoF7aptttol9IjFo0KDKNddcE++91VZbrfLWW29VcoFreNxxx1X++9//Vrp27Rr7Me1ccMEFY99dd911s7rvzj777Mqhhx5ad3253xZeeOHKIossUjnqqKMquUFfYOyiz9K+FVZYIY4Lyy23XGWxxRarvPjii5VcePXVV+Nnz2OXXXap3HPPPZXvvvuukivXX399bGcaGx555JHKQgstFNu/8847V3Jn8ODBsc0nn3xyZe21147vJxe++OKLyp577hm//+WXX+J8luIFYhxiiJwgbmQsAK7pvvvuG7//7bff4pjbu3fvSk4cfPDBlQMOOKByxx13VM4888zKhhtuGMcFrjPxw2uvvVbJiXfffTeOs88++2z8999//1154YUXKscff3xl6aWXjvNILrzxxhtxrH377bcrV155ZRwjinPaGmusEWOeXOAa8rmz1jn11FMrL730UuXPP/+s5ApjA+29884747+JD7jmp512Wpzf7r333kouMDcw19JX4fvvv6+stNJK8VrzHj7//PNKTtx6662V7bffvtK/f//47yeffDLed/Tf7bbbLqtYDJhnv/322/j9fvvtV3n44Yfr2t2xY8dKTrAGW3bZZeN8liCO7NWrV6VTp05xbOjbt28lN3766ac4nrGOvOWWW8puTr0QExxzzDHxHoMrrrgixuX0X2KcnGB83WqrrUbSQOjL3H+XX355JSdYn9M/33zzzfjvAQMGVJZZZpk4jjG+5aQvAGvJvffeu/Lll1/Gf3OPpXEsxWY5oUA7Guh4W2yxRd2/mfy5UbiRLr744rgoz4lPPvkkBiX/+9//4s3zwQcfVB588MHK6quvHm+Y3ATloUOHVp5++unKWWedVdl4443jYgCBAEEOYS5NsrnAxIlAwMRJQEV7l19++SjQ0TdyCrBrQb9lkcWikX6SE1dddVXdYrYWuQWBm2yySV276ANfffVV3Wv/+te/spqcuMfOO++8mq/Rb0d13XMaK5555pkoGH322WeVnCBISYIcYwRj7UcffVR577334uSfk1hf657ia58+faKglBYzuZA2aq6++urKrrvuGucHxl3uv3POOSeK+Dmx9dZb1wlZ9NlVVlml8sorr8TxgbYXN0lygHmWa0mAeu2118Z+UBxrEb1y4dFHH41BdlpsEyckHnvsseyCbEQuxgBgMVgcZ3mN+y23cYyNuyJJLGAxXrZAiyhQHWMxBrBxjqCcYjIWuTfccEPWgmJKonjuuefinEbsnhMIRk888URMolh//fXjdUWMYWP6uuuuKz2+GTJkyEjzKp85Ytf5558f+wRt3mijjaIoUxTAyoaNcfprgs1o/s1YyxxHskJOkJRE8gwgHrGZQL9lfYagjDCTC4wPm2++efye/sFGTRrTmNcQZHJKAkIs2nLLLSvNFeZkNkAQvnLcOOfz/+GHH+L3xOis1eivzGW8ltO6kqSJYpJS9TycNqdzgXE2xWNpM4R/M+9yD/7nP/+p5MSGG25YF4+RiLDiiivGDVM2nhgXfv7550pOTFJ2Bm/ukKZNOSCQXk7JHyUHk002WSwX5bCVnDjyyCNj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lQs5iZ196zFUUk2cItKogGQPn4tYPz2pWYE2uXkQNVigkkXLoMQvm47dnB7lsnBB1MIhi1OODBNO6BlEmUyZSHNxHyY47eSNwUKE0xcWAIgELAy5XiYuPhbdvZbFdOW9Q9Q64YQT4skLb2qejyeffDLkBEIhrkgmTU6GiDrguvl3Mclyilykqw9XesoqQiDifUQZPsI3gySLFBYnnHCxMMilWzBwbWwMKidS3oN8j4VBzu5kFtpMqmxocl+05A5iPW4YpkCe25VWWimOuYwNnCzz/OZUWtm9e/e44aa0C9csWWeUUDEWM1+ISONj3333jYIcmalkTSImsi5jcwgc8OZiRqh2WCuy/qF8lcNc1j25gEDfv3//upgAyu2Z29j3pP0E6+KiK0KILPjPf/4ThS2MMwhabLIpaWYf0bVr1xj3luNBCKXBGDuAMltEA5yJlLRzWM49btq0acgJngHyk5OggSiOu5I9BQJukVAtitEHMREwpaR9L3ud9KySj4qZBsExF3CiVpojEJspw2bPw1otB8MS9zZVhzE+YLBiDZnEWsaE3DQGHKk4elPuN+MEFYRcLwc4uZlSqF5DhK1PlGcvz0FEubO2SDD/sWbgWWVsYI+O65t+LBhAcqu2GTRoUIxqwrTW6CjVCHRMvOmmm0pDhw79TUe9PffcM3aXp6ve1ltvHbvL5whdFgcOHFi6+uqrY9e/1AXwjDPOKOXETjvtVHrzzTfr/kwX+UGDBsWu3Pvss0/prrvuKvT66HC+xRZb/ObrdC6ko2nqWvrOO++U1l9//VJucB/5vdNlkQ6m3F+45557YtfVojnqqKPi/eU9V/n13LvI011z3Lhx9X6PLqY8I9XAF198Ubr//vuLvoyqhbGWTud03/3qq69K22yzTenggw8utW7duq57N12Pc2HIkCGlv//97/HZpTPzeuutV9eVlWumC6+INC5Yy6y++up13a2Zg++777749V133bV04403lr7++uuiL7OqYf3FPRwxYkRcnz/44INx/OW+P/roo6Vc+fLLL0u9e/cunXDCCaUNN9wwzmlFrxlYm7MGf+GFF37zPZ5Z9j50becZzg2u6dhjj637c8uWLUujR4+On5955pmlBx54oJQT33//femRRx4p9evXr258ALqdP//88/HrufD555+X7r333tIxxxwT31s8q+zZWfNceumlpY033rg0ePDgUk5wzXSP7969+0T7Ya4TnaFoLr744nhPuc7ETz/9VHr11VdLl112WalTp07xHrPXvOqqq0o5MmrUqLgOP/nkk0vt2rWLzwXjB3v3nDjiiCNKxx13XJ22UL7P2GWXXeI6PRcuvPDCOM4Cz0G3bt3i50888US8x1xzTpx++ulx/rrmmmtK3377bakxkdcxxDSAY4AmL5QhkXuXTod43XTTTdG2jQOx6LKDyYGLi9MhXpTPUM5BzAGnsznB6RsnsInU2ZYXLo6iodSkviZlnBTdc889dfZ9nCapE3ou4OzGMYuLDzc1zy/3l9NEXAdkChUNMRGcZu2///4x55fIEFynOKlzKwmvhJNt7iNuh/LgdsYGSsJyckxODlzUlCdZ0j710Qa4M1LjCU6SDznkkDh/UAGASwpnQS5QDYB7hGt+8MEH6xyzPMM0wsQVw5ghIo0H1oesYVJ/AuYwqlpY47COoPy6Wua0HGCfQOYplSo0OuRFVAAloZXQsR03Uq5QUktTIF7JSVd0WTsuM9aM9VV88Myy72EfhLMyNbrLBaquiJHAgcg1smZM7y3WDzwnucC1ERdBTBOwPm/VqlV0plKOT7VjTg2seC7JHOWV1mfJ9cmeh/daTpV4OFEPO+ywWMGE6xAX+CqrrBJzk7mv5I4WCdeD4xuHN3t1rinpIawTeQYY53iW+bfkUk2cYPylmRUfua8peo7eMjjBc2toxr6Xaldynjt06BCjL9i333///fE9l1OTMKINGIeB99fBBx8cPye+hfgeIjFyeR4mTJgQx1qqEqh2JkaCnkHlees5uNRnFDUj0FKeTMbs4MGDY4TBVVddVde5lnKk8m7XOTXbmhz8e5iwyGDJBQZNBnVEOV7c05wGH6CUgEGG/NbyXB3e6OXZrQxUrVu3DrmAqMzvmq6glTlciOI0hcohn4v7yEKaAZLOleSxUZaGeJRTyV99UDrHRMpCiuzk1HCLyAbKVKplsGdi5b0nUwcNdco3KEnYIKuRDS0xEjnlMHGYlA7F+N1TXpngOqtlThOR6QcCEfE8lIizWUEkSmXBiDSULUrDQdAmBi2VW1MGTpwQJcDMD3xML0SjaiIHQY5mnL/X1JQ8R7Jcea5zEQqAnEayRZlvWSfSaAkBhvcd+yJK2nOBPgu89znE5xCHEmsEe+4r+wzWORgqcoU9Oy8aOjOOkTmZy9qcwxqiIWhwhlBII+q0Fqc0HxMYkQxFwp48ibNkVCexm3gRvsc+MkVJbLjhhllFBnCQxO+de8uzyziAeEisF9eO1pMT6dCJsYDDBMwUxGtyCIIBBCE/Jzh05D3Fvhe9LGkgPAPc36L3EhwsoCM0a9YsCrOYZYDnIDVGxiBG1CaHTrwPa5WaStVlAGdQJ8s1BfoTLM6bh4mKcHdOj1LeTQ4QhM31XXjhhXHC5AQ/wSlibhHBDDq8mPxxUCLSIXoxSCFq5ABOWZyFZK9xD+uDCR9RDrdcLjA44oapz63BJJqDOFsOJ5vkeOKcZhJC7KyGTQoHNyxMGNhxTZLbR94vjVaKhIkHNyTXQ9Ydolx9MCbws0XmPFc7TP4sXEeNGhXvJ/c6CRssXHjlBPMWjWBwazC/pd99anKHI0JEGt84xoY1bbBx+bFRRLClcmz11Vcv+hKrCoQrTBHku1OVx7qWw1xMCWwaWfNwWF5t4mwu4Diur7qtHARQxPDUeCsXuC5ELz7iSMWYQHNnnL5U2/Bs5AJCBkYE9hOsbzhkIMeR/gu4+8h9zUXw/D241xyW5AJ7SvY6CIgc7Kcms8C+E4EpFzhEQIjlUIS9GiLteeedF/dBaA+YwOjPkxNUOLLWpTEUek4Sv6kaZG+UE/zueV9hWkIX4T7TxwQxmffgkUcemZ2BjXEKIxgHkWgKKTObnhaME0U3FOVwA6d0JRzWIXijlfEc8zznJn5Pb/I5NplOPPXUU9ElW14ewwPJZIUYgxCTkz2eEglCmR977LF4AsvCj1MBnJ78W3ISEIHgdl7lZSgMRJwosvjCuVzu7ioK3L0IbojfW265ZZw4udeAwEGZPs9E+loOsPjj9AoHASUTuZVG1AfXy4SKgMxJF87aU045JZtA9PpgoGei58UJc3JEFA2bEk4zcT/gluZ3z9jFc8BBCJttrpXNdzW4lXMGQRNHDG4Hfvc40XDHcI8R8InLyQnmLQRlGquw6GbxyrPLRotrzqkDr4jMPGh6mmDtcPTRR8fDR4QYqkSk4SC00LC3vLkO61s24cQiIdwyFzMnM38wZ+cCkWiYUHJm2WWXjXPW5OKDEL1wgufknk0CEWsz1gtU2bDHYF/BPJxTJR5glmHNADQDSs8pzywCSG6NzKoJ9rkpzoKxgbGgvIN8ZQPioiHuAPGNGCzWuxzoUYYPCGE5RXPQ6JDXGmusEQ9yWPNitgPWvugLOcH9xJmOsY51eTVAo0NE+WSuQgznOUCDIkagaMEb81ylGe3f//53FL/TuMUYTOVC7vrItFJzAi2l7fW5TnnzsHglk6d8MC0aBJh08pos3JRZ4ZTiJJ/S8Zz47LPPYr7OiBEj4mKVcnzuK6fdlC/RCT0HELDIbWVA5yOukvLvkbuSU0dQ4FSWTQHuSLos4gRGDE8deOlimiuI4AhFDKJMpAi1vHIfQBkXeJYpUSv6vcbvPy1GmDBTWRJiLc8xYjgbAe6p7tlpgwn+3HPPrfszG1ucBcwdHO7l6DzjvcUGi/GMTS6uOQQYssRERKjA4MAfgYYxLKfS1WoDlxkvsjwRCwYOHBjXZqzRWU/i5OF+5wBrb6puchdo6adB+TLCAA7U+iB/dvPNN4/OyZzEb/pXUMnC3IshATgs51pzOOAvB+csWfWUhlMdlHqvINbhBuejTB3scXm/caCPgJjylNkDc3COQSwniKEjKoDDEUrwef8BZfiYmHLaoyF0UtUGOJGpVqBKBHhmc8tT5+CO9z4aCOvwajBVcT85wEWgRbhnXOMwjPmMfXyRUEXO+6d83TJs2LDwzDPPRGE5waEYRkDiTKtFGJ8aam71xi+X5ggsAJg4yyFvIxeRi4GIQT6dbuJ2SBbu1LgmNxCNGNxZtPImZwBFLOC0g9KZ3JrU8MalxAAxljxaxGUGeDYuuTWLYwOACLv++uvHPyehls0Ap1qUJDCQ8pzkCoI9ZZXdu3cPt9xyS+GC55Q4Izi1ywkc9LwoQWJh8vbbb9cJtjSqYDKVKYPSIzK4cKdXCrAciLA4YfOSQzMKmiNwsj106NC4kE55uDiPcmpeJiL5zcOsd4g+sYnk9IENI1UX5c11chIQ2TtgPCEeKycDSiUYDliPU22FQMBeh30DeyD2F1QRsr5hrZsLX375ZYzLQ5Tn/iJ8JhGOr7GHozozJxDqqcAE9mpUDSJmENeB6JXinGTKwcVHsyIi/hC/cdQOGjQoNtsi+o+D/lxgv8B4QFQL5jQOmWjIxn6T9xp6SA4Vrwn257xoCsb+PRlRME6QO5qbxsB4hgM5mapwTydTFa+cqrWBMZY9EFUKHDSg3+TeW+XFF1/8TVNJTIxU6dayOAuzlHILOZ0O4DjDEk1uDSedWNDJBEmZUkW7Cnr37h0DjtNJEbDYa9++fTztyrU8HGGDyIDyNxBOX3KYEDUodZepAwcnJfepnJ17nEq8mEwRw3HG5H46l+DZJpOnyAMQ7ltDAs/JKmYjS5OwaoASIJ6DnJpY5Q7OBhbOiLCMsZXdrDkIYcGSQ8kqzy7OBhb+jAWphBmnN65f3BAsqtmEWaooIpWkiKRcD/tl+rLffvuF4cOHxzUjn/O7z3l9gNsXpywO1HIQYBBncjHSwEMPPRTNHdxXchuTASE1hWLtcPHFF4dcwCWJOSlFYLGe4NoRaRFmcQObWT999jg4EWk2jTCLeYZMzObNm4dcIMovNUhHkP3qq69iNAew32QdTKVjTlBJTAk+YiJ7XnJoEZepCqGnUG6iZ4LxN0XiINYj3jNecGCaA0RSsmdAE+NayZq97LLLoobDAQOxLUWDBsb4VN7Q8qCDDorXlmI5gL0c8xv9j2qZmnPQAhkruIw4HeDEEA2aUw1ciEWLswRzkwHEKTzlUTg5ce/h4kvdAHFM8YCS5YljNRfXJK7OytMNyiZwTU6qXEkaBrnDOAsY4MnzZcLHQZnEWp7fahFnoUhxFng/4Z7mvibRmyiRynuYco6q6XDBBiVTnmvEZpD5YFJjKY4I5okcOoLi0OE5Za5I8xULaypDyObC/YvgzAaBOU1Eah+cOhzI/J7wlppIkkUrjQOiAxCKWD+yCedgGpdncnIhcuTEpptuGl+IMIi0OFMxeeTUDKr8/fTRRx/Fz7m/5fFSvCcxAOUE+8dyswHjBesF/g24aXXPThk8m1SIktHJwRexEWmPg3M6N/d0fc8ue0iEw/KGYDy7uUQSlsMhEyY2yu+peqPymbGBStKcxFkOPjisQVCmYptxAe2JF1WPXHcu4myKY2AfRMUzprpURYhAS+46JqUio1owoBATUi7O/vz/9udoIuWwvjnxxBNDrVOTAi0kgTMncETxoHFCUD7J0zmPjTennEcddVQ8FcBRyyIrl5NkBnpKeSjtqpzg+XOlI02mDE5dcc3xSnm+TFB33nlnLK9CvKXcXRoGQhxOSQZySmMoF6+v/ISSn/KcI6k9KPXdbLPNJnvQxbhMdjJO9cqA+pkN73sW0uWHiZx0c30srICDPDblPOO5NaUQkekPDijKE8khT4eObAwrN1VUi5Ffz7wmjYMkeAJOsxSHRHY9h4+4J3M84E9RTjnD+wy3IdeJyJX6BOCqpVqTuIZcQBjChUyVTeWebPHFFy/suqoZ9g7EceBKxpAEGGiogn3uueei1sA6jB4SucG6lygGtARcqCmag3UuERgIzjk9u7i/cXqie/AcX3HFFdlWAuCax0GPyI3LHn2HfTzXTfPx3PpY0J8p7W3YF6MpAM/1cccdFwX7IjN+ma+IXmCfk4xps846axy3yisbiX/jYC+3+zsjqFmBNkdw9aWTlvpA6KREgrI0TmE4Icgl54pNAGUx5IriNiyPYcClnENpcK3A75yJlBeniQyalipOGZxc4j7nheCNEMvimomJBTaLASZTyjwq822ktkCwoFRqcrD5YmHFxF+0QEv5UdoIJAcwJaE4OBK4wRlzOTRToBWpfXbaaae4FmAOwwlDmR8Hi1SLpUNHRFnmOee0xgNrGVyTHOTj9iMLsWPHjvHFnxHrchRnqwXeY5hqKAX/+uuvo9uMNToiF2sGGiXndIhDPiN5szS3oywY92FuTcyqBSqXqKrq1avXRNEFCJsIWlSO0sAI1zqVTxyM5QKmKkQsmiulWAPcvjRYQqxlnEgxerkI4RiSWNuyX8OUUF4JgJCYy/WypyQnmwMaqhMwVBAdgLhM5RvvudzcyWRpjx07Nn7E/JHMfzzHzA9FP7scMCLGI9TyXrrpppvi1/mdI9TzDLA3Y/3DIXUu2tiMRIF2JoKVfHJCASccDPSUTiAY5PQAstBjoOc0jlM5Bn5ODjnNwMr/3//+N+QETTIY4BE7yGJigZXrIpUFNBuv+kqPuM/kXe26666FXFstwPuIAZ0X7nRc4HSLTC6TytgOqS3YnLAwacjPFb1IARalZEIlZ9H1118fT5XLxwdKf8i4ovpCRGof1lu8WCOyyUaISYeOVAmwIWfTRell2pBL7YO7EzfnjjvuGB2zqQEuJa2UrZYf9knDQHylio33E8IL63CEOKpbyJdk/j322GOzi3ajsoY1AWMC7j4EWyIYkuMeMdlqsYbDoXi7du0mEmf79OkTnX7cX/YWCJ0cnvGzORlp2P9y7eR3ssdBUKTZMNeMoEjEYk4gzrLXTXEs7ItTpivjGo7wXARa4h65nnSt7C8QlrmvEyZMiBEjue0rEbhZO7Rs2bLuABehmQOnDTbYoPBDHMYtxi9erGXee++9ut8/VRbx4zsAAE7pSURBVLAcSmNG4bXXXnuFxoAC7UwEgZDTi99rDoNQm1PzF5oScWLIIMnpELkw5F1xndjP2QzkVE5HM7jDDz88RgIgzjIpce9xm7ForcwzKRquh8Uf4n2y9jPYc8rFya3xEdMXhK7ykkCpbYiPYXJnPJiU2xTRHlcBFQ5Fw+KOskkOmYCFNRvDctgksDjMQVAWkZkL3YuTaxY4KEeUYUNDOTtRPlL7IMxS9YFBghJbyq45iE4CB9mjCLjScGhEVH7Awf3EoczBKYJsbqIsDmr2N6xhiPVDzEAoROTAPJMOcf75z3/GLFXd9Q2H91Zl7ikH5imGEPjIeMv+MrfG0xzQAKYvxLmcYLyinwbCIAYwnuPyrGw0BZ5jXnyfVy4w35Y3oOZ3n/qu4PhlL5Hb/pKK7JNOOim6fjm0YRzj+eb+I47nBNe04oorxleXLl2iNvbaa6/FcawxVQjVjECLtZyOhUxSiFucGPJGSafJOcBEj5OTGIP6BE3ETnJoeWPntAh4/fXX4xsEEA0pmynvqJcbBHenhSrPRHozkxuE0MHkmlN4NwtoHJ0MPIgxnHwi0CO+cM18TUSmDsYqNiaU/BHPUll6xMKPcYJ5I4fDELqWsrlirGIhxbWXO2WJPDj33HOz674rIsVA3Enu6zKZ/qRcSTa0RI0xh6UmojimEBul4eCEY+/APo3oENblNNujwWiuri3EIUQsGqzROBQTEOsFngnWOrzYV+Lsy6kqsxqgspH9b4L3GPe7MtaCr+FMzAV0EN7/VFnk1FirHCJ6MHuliB6eX2IgcaxXQhYpr1ygKgEDBS5P4gwwsSUBGXftX/7yl5AL7BeI6WAM4J5TBU1mLi5wnLNE4eR0vfXRpEmT+Jzwok9TY6EmBFpOXg499NC4uUbkxEVAfgViIqUpiLU4U4vO6mMhRVd5cjFZBODsKoc3OBtvbPw5DfbcV6zwaeLPHQbOFOTPs8CpETBR8WIyzUGgpUyRgZ2So/LNFbEMlFexWNxkk00M9xeZxsmdUj8ETcpAcarjeMBdz/uP0jRc97fffnsW9xk3DPMZr0poRsEiloZn/FtERKRxggEF0YgDvUpnEevI8l4R8vtQycY+baONNop/5iPiJ/cyV9jLUFqNM46O8uuvv35sUpQc9vx7+HeRY09jI2k4W221VXQkE2OA0E0FKU7k8nJwoqaoKM0pVgZHJK5v9u3kERORhQ6SU68YKtrQOnBFYlLiAIHGVUQytG/fPq7R64v9ywF0EJovpvgY3m802kJv6tmz528q3oqE3Gz2NoiyZ5xxRjSulTuVJV9mKTGzVzksUHBGMXimgZOTxJQxiTW6d+/eWcQGYI1nEOKaCDymnJ1FFIP8o48+Gjuw0qk3p86miISctrAY3H777ePgibica3dFBn5cytjjcSNzCs7JMWIMJ0Y0UyhyokKIJxCdjpWUMueUWyRSq1AFgBud0i9iTyix4nCEDQ1iaArNzxkWshwyUWGR6/grIiIzHgQY8i+Zu3BzXXDBBXFfQcwFlWKsM427aDi4ZblfuMoSVNewf+B+5gw9QshvZF2DWM/el4gDnIfsizGt7LDDDkVfZlXqC1QxUc3YqVOnie4ha0pKx/lI5WMukJFMjnLK8ORzjGyIzIj2jBk4VnOB+5cy1cufWyoC0EgwtRVpsHv11VdjMy2aAtYnGg8dOjSuzTGxJZE5J9CXOJzBScvzS342DbIlb2pCoOUNzcabxUk1wECJYHzffffFEqXkoqQkAWGRstacKG+qxABKbgllVGuuuWYcPCn9yakBF0L36aefHoUXBibKlbD5s0BBuC+6oRkTOc8rHTURuytD+8mdZUGFGC4iM+6gJKeyKRGRhm7AeeVgOpBiYW1LjwicaDwPiImse4n0IZNUGgZbYfYMuA+prkmQgUgFZmVZey6wp+Ha69s38mxgBoLcMjGrHYxU9GVh78szU95ILBcQlclK5SPN7dIe/oQTTqhziedIylTnhXCLVkLuelGgHdDAjN81B2DJnU41HpXa1QLVxTjAMQIef/zxHthkTk0ItM8991zM1rjiiiuqrqQHkYBT8CIHn6lpTJBOumhEkFvANCCAEyPB4oUJChGcnBWiL4rM5GHhjChLNhhxHPVBQyNEZUqScohiEBERkeIPyzl8fuSRR+LaMUWhsAHPqd+CzHgGDRoUS1WTQPDuu+9GIwVuNMwTvKThcP8wm1CJmXqEEENGaTixQrmVW7N1p6ye6911113juJB4//33474nl673tQgl4+x/d9lll9+YbIqGknaMQAj0OE8RY4n4yrG0HWcqoiGVukQx5Ep5VTbCMToIcy6u2tTce5lllgk5we+fagrmCMRlXpi/0B+IdmNsQ2uwGi9Pql6gZWHKySAPIiInnxMyzYOXQ8OXaofTV3IPyYch9zANRGSu5A4LVRZWH330UTxdZgIoepFFeTUv8msmB7EHlEngghAREZHGzeGHHx4Pdlkb4ICh7BpnHxtcsuVy3uDK9IVmL+QLUoJfDfE8uUNVW+pXQcQcex06s2NGoUlYbiCs3H///bFpDnsz9rsc4HTt2jW6JRFiKGc+++yzJ8pMldqG/SX5s8QC0Gia/goPPvhgjEChFwPaSG6xIrj+OWgsd64TAYijPUdRGbivSbDl/Yb5ivcgBya5VEGTS030AnEG3GOqbjjYpYqbj5jWEGolT6peoAX+CZwmJ1cnoiInnwQ4b7nlljE2QKbuvhK7QPA1Vv4UMM9ARIYrbmXE21wyrhBkCeomY5aFFQ6CVIqQTsRzWFRRvsHmanLQLI4BtTF1LBQREZHfQh8AHHPdu3ePB+ZstGlOg4uHr7H2ZVMrjQPyDokwQBxAWLSXwbTz1Vdf1YkuvHjP4TorN6ewH2JtXiRUXbZr1y7cfPPNE2WJEnWBCEMOJgISTYHYQ5CdKo0DhNkLL7zwN65e5gackwi4uYCxDoEWQbkSIitxqXIAlTNDhgyJRjDeixyeEn2RCxzgkUOOQM9zQVwL8ZRSHVRlAB/qf+VkxaS09tprxzBvQr0ZjLD18z2ZOmikw+IEsXCPPfaI+Vbko3Iiw0kt97dFixbZ3F4GSMqUcJPgPOUaaR6Hc3aLLbaI8QZFw0kWA3pDBlbjDUSmD5wWE3MiIlKNILgkhxFrXBq+pFgDDtBpDiSNBzqJ44hDnMUlSU8DDv9l6sH5hju9W7duUXRBzKIJFGIX+wv2QZQ09+nTp9DbTBMlTCjl4ix7nzfeeCPG/dEguUOHDtFNS1Sa1PahAk2sktZBuXp9JeuIc+znMVjlAv1sJhXDwSEDByQ5Rh088MADMceXZr30tOHfQKxiTuJs0huIPuG6iL/BcHfXXXf9RkOTPKmedOP/B84BOt8jGgLdCVmYfPHFF/HP5O5Q5sVJIqedOTJixIgowFFGM88884RcYcKnbI7yGN7QLP54wzMo4VZu06ZNLKHIBRZULKZS+DklYLhqX3/99XgaXmQXyAQlGwjclBUgGk8qtuOpp54K++6770y/PpFag9Kugw46KHz66aexBAnHf3LWG4MjItUA4uwzzzwTYw5Yz5SXqiLY5loKKjMWnLM8C6x9t9122yguss6UaYdMSV4YPjABDRw4ML73in6vsd+t3M/gQkSEK+9nQpUj1y21S9++feMhDdoHhwd8PPXUU+M4UP4sYFLgQC+nrHJK7J9++unolK1ssvb5559nUfmKhkCjMqpVeP/zvmPvgL6QW+bspFhhhRVikzMOnHAkY1Y79thjs24UJ1Uo0FLWQwk7jam23nrr+JBR9oVYiF2e8GZONN56661o58+pwx4nV0ceeWQUN4kPQKCjIVRqZJWj9RxRIwV50/E8Zbhy0py+VxScrjFgIrggdPOqbLbGSSLfzyWGgZM2Bnaeg9133z02JShvbIfrl2eakqpqGfxFcobFKu9/8smHDx8e5whOlYnB4T3GgR/VFyIiucI6gQaj22+/ffwzmX00A6JJLtFJrHulcYBhgjU5e4qxY8fGj7vttlvchO+3336xQdBmm21W9GXWFOwlc2m+RqNj9j4YlOgqT7UjAhJrmUqTTTX0C5GpZ+edd47CLAcHaAusbzGA4arFDd6qVavonEUPwQHOPj6nQ0fETrKSuTaqXYkJQJzFyERjsyKhwRbXQIUKbnT27UXHm0xJozh+5wjzvNCc+IjhbujQoTH6QIE2b6oyg5bJCMdAEuNYmJTDwoWTRPJIGbhyASGZRTbXRnYUAyfdN6+66qrYDfLMM88MOYEAyuCP25NTJAZSymUo92GTQHwADtsiu2giZvIIt2zZMp4MsnAlKzeXkO5JwYbqyiuvjGXXTEiUKjF4sugi35cTLiMORKYNyn6ppGChVV72hTjLqTgLWrrwsuEREckZ1jrEdyHGpqox1sFk2nPgK7UP63I21mnrxoYbcwIl77xY++Kydk6rbdjfUmrNITONkNk/IsiVV5tiYsJJiYFJGgfsI995550o1LK+pScP+3f2mLgn2SsXxbBhw6I4iCGCalwgmoGoFgRFzGqQmoZR+VYkZLeec845ca7FnIaexH4CLaQ8XiRHuPaPP/64LvKCdUL6nBfiOFEoki9VKdAmmHgQOesrFScrlUGpY8eOIQe4FhbQ5H/ABhtsEDvsIc6RG0TeCidgucHpfIphINqAwZU3Om/u9G8pCsRY4gAQX9LJIZk2DO445tJAir0/xy6mOL4fffTR+Pvnc+4zEwCniZVOYBFpGIwFbE4YA6hKoMs5ZVTVcvItIlJf1iDrBKKxcEGRZc8BFOXWOUVNyYyvIqQpMkIsLwwTzm2ND7buGGYYB1LzsrTXpFIoVWfecccdRV+qFAhrYdy06As0i0NzKAo0j7POOis+u2So89wSz4IrnTmNihCqSGnwngTcHED3SI0DacrIvIuBKjUO5N/A4VjREGdCPjbayKQiFKV6qGqBlomHYGY62FbmqtDFkDdNeU5X0afe2ON79OgR3+zY5hEN0vd23HHHLAXacsigRZRlEMC1XOQAyjXgInj88ccn+t0Tu4BAw70kFJsNDQMnp2CI4iJS29AkkAgcFnyrrLJKFDbI5MNtn1P+lohIQ7j//vtjUxI2XohxGBPSATRxSDmVrcqMhz0DFSA4odZYY43fdGyXxp1JesABB0SR67rrrptkEyapPRDn2AMTa0FZfn3NwoqGOBZMVSmSAVMVDcipxk29IXB25miqSo7flEXNizhN5mWqXouMUuS6iLdBQN5qq62iBgYI3rhpcVbjqM+575HUkECLe3KnnXaKDx4nQ7zBsaGTxUPpB2JiLm9yrhFBkdMjuvFi9f/3v/9dd6rEpErZuzQMTgSJWLj33nsn+TM82nQ7ZRDdcsst6zogi0htw2ESjnpevP8/+eST6KaltCotAtnAiIjkDHEsHC7T+BYxjqaHaXNIVh8bLiIPcCRJ7cPehqxRGuxQwnr99ddHIwrNcBHupXGDa5bIPErZyR6VxsEVV1wRLr/88micwphEXxs0keTwpJI0R2gQlipgefH8cuBE7AH5yrmDAIoZjHtcpAGEqEzuI9myyc1LtQWV21RC46RGCL/nnnvUQqqEqhJoCTxmwiFIOp0CMBCROcoJAYItMDHxsObWoZsOvEcccUQUCmj2gGBLeTvB/ldffbWdV6cAync4MTr66KNn3C9MRGoCMtrSIpDFFAsW5gdyrCu7IYuI5AKCLO5/XLSVcNDPuPa3v/0tyyazMn1hw41LCjMHAgx7COYznHLsi+hzwd5CRBoXCLGMC+gfOOzLm4ZRRcaeOfeyd+Qo5rs0pxnd0/D71q5du/j7J/IoQRY5B3knnnhijGU46qij4rzBsyD5M3uoIijpYUONfZ8Of5wU4YQiLJ0TZU6TEXBpxJWLc7Yc3kC33nprfBOx2OYkgwypM844Q3F2CmHyYUKiIZyDuIjUB+VezAnkbvGiKSPVDDSapDRJcVZEcoNDe2ILWOOQdYf7hU1Y5bqWBkG8pHGAyYNeEBwukj+KYzaVMSO+0DxZgVak8ZFyXYHxgdhEXkn0zL2C9Ouvv45u2hTR4L6+4dDEDMNauTjL4S37HPrcsAdir0PjNaI2pTqoKoH27LPPjvmCqQPdc889Fzv/sZDFCp+s/GTuzD57Xv80Su3JnqXBA45fBk2s8YjMuYnJCBhk2XB9ZDjm1g2W60JcoaQLpzTXyO89BeXn3DABJx/lR4Si55gPJFIrkPFNxcJll102UTUF8QfMF9VQPiUijQ8a/zz88MPRiMB6luqwk046KW6ucqsMk5krYqQyWlxm5T02+DqbdBFpfJAvSpUxztNy0BfIdC0aDHSIr0mELf/IC4dnomvXrmHDDTcs9HqrCTQRmgOi3aQ8enoz7bHHHhPpDGgjNiCvHqoq4mByWYMpkwvxa8EFFwzPPvtsNo0THnnkkZgfBryBWEittdZadU0ecnNAYIcn25WBnccjt26FOAcQ5hHrU0MwQscpW8a+z71Ngi0ncTlBPsyVV14Z9tprr7jhEpHpD6H95JPTHLBycbr33ntHFxJB+iIiOcE6BqGNw/s333yzbm3L5zRHbdGiRd36hoNecuWk8fReINbrhhtuCAcffHC46KKLomsOh/UOO+wQ1+7EHohI4wGXJD1tiDLAsLTppptm1UCSvjsIyOzPccY2b948LLroovEjQiL7YnQbtBF+hspihcSGg67E77tDhw6xQSBNzHgeeC7oy5Qgq37QoEHh3HPPnSG/Z5m+VL1AW8mIESPiYECcQC5svvnm4cADD4zlBjSrSQvulIVI47Bddtkl5ACnXFwLAigDKG9mrhURnDc9GwScywymRZFcJWRxJVLZchJscdeyyWETw2I2F3DC0GWR6y8PbSfcffjw4aFLly4xQ0hEpp7XXnstxuGceuqp9R7w8D02tyIiOXHjjTfGztZEX9W3dki5gu+//35ch7Eey60KS2YciBnEpLHmRaTlIxtxxI2ePXtmIciIyMxrIrn++uuHzp07x7xR9r7sgSl7p1cPjXHJpi6y8gIdYZ999gmbbbZZzEFNJi8OHY8//vhoYpNpg0bzxxxzTIx9JI+eeaL8sA6X7XbbbRfXFTQdlfzJKweggfCmPu+88+IDSLc/FigIn4heSyyxRHzlAtfGQLnzzjvHP6csxE6dOtWJijllw7DoZ7BPrl66BvMiu4QNAve+SHEWmHwqxZUUc8GL8gjKJcjjwkmXEyyi6zs8QEzGBcxzISLTxrhx4+KCpD5WW2212AlbRCQ3WN9UlqmWrx3S+oFGMAi5irO1C2vuys7gxPZQJUY/izvuuCN+jXJgGskpzoo0LjCl0XeHhlCQ9pDs5TnMY1+ZmqoXBS7/3r17xzEKlycOTsRDDhoxUcm0w/0k1o0oTSqHU38NtAXmifvuuy9qTYqz1UPVOWgR3nCkbrnllvFUCJETS/fzzz8fA5J79OgxkaW7CLCRkzlLGRq2c9yzdM1jEM0dsmA44eI+5rrwZ9LhvuZ6fdNCfY1ARGTKGD16dGyWQsknYkf5e4qcLrL8yh34IiJFQ44c60Y2WkVvqqV4cJyRG8h6lxfCbNH7GxHJB4wIRHYhgObWe6cS9Jrrrrsu9oXAUfvGG2/EqtGcKp5rDRrEIdoj4OKedV1RPVSdQHv//fdHOzzNoeDmm2+ObigyXil9x+a/2267FXqNDJT33HNPLDVgwU2mCqUHNHjgpLvyRDwXuFYs8FjkabZFViPu2dwH/Wrhyy+/jIcKZIVxiphOOcmaI3NHRKYfvXr1Cqecckocezk15vSYCBcOeMjYdqEiIjmB2+mQQw6JOaM4i6i2ksYLvTRSJBqN4+jGXd4QmWoQ1+cijZf9998/DBs2LK5vqR5t06ZN9mMCTb4px6cCBP0Gc52IVLlAS7QBTREOO+yw6JLadttto0hLSf4FF1wQg6Upxy/yNIv8Q4RYgvsps08LLE4yGDhZVKWmWwR6s+jKRaB96qmn4rUiYtBwjdN6Tu3TCX5uDc2qCTZelKCdcMIJMd+X3FlOEnlmr7766nh/RWTaYMwdNWpUrLIg1/muu+6KXxs/fnwcb5kfeP+JiOQE0U0c7rO2JZ6JTXdaeyHIcZgrjRPmtLSXoDSYarfUcHiTTTYJHTt2LPoSRWQm8/DDD9f1Xvn000/jnr1t27Z1TciXWmqpbKuhzzzzzHj9CMs4aakWEJEqFWiJD2ABS/MXmj+RN0sZK/AmR7BN7sQiePzxx2NQP50JK2HRncRPFliff/55/DM5urlm25Q3NEOcTZlXMmXQXZMuljT0aNKkSXj33XfjhESO8oMPPhgzlK+//npvq8hUghDL4RiL1BQtIyJSLRDHgrOIzD7WXGmtiNOIw12+ntyTa665ZlxLSOME1xx7DRr6ItK6fhSpfdgrohlQmVsJhoS0Z6caA0MY80fOsXk0ODzttNNi47BzzjknVgiISBUKtITmH3TQQbGbLZkaOBBZpD7zzDPRmcjHIiME/vnPf0bRmHyVhgy0OTUII0ya6Ai6AbIZwOlLc7MWLVpENwcn+JQLy5TD89qtW7dYWg177rlnPEggG2bAgAHh7LPPjtmYIjL1ZVNUUaQF6QorrFDnPKPsi86mLABpgmhjAhHJCaKlNt544yjMVgqvVDOlw32+P2bMmHDxxReHrbbaqrDrlWIq9Pj903ODPhdUgjDHUbHn2lyk9tl3332j+JoqcXkhalZW4rJnR2PIqWn6pMCsRgMx9AYiAEWkCgXa8nL8tIglOoA3NiIXDtoioYEZDcFWXHHFUG0gfCOAt27dOrp9WQjioqVpmG60aYPsSzZTnBSmHEwEWYTw2267Lbz99tvx+RWRKYOFaFqckvNMwwTyyFPZV4qWYUwmx48T+0UWWcTbLCLZ8OSTT4Y777wzNlGZHCzZBw0aFDfeNoyq/bmNg0cE2VdffTXOc5QvI8q0bNkya2eciEx/hg4dGscD1reYe4gKYB7AiECsFxpENVZW0EAMXYcISxGpMoGWMi/ETxYlNLFKmaicKv/www/RIl8kuBzIguIEKOW/VEvzJ1xnNGCrFAn52umnnx6DvHNy+1YjxF7gUOY+4vymAQguCKI5uO9MsCIyZfBeIibkiCOOiE4CKijmm2++uu/j/Gd8e+edd6LrgEWsiEhOsBTHRWvzQsEhx8E9c9fKK68c9xOpCkREBBA033jjjSjWItpi9GFfyT5z2WWX9SaJVDFVI9ByukKGJ6crzZs3D08//XRc0C600EJx4bLwwgvHcvHFFlus0AxEcnE55eaUCyGZ7oSpDCHnBRalwWSaUWJXCQ2sKJ/aaaedCrm2WoaYDk48Tz755KIvRaQqQXgl+3uDDTaIDSOfeOKJuKlNjRg5zKtGR4GIiDQ+6E9ABVsyojCP1VfGLCKSoOL1rLPOitEGDz30kA57kSqmagRaMjyTkzOVq/bo0SOeFNGhu1WrVuHyyy+vNzh7ZnHkkUdGkYC4hS+++GKihmCU3tKhcI011ogLrs022yy6f3NyoVFOxb+hPuGZ+4pALlMOsRFkX1KWyO987bXXjs8AhwtESeTaJE6k2sCBhvsoxRuwYGXsIraFTe6OO+6oQ01ERLIl7R94sX/gz9XSnV1EimPChAkxkxp9JCeNQURqVKAll+vrr7+OQdKIWjg933zzzdjYaptttomDUZFCF7eREvVevXpFN28lZB8mwZYsqYMPPjjsv//+IRfefffdsMsuu8Ry+86dO4e55547fp1mFOTP4qJVSJw6zjzzzNCnT58ozCIYUZJCaQqTJwttOjfT0EhEpi+VzXVwFRQdhSMiItJQqMhLgi1mFXInqSRk/UhjYitERCSBJkJTairJRKQ6mT1UCeTMpvKer776qi7bFVcqMQIIoAhgRUFJAdmi9YmzwDXy2nvvvaM49/PPP4ecwJGMkEhznWuuuSYst9xy8cQe4faYY45RnJ0G4b53797xlRoTccKJSJ8W3HSVV6AVmTbGjh0bqyzIdV566aXjfIDbiAMQXrwXbaoiIiLVBOtxXnvttVc0pQwcODAeOg4fPlxxVqQRwLp25MiRMSqRPguTgsMbjAk67EWqm6px0JI5e8opp8RFCUHYOD2fe+65mE1L05dLLrkkrLTSSkVfZtWDS5luwgizs846a8xHpTxYpg7eXgiwPLciMuNgfmDjyvsNpzqHIIi25GfjNKIyQEeBiIiIiFQLNJL+73//G01pNLulYre+bGpiH1kHU/UqItVL1Qi0MGDAgNjIikzP1PyF3FRERbJpZerv67nnnhsb7MwxxxzexuncwIiJkszh7bbbznsrMgNgGuMg6dFHHw0LLrhg/BqHdxzmpYgDDvUQakVEREREqoX33nuvrvISAwJuWSpdW7ZsGSPzqOTl63feeWes2BWR6iVbgZYYgFtvvTUKXAw8u+22W5h33nnrvs8AxUkRDWBOOumksMQSSxR6vdUKeb5///vfYwnwAQccUPd1xA3iDk477bTopJWp4/DDDw+PPfZY/JzSlPbt28eTTyINLLcWmX7gnH3++ee9pSIiIiJSk6CR0M+ETGqMCDQSXHLJJeM+nshCEalushVoEV0feeSRsPjii4dhw4bF/M677767rnmVTB9uuummMNdcc4Wddtppoq+PGzcuNg2jAQGCojRc8P78889DixYt6gTYzz77rK6rPB15+RkylLmvJ598cphvvvm8vSLTAK6BG264IVZW7L777t5LERERERERqSpmzdXG37dv3/DUU0/F5koItePHjw/33Xdf0ZdWc7z//vv1uo8Rbffcc88oLkrDefzxx8OOO+5Yl4d51113RTcyYveFF14YRVqeY5rF0fiO+ywi0wbvsz59+kTXP1EiZJK/8sorsaGKiIiIiIiISO5k6aC9/PLLo4PzxBNPrPvamWeeGeMM/vGPfxR6bbXGpZdeGnNrunXr9psog4suuii6POmGLg2DtxMHDNzLl19+OYqy5AQhgpN/icOvbdu2OsFFpjPffPNNeOmll+rc6h999FGcM9Zaa63YYKFZs2becxEREREREcmSLAXaTp06hUMPPTRmCiZOOOGE2Llw1113LfTaag3K8bfffvuw9NJLx9JgmrARI0GuDeLivffeG7tGyrTlBCXRiExloJs8MR40uhORKQcHOoLssssuG7O3Kvn444/je44miAi05Z1uRURERERERHIiO4GWTfcGG2wQszqbNm1a9/Utttgiuj1priTTlw8//DA6aJ999tnwyy+/xK81b948lgkjikvDoaQaMTY59ybn8uvSpYvN7USmAsRXGkfSGAGnf4cOHeoOnBBlyS5v3bq191ZEREREamKPSXwe5h/0kPnnn7/oSxKRGcDsITMoC//zn/8cM2gprZ9nnnnCp59+GoVbxdkZA+6zq6++OowZMyZm0jZp0iS0bNkyzD57do9H1pCTvNdee8XJs3PnznUCLaLsE088Ef74xz+GTTfdNGy++ebxJSJTx9FHHx1F2QMPPDDMO++88Wsc6h188MFxAcuLyoBzzz3XWywiIiIiVcsHH3wQDjjggPD111/H/eZBBx0UDjvssDB8+PCw2GKLuWcXqSGyU+DI60QYPPzww2NJKqXgZAciznJihHgoM4b55psvtGnTxts7lVxwwQVRLHr++efrTjVx+iHWjh07NkyYMCE6Zu++++4w55xzep9FpoI333wzLlCJvZllllni1zjAO/bYY8NZZ50VhVtc6l27do2NwzbeeGPvs4iIiIhUJcTinXzyyaFdu3axGTV9TVLfnmWWWSYaFESkNpi4K1QGbLvttnFT/fDDD8fBCKGLbtyUhONI3G+//cKNN94YGzGJ5AKnmQ888EBsZrfgggvWNVzjGd5hhx3Cq6++Gp566qmY53vllVcWfbkiVctrr70WY3CSOAs9evSIi9YUdUD1RXrfiYiIiIhUI8OGDQuLLrpoXOeOHj06mn9SBCEmBIxBIlI7ZCfQJjgN2mOPPcJVV10VYw/YgCPO4rDFqbjddtuF5557rujLFIkMHTo0LLLIIuEvf/lL3R3hYIF4g+QG5/u4+hCYRGTqwI3+66+/1v2Zyopbb7017LvvvhP93FxzzWXJl4iIiIhULfRbSBXEVIjRYyHFEC6wwAI2wRWpMbKLOKgPBqE11lgjvg499NDw3Xffhf79+9sEZgpAxMDlSaZvgmY6gwcPji5lMlFpbCVTx7hx48LPP/880de6d+8eG4ElNy1wj43pEJl6iL057rjjwpZbbhlatWoVm4ThJCBLu5zXX389ZkKLiIiIiFQjxDw+/fTTcV1LRXGKN4AHH3zQht4iNUZVCLSV0EQMm780HAb1m2++OVxxxRWhVCrFJjtvvPFGzEylMdhWW20Vf44y/Pbt23trp5AWLVrEoPYbbrghdOzYMTz55JOxJCWVXCcGDBgQVlllFe+vyFSyySabxJKuPffcM/6Zsi8qLCrHuyFDhoT111/f+ywiIiIiVQm9eDAmUFmMaY0+JnfeeWesJEawRaQVkdqhKgVamboGYAiyvXv3jjmouDgRYzmRozx4jjnmCCNHjozl+I8//ngUPWTKJk/yZv/zn/+Ec845Jx4iXHvttfFeJ8gNokHY9ddf760VmUrIniXmZp999gmjRo2KebOMX0AuFwtWDqL233//0LRpU++ziIiIiFQtO++8c6wUow9Pz549Y+PplVZaKe4p3bOL1BYKtI2E5ZdfPp62IRLedNNNsdsjQke/fv3COuusE39moYUWijESb7/9toP9VLDbbrtFdx/OWVyyc889d12H+UceeSQ6mNu0aRMnVBGZ9qiDSu666644vhFtUJlJKyIiIiJSTfTt2zfm0C677LIx1gvzzy+//GL2rEiNokDbiPjrX/8aX2T48gJKI84777y6n0G0pbmOTB0LL7xwfJVDJ/l//vOfMTPzX//6l7dWZAZx2GGHxSqA1DxBRERERKQaQZC9+uqrYw8TGqXzsW3bttFctd5660XRVkRqi1lKBJJKTUMZRHmpL07OXr16hZNPPjk6aXHR0sgK52znzp3Ds88+q0g7nfGkU0RERERERH4PKjA32GCDGEXYsmXLGONFg2/MVS+//HL4+uuvw+233x7WXHNNb6ZIDaFA2wg4//zzw+KLLx6bVyWx8MQTT4x5tAsuuGB0do4ZMyY2ttpvv/2iC01EREREREREZi408T722GPDfffd95vv/frrr9FYRZPq8n4nIlL9WAfaCOjfv38cwIEukDTPoZHVtttuG5tWcRpHXuoJJ5wQOnXqVPTlioiIiIiIiDQaTj/99BhlQHwBzthx48bFWEKaT5dD5euqq65a2HWKyIxDB20j4IgjjggvvfRS2HrrraMgi1P2L3/5S9GXVZOlKHPOOWfRlyFS81DmdcMNN4SPPvoo5mqT8Ux+toiIiIhINXLbbbeFxx9/PLz22mvhxx9/jO7Y5ZZbLhx00EFh/fXX/41QKyK1hwJtI4DTNzJqiDQYNmxYbKDDqRunc4SMr7baajbVmQ4QFUGG7+677z49/joRqYf//e9/8X22ySabhC+//DKMHDky3HHHHeGrr74KPXv2jLnaIiIiIiLVwogRI8Knn34a9+b0j6HJNFWuvN599926/fu6664bX61atdKcIFKDKNA2Iog1mG222eLgTsA4Az4ONE7j1lprrbDLLruETTfdtOjLrFp69OgRzj333NCmTZvwn//8JyywwAJFX5JIzXHqqaeGzTffPDZOIF+7SZMm4fDDDw9vvvlm2G233eLYNs888xR9mSIiIiIiDeLyyy+PcQbHH3/8b743evTo2NSbvTsfcdc+//zz3lmRGkSBthHBYM6rvAz/k08+qTuda9u2bdh1110LvcZaKL2mARtO5TPPPDO0b9++6EsSqSl22GGH0KtXr/j5TjvtFE466aTQunXr+OfNNtssXHbZZWHFFVcs+CpFRERERBoGJgOqwIgy+D0QbJs1a+atFalBbBLWiHjggQfCQw89FBZeeOHomCXigPzGjh07xpdMO4sttli45ZZbwk033RT+8Y9/xEZsCEh/+tOfvL0i0wE619LZdv7554/lYES0AIdPY8aMCc2bN/c+i4iIiEhVgHOWGINkOPg9FGdFahcF2kbCgAEDwmmnnRa22GKLMGTIkHDPPffEry+77LJh9dVXj6LtYYcdVvRl1gQ//fRTzKOlEdu///3v0L9//3DeeefVCUkiMvXgmqVZAhm0LGRpoPDzzz/HeJHll1/eeAMRERERqRrYK7J/PPnkk6OBioxZ9uYi0vgw4qCRgIsTd2fXrl3D/fffH5588smw1VZbReGwadOmYeuttw6HHHJI0ZdZlQwePDjGGdCkiJKTb775ZqLv455l0sVR26VLl8KuU6RWuPTSS8O1114b82cXXXTR2FRhlllmie71Fi1aFH15IiIiIiIN4qyzzgqDBg2qc9KWSqWw9NJL14m1VL6WRxSKSO2ig7aR8NZbb4V99tknfo6IOPfcc0eBdqGFFgpXXHGF4uwUQud4HLKIQl988UVYYYUVYtdNGoPxovw6fUSg5WQUh/KSSy4ZnX8iMvXQFKxTp07h4Ycfjo0OeS/uuOOOcTwTEREREakW6AXTrVu3sMoqq8R9euoPg6EK88Hss88em3wj2G633XZh8cUXL/qSRWQGoUDbSPj2229jdiPg9EQ8hJVWWim89957BV9d9dG5c+cwbty4KMry2m+//cIiiywyyZ/n5JMGbK+99poCrchUwPh14YUXhqeeeiqOX2uuuWZcqO6+++4x5kBEREREpNpMP+zNW7ZsWZcvu80228QXfPDBB3WC7Y033hhFXAVakdpFgbaRsMYaa8TcWaIOfvjhh9hQB958880w33zzFX15VVlizUT5wgsvxLKU8ePHR3csZSi82rZtG13K5RAlgSAuIlNOz549w3333Rd23nnn2AwM9+xVV10VHept2rQJO+ywQ+jQoYO3VkRERESqgg8//DBsvvnmYdZZZ633+0Qd8Npjjz1izwURqW3MoG1EDlpO5xARH3jggSjUbrrppuHll1+O7k+zUafspJMcoD//+c/xz4jdOGP79esXBdt33nknRh+svPLKoV27djH3V0Smjb322is61xm3Ep988kndQQmlX/vuu6+3WURERERERKoOBdoaBkH2s88+i6UQlVxzzTWhb9++0elJNuqkTu3ktxx99NHhscceC6uttlqMN6DMGnFottlmi98fO3ZseOmll6JwxEknDlsRmTJwyaZ8Z0B8JXuW952IiIiIiIhILaFAW6Ncf/314aKLLgqbbbZZ/FjJL7/8UicoypTx9ddf1wmwOPdw8eGoRexOEQeUoojI1HPXXXeFU045JebNrr322mHChAmhSZMm4ZxzzokfRURERERERGoFBdoaBHfn6aefHsWNjTbaKMw111wTff/dd9+NnSKvvvrqmIsqUw/u2P/973/R5Tdq1KgYGUGW0MILLxyFWqIkKu+/iPw+pVIpDBo0qK4xwoABA2J+9kILLRQPnlLWM4cjIiIiIiIiItWMTcJqEOILzj777Jh/Oqlu6Agfd9xxR9h7771n+vXVCn369Amzzz57uPLKKyf6+pNPPhnFcVA8EplycPj/7W9/C7fddlvsarv//vtHcRaRNgm2t99+e4xmIcLl+OOPD61atfJWi4iIiIiISFWiQFtj4OL89NNPw8YbbzzJn1lppZXCwQcfHDNoFWinHtyyq6+++m++ThOjoUOHhuWWWy42CxORKeOtt96K+c1//OMf6742xxxz1EWIpIxaGvPxmnvuub3FIiIiIiIiUrXYGarG+PLLL8P888//u8JgixYtwjfffDPTrqsWodQaFzLOvkpwzv7444+FXJdItUO2M833Jsd8880XOnToEP7973+HZZZZZqZdm4iIiIiIiMj0RoG2xlhwwQXDiBEjopN2cuCyXWyxxWbaddUiO++8cxTEt99++3DrrbeGYcOGxftOxEHPnj0n62IWkUmDK/avf/1rzKEVERERERERqXVsElaDdO7cOZYDX3755ZNsAtapU6ewyy67xJdMPWPHjg2XXHJJ6NWrV/juu+/i15ZYYolwwQUXxGxMEZkyvv/++7DWWmuFn376KTRr1qwu1oBX8+bNvZ0iIiIiIiJScyjQ1iA4ORFgKQGmuU779u2j0AHffvttOOuss2J+6kMPPTRRxqM0HBqtvfLKK/H+rbjiitHpN3z48Ng0bOmll47Ni0RkyiEbm0aHhx56aIw6oCHY4MGD43tsqaWWitEHiLVt27a1CZ+IiIiIiIjUBAq0NSzS/vOf/wz9+/evy0tFTCTaYIEFFghXXXVVFBZl6jjiiCPCo48+Gj/nvrZp0yaKRmuuuWaMmSAHuEmTJt5ekSnkP//5TzxQOuigg+q+Nnr06PDSSy/VCbaMYxyGbLPNNuGcc87xHouIiIiIiEhVo0DbCITaJGj84Q9/iM3BNtlkkxiBIFPH22+/HZ3J1113XRSJdt111+jqe/rpp8Mvv/wSv4ZDmUZhIjJlILoi0q666qqT/Bnc6oxrRLiQBS0iIiIiIiJSzSjQikwhuI/HjRsXjjvuuPDJJ59Egfa5556LbuWTTjop3HDDDWHxxRf3vopMBXfddVcUXY0JERERERERkcaCQZkiU8hHH30Ulllmmfj5yJEjY9Yv0Nho7rnnjk5lEZk6/va3vynOioiIiIiISKNCgVZkCiEf8/HHH4+ff/PNNxNFGUyYMCGMHz/eeyoiIiIiIiIiIg1CgVZkCtl9993DkksuGT+fd955Y4f5559/PvTo0SMKtsYbiIiIiIiIiIhIQzGDVmQaoCkYDcPoLj/bbLOFc889NzY5EhERERERERERaQgKtCJTABEGt99+e3jjjTeie7Zr166hefPm0UVLFu3CCy/s/RQRERERERERkQZjxIFIA/n111+jW7Z///5hgQUWCPfcc0+Ya6654vceffTR8Je//MV7KSIiIiIiIiIiU4QCrUgDQYRt0aJFuPrqq0P79u3DqquuGhuE4aolf5aYAxERERERERERkSlBgVakgeCc7dChQ/z8xRdfDOuuu278vGnTplGw/fDDD72XIiIiIiIiIiIyRSjQijQQmoANHTq0TqBdZ5116r43atQoIw5ERERERERERGSKmX3K/xORxgnu2YMOOij88MMP4aOPPgqrr756/HqfPn3CK6+8Es4777yiL1FERERERERERKqMWUqlUqnoixCpFh566KFwyimnhJ9//jkst9xy4bvvvgsjRowIJ598cujcuXPRlyciIiIiIiIiIlWGAq3IFPLNN9+EBx54IAwaNCjmz2655ZahTZs23kcREREREREREZliFGhFJgHm8t69e4cnn3wyfPXVV2HeeecNK6+8cthiiy2ie1ZERERERERERGRaUaAVqYeffvopdOnSJTYFa9u2bZh99tnD8OHDw5AhQ+L32rdvH84444yw4IILev9ERERERERERGSqsUmYSD1ce+21MWf2qaeeCn/+858nijd4+OGHwxVXXBE6deoUevbsGeaff37voYiIiIiIiIiITBU6aEXqoV27duGqq64KK664Yr33Z/To0WHPPfcMa621VjjttNO8hyIiIiIiIiIiMlXMOnX/mUjtQqzBLLPMMklxFpo1axaOOeaY8Morr8zUaxMRERERERERkdpCgVakghdeeCGsv/76v3tf/vKXv3jvRERERERERERkmlCgFamgX79+8ePHH3882XtDw7Bll13W+yciIiIiIiIiIlONTcJEKhg3blzo27dvuPPOO8Niiy0W1l133fhae+21w7zzzlv3cy+99FJo3bq1909ERERERERERKYam4SJTKIJ2IsvvhhfOGo//fTTMOuss4aVVloprLfeelGwPfbYY8Mtt9wSllxySe+hiIiIiIiIiIhMFQq0Ig1g+PDhdYLtyy+/HF22iyyySHjmmWe8fyIiIiIiIiIiMtUo0IpMIb/88kt46623wpgxY0K7du28fyIiIiIiIiIiMtUo0IqIiIiIiIiIiIgUxKxF/Y9FREREREREREREGjsKtCIiIiIiIiIiIiIFMXtR/2OR3HNmn3/++VAqlcKqq64amjVrVvQliYiIiIiIiIhIDWIGrUg9dO3aNTz99NP/9yaZZZaw4oorhnXXXTe+WrduHZo2bep9ExERERERERGRaUYHrUgFb7zxRhg0aFB4+OGHwzzzzBPeeuut8MILL4Q+ffqE66+/Psw555yhX79+oUmTJt47ERERERERERGZJhRoRSoYPHhw6NChQ1hmmWXin9u1axdfMHLkyPDee+8pzoqIiIiIiIiIyHRBgVakAuIMcMjWx0ILLRRfIiIiIiIiIiIi0wMzaEXKGDVqVNhvv/3Cxx9/HLbffvuw6667hmWXXdZ7JCIiIiIiIiIiMwQFWpEyxo0bFx544IHw4osvhpdffjl88803oXnz5mGdddYJ6623Xvw4//zze89ERERERERERGS6oEArMgl++eWX8Pbbb8cGYQi2NA8ji/ayyy7znomIiIiIiIiIyHRBgVakDByz3bt3D2+99VaYd955wwknnFCXOfv999/H7y+88MLeMxERERERERERmS7MOn3+GpHq58cffwx77713+OKLL0KLFi3C008/Heabb774vX/961+hadOmirMiIiIiIiIiIjJdUaAV+X/07t07tG/fPnTr1i20atUqtG7dOjRp0iR8++234aGHHoqZtCIiIiIiIiIiItMTBVqR/8eAAQOiQAvkzq677rrx8znnnDNssMEG4aOPPvJeiYiIiIiIiIjIdEWBVuT/gVuW7Fno169fWG+99eruzWeffRaaN2/uvRIRERERERERkenK7NP3rxOpXnbYYYdwwAEHxAxamoGtsMIK8et33313GDp0aGjTpk3RlygiIiIiIiIiIjXGLKVSqVT0RYjkwpNPPhlOPvnk8N1334VFFlkkjBs3LowdOzace+65YZtttin68kREREREREREpMZQoBUJIQwfPjwstdRS8V6MHz8+PPbYY+G9994LTZs2DVtttVVYfvnlvU8iIiIiIiIiIjLdUaCVRs8PP/wQ4wu6dOkSDj300DD77CZ/iIiIiIiIiIjIzMEmYdLomWOOOcJFF10U7rrrrtCpU6fw4YcfNvp7IiIiIiIiIiIiMwcFWpEQQvv27cMDDzwQc2d33HHH0LNnT++LiIiIiIiIiIjMcIw4EKng/vvvD2eeeWZo3bp1/NisWTPvkYiIiIiIiIiIzBAUaEVCCD///HP45ptv6l4ffPBBuOCCC0KpVAoPPvhgmHfeeb1PIiIiIiIiIiIy3bEbkjRqiDU47bTTwvfff1/3tT/84Q9h/vnnDwsuuGBYdNFFwzzzzFPoNYqIiIiIiIiISO2ig1YaNQMGDAgjR44MCyywQBRl+aggKyIiIiIiIiIiMwubhEmjZs011wyrrLJKGD9+fPjpp5/CXHPNVfQliYiIiIiIiIhII8KIA2nUdOvWLfTo0SPMOuv/nVX0798/fj506NCw3HLLFX15IiIiIiIiIiJS4+iglUbLo48+Gj755JPw/PPPh7POOiu0bds25s++9957oXPnzmHChAlFX6KIiIiIiIiIiNQ4CrTSaOndu3c46aSTYqxBv379wjrrrBO/jnP2T3/6U3jnnXeKvkQREREREREREalxFGil0fLll1+GJk2axM9feOGFsN5668XPiTiYb775wuyzmwAiIiIiIiIiIiIzFgVaabSsuuqq4YILLgjvv/9+bBC27LLLxq9/8MEHYfjw4WbQioiIiIiIiIjIDGeWUqlUmvH/G5H8GD16dNh7773Dxx9/HBZddNGw1157hZEjR4bbbrst7LDDDuH4448v+hJFRERERERERKTGUaCVRs24cePCLbfcEu67777w0UcfhXnmmSd07NgxHHnkkUYciIiIiIiIiIjIDEeBVhoNo0aNCjfffHP8/KijjvrN93/55Zcw22yzFXBlIiIiIiIiIiLSWLELkjQap+zuu+8es2a33nrruq+TN9u9e/fw448/RufsWmutVeh1ioiIiIiIiIhI40IHrTQKzjvvvPD555/Hj7PO+n+98YYNGxY6deoUWrZsGb777rvw1ltvheuuuy5ssMEGRV+uiIiIiIiIiIg0EhRopVGw7rrrhh49eoQlllii7ms0BWvfvn3Yc889458vuuii8MILL4S77767wCsVEREREREREZHGxP9ZCUVqPHv2559/nkicxS375Zdfhj322KPuazvvvHP48MMPC7pKERERERERERFpjCjQSs0zyyyzhG+//TaMGTOm7mvXXnttdNCmuAMYP358mHfeeQu6ShERERERERERaYzYJExqnmbNmsWc2QMPPDDsvffeYciQIWHw4MHh/PPPn+jn+vTpY5MwERERERERERGZqeiglUbBhRdeGOaYY47wj3/8Izz99NPh8ssvj39O0EDshhtuiDEHIiIiIiIiIiIiMwubhEmj4tdff50o1uCnn34KJ510UnjuuefCRhttFM4555xCr09ERERERERERBoXRhxIo6JcnAUahX3xxRehS5cu8SUiIiIiIiIiIjIz0UErIiIiIiIiIiIiUhBm0IqIiIiIiIiIiIgUhAKtiIiIiIiIiIiISEEo0Eqj4scffwy//PJL0ZchIiIiIiIiIiISUaCVRsHHH38cOnfuHFZbbbWw+uqrh759+8avjx8/vuhLExERERERERGRRowCrTQK1+zBBx8cttpqq3D33XeHWWaZJay88srxe/vuu28YNmxY0ZcoIiIiIiIiIiKNFAVaqXmeffbZsOmmm4bddtstirVLLbVUmH/++eP35ptvvvDQQw8VfYkiIiIiIiIiItJIUaCVmuf9998PSyyxRPz8hRdeCOuuu27d94g7+O677wq8OhERERERERERacwo0ErNs8gii4TevXvH5mAvvvjiRALtgAEDwnLLLVfo9YmIiIiIiIiISONlllKpVCr6IkRmJMQa7L777lGgHTp0aLjttttCkyZNQq9evcK9994bnnjiiTDPPPP4SxARERERERERkZmOAq00Cr799ttw3nnnRSft+PHj49eaNWsWLrjggokctSIiIiIiIiIiIjMTBVqpeUaOHBnds0QdINS+++678eurrLJKmGOOOYq+PBERERERERERacTMXvQFiMxIzj///HDdddfFz+ebb76wzjrrRMcsL8VZEREREREREREpGh20UrO89957MXu2W7duYf755w8DBw4ML7zwQnj11VfD999/H5ZaaqkYeaBQKyIiIiIiIiIiRaGDVmoWBNktt9wybLrppvHPrVq1CnvvvXdsGvb666+HIUOGKM6KiIiIiIiIiEihzFrs/15k+nLJJZeExx57LIwdOzYsuuii4bvvvvvNzzRp0iS0bds2dO7c2dsvIiIiIiIiIiKFooNWaobx48fHCINrrrkmlEqlsNJKK0WX7M033xw6duwYmjZtWvQlioiIiIiIiIiITIQZtFIzjBw5Msw999zhp59+Ci+//HIUa/v16xc+/PDD8Mc//jG0bt26rkHYCiusEGaZZZaiL1lERERERERERBo5CrRSMxx55JFhww03DDvttNNEX//000+jWPviiy+Gl156KYwePTpsttlm4fLLLy/sWkVERERERERERECBVmoCIg3WWWed0KtXr7DwwgtP9ucGDx4cXbarrbbaTL1GERERERERERGRSsyglZpg0KBBoVmzZpMVZ4FYA7JpRUREREREREREcmDWoi9AZHpAhMGss84aHnnkkfD11197U0VEREREREREpCow4kBqgn322ScMHTo0fPnll1GoxSWbGoKtueaaoUmTJkVfooiIiIiIiIiIyG9QoJWq54cffghrr712eO6558LYsWNjMzActTQEGzNmTGjatGlo3bp1WG+99aJgu8IKK8SoAxERERERERERkaJRoJWqB0H2sssuCz169PhNQzCyaRFr+ZnXXnstirlPP/10WHTRRQu7XhERERERERERkYQCrVQ9F1xwQYwwOOywwyb7c4izAwcODGuttdZMuzYREREREREREZHJoUArVc+PP/4YX3POOWfRlyIiIiIiIiIiIjJFKNCKiIiIiIiIiIiIFMSsRf2PRURERERERERERBo7CrQiIiIiIiIiIiIiBaFAKyIiIiIiIiIiIlIQCrQiIiIiIiIiIiIiBaFAKyIiIiIiIiIiIlIQCrQiIiIiIiIiIiIiBaFAKyIiIiIiIiIiIlIQsxf1PxYRERGRGc+PP/4Yrrnmmkl+f6uttgrLLrvsRF8bOHBgWG211X7zsxMmTAjPPfdcaNeuXZh99v9bRn788cfhk08+CWuvvXaYZZZZpvj6+G9Hjx4dVl111Sn67957773wxRdfhA022GCSP/Piiy+GhRZaKCyzzDJTfF0iIiIiIjMLBVoRERGRGuann34Kl19+edhxxx3DoosuOtH3rrrqqrDccstNJNBed9114aabbgrPPPNM+MMf/jDRz999993h0ksvDc8++2ydQHv//feHG2+8MfTv33+KBdrvv/8+HHzwwaFUKoVevXqF2WabbZI/++abb4Z77703/O9//wuDBw8Os846a9hhhx3CeuutFz+HkSNHhnfeeScKs1zjHHPMEfbdd18FWhERERHJGgVaEREREYnccccd4aKLLorCbaU4i5iKeIsjlY+JBx98MMw777zhiiuumOjnccRutNFGk7yzY8aMCYceemh0wm6//fbhyiuvnOj7rVq1Cuuvv37dn1u0aBGWXHLJ0KZNm/DWW2+FI444Iv752GOPjaLthx9+GH744Yew8sorh3XXXTcKyVxz8+bNG/zbRQBu2bJlWGGFFeq+xt+JaxinL2L30ksvHV27TZo0mS5PDf+WPn36hP322y/88Y9/DDOKUaNGhdtvv/13f26dddaJwvbvXdPUXHfPnj3DmmuuqWAuIiIiUoEZtCIiIiKNnJ9//jmcc8454Ywzzginn356vcLqJZdcEj7//PMYZZD45ptvojC64YYbTtH/79VXXw0dO3aMzldE2sUWW6zue7hjcfy+/fbbE/03CMZ777132HrrrevEUUTbVVZZJSy11FJRVL7++uvjz+2xxx7xa+eee2444IADYjTD79G3b99w2WWXhSWWWKLua08++WTYZJNNotiLCIxD9/zzzw/t27eP/4bpAf9O/r3jx48PM5Mvv/wy/n/feOONBl3Tu+++G0aMGDHZn/k9EH6POuqoGLshIiIiIv8/OmhFREREGjEIdYieOCwRIjfbbLMoPrZu3bruZx599NHw3//+t8F/J/8tTsxKhgwZEvNwH3roodCpU6co7CKAlrsyb7nllrD66quHffbZZ6L/FnEUByZ8++230b351Vdfhd122y1ccMEFYeedd47uzK+//jp07949CoFXX3112GKLLeLfuf/++0/yenHJnnbaaeGYY44JTZs2jV8jF5c/898jXidw0RLL0LVr1/D444+H+eabL0wLOH4RqWekexbmn3/+cNhhh00khN95553RDYzwXSmkll/TsGHDossZkb5cwJ5Stttuu/gc4cA+5JBDpuFfIyIiIlJb6KAVERERqWFwlCK2pfxZnKaIc4DIiJB66qmnRrERcfbhhx+OrlOEWyBbFqES12j6+6YG3LnbbrttjDRApF1kkUWi0InL9ddff40i6l577RXjBRDwEAnrg58td23ecMMNoVmzZjFSgRgC3LWbb755/B7RCxdffHEUgycH/+9ffvklNkxLcJ38fxAVK+8n4iLuYRy25QwfPjzcdttt8frJwOXvTLz22mvR4fvdd9+FW2+9Ndx1111RTJ4Uk/u7kkjdu3fvcO2118bogqFDh4YZAfeU+wOPPPJI6NGjx2R/fnLXTUYxgjoZx1y/iIiIiPwfCrQiIiIiNQoiK2Lo5EB0m2eeeaLIiSv1xBNPDGeddVZYcMEF4/dxpZIvi2jbUHCZVkJWLGIpoiIRCvx9/BmBdcstt4zRAbhcaTg299xz/+a/J/sWByi5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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "\n", + "# ==========================================\n", + "# 1. 擴充想關注的特徵欄位(輸出多一點資料)\n", + "# ==========================================\n", + "selected_features = [\n", + " \"Hit_rank\", # PCA 排名\n", + " \"Hit_score\", # PCA 分數\n", + " \"netflix_title\", # 影集名稱\n", + " \"TMDb_raw_original_language\", # 原始語言 (例如: en, ko, es)\n", + " \"TMDb_raw_origin_country\", # 製作國家 (例如: US, KR, ES)\n", + " \"TMDb_raw_number_of_seasons\", # 總季數\n", + " \"TMDb_raw_number_of_episodes\", # 總集數\n", + " \"TMDb_raw_vote_average\", # (建議新增) TMDb 觀眾評分\n", + " \"TMDb_raw_popularity\", # (建議新增) TMDb 熱度指標\n", + " \"TMDb_raw_genres\", # 類型\n", + "]\n", + "\n", + "# 確保欄位存在\n", + "available_columns = [\n", + " col for col in selected_features if col in df_ranked_all_features.columns\n", + "]\n", + "df_brief = df_ranked_all_features[available_columns].copy()\n", + "\n", + "# ==========================================\n", + "# 2. 在最後一欄加入「平均值」:平均每季集數\n", + "# ==========================================\n", + "df_brief[\"Avg_episodes_per_season\"] = (\n", + " df_brief[\"TMDb_raw_number_of_episodes\"] / df_brief[\"TMDb_raw_number_of_seasons\"]\n", + ").round(1)\n", + "\n", + "# ==========================================\n", + "# 3. 輸出完整資料與統計總表\n", + "# ==========================================\n", + "# 設定 pandas 顯示所有列與欄,方便在 Notebook 中查看全貌\n", + "pd.set_option(\"display.max_rows\", None)\n", + "pd.set_option(\"display.max_columns\", None)\n", + "pd.set_option(\"display.width\", 1000)\n", + "\n", + "print(\"--- 【前 10 筆資料預覽】 ---\")\n", + "display(df_brief.head(10))\n", + "\n", + "# 建立包含「最末列平均值」的完整表格 (為不影響原始資料排序,使用新變數儲存)\n", + "df_with_summary = df_brief.copy()\n", + "\n", + "# 計算數值欄位的平均值\n", + "mean_values = df_brief[\n", + " [\n", + " \"Hit_score\",\n", + " \"TMDb_raw_number_of_seasons\",\n", + " \"TMDb_raw_number_of_episodes\",\n", + " \"Avg_episodes_per_season\",\n", + " ]\n", + "].mean()\n", + "\n", + "# 建立平均值的那一列資料\n", + "summary_row = pd.Series(\n", + " {\n", + " \"Hit_rank\": \"-\",\n", + " \"Hit_score\": round(mean_values[\"Hit_score\"], 2),\n", + " \"netflix_title\": \"【全體 71 部平均值】\",\n", + " \"TMDb_raw_original_language\": \"-\",\n", + " \"TMDb_raw_origin_country\": \"-\",\n", + " \"TMDb_raw_number_of_seasons\": round(\n", + " mean_values[\"TMDb_raw_number_of_seasons\"], 1\n", + " ),\n", + " \"TMDb_raw_number_of_episodes\": round(\n", + " mean_values[\"TMDb_raw_number_of_episodes\"], 1\n", + " ),\n", + " \"TMDb_raw_genres\": \"-\",\n", + " \"Avg_episodes_per_season\": round(mean_values[\"Avg_episodes_per_season\"], 1),\n", + " }\n", + ")\n", + "\n", + "# 附加到表格最後方\n", + "df_with_summary = pd.concat(\n", + " [df_with_summary, pd.DataFrame([summary_row])], ignore_index=True\n", + ")\n", + "\n", + "# 匯出成 CSV 檔案\n", + "output_brief_path = \"netflix/data/hit_shows_features_with_averages.csv\"\n", + "df_with_summary.to_csv(output_brief_path, index=False, encoding=\"utf-8-sig\")\n", + "print(f\"\\n完整特徵表(含平均值)已匯出至:{output_brief_path}\")\n", + "\n", + "# ==========================================\n", + "# 4. 繪製視覺化圖表:語言、總季數、總集數長條圖\n", + "# ==========================================\n", + "sns.set_style(\"whitegrid\")\n", + "plt.rcParams[\"font.sans-serif\"] = [\n", + " \"Microsoft JhengHei\",\n", + " \"Arial Unicode MS\",\n", + "] # 確保中文標題正確顯示\n", + "\n", + "# 圖一:原始語言分布圖\n", + "plt.figure(figsize=(10, 5))\n", + "language_counts = df_brief[\"TMDb_raw_original_language\"].value_counts()\n", + "sns.barplot(x=language_counts.index, y=language_counts.values, palette=\"viridis\")\n", + "plt.title(\"71部爆款影集 - 原始語言分布 (Language Distribution)\", fontsize=14)\n", + "plt.xlabel(\"Original Language\", fontsize=12)\n", + "plt.ylabel(\"Number of Shows\", fontsize=12)\n", + "plt.show()\n", + "\n", + "# 圖二:總季數長條圖 (依季數由高到低排序,顯示前 25 名或全部)\n", + "plt.figure(figsize=(14, 6))\n", + "df_seasons_sorted = df_brief.sort_values(\n", + " by=\"TMDb_raw_number_of_seasons\", ascending=False\n", + ")\n", + "sns.barplot(\n", + " data=df_seasons_sorted.head(30), # 若想顯示全部 71 部,請移除 .head(30)\n", + " x=\"netflix_title\",\n", + " y=\"TMDb_raw_number_of_seasons\",\n", + " palette=\"magma\",\n", + ")\n", + "plt.title(\"爆款影集 - 總季數長條圖 (Top 30 Shows by Seasons)\", fontsize=14)\n", + "plt.xlabel(\"影集名稱 (Series Title)\", fontsize=12)\n", + "plt.ylabel(\"總季數 (Number of Seasons)\", fontsize=12)\n", + "plt.xticks(rotation=75, ha=\"right\")\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# 圖三:總集數長條圖 (依集數由高到低排序)\n", + "plt.figure(figsize=(14, 6))\n", + "df_episodes_sorted = df_brief.sort_values(\n", + " by=\"TMDb_raw_number_of_episodes\", ascending=False\n", + ")\n", + "sns.barplot(\n", + " data=df_episodes_sorted.head(30), # 若想顯示全部 71 部,請移除 .head(30)\n", + " x=\"netflix_title\",\n", + " y=\"TMDb_raw_number_of_episodes\",\n", + " palette=\"crest\",\n", + ")\n", + "plt.title(\"爆款影集 - 總集數長條圖 (Top 30 Shows by Episodes)\", fontsize=14)\n", + "plt.xlabel(\"影集名稱 (Series Title)\", fontsize=12)\n", + "plt.ylabel(\"總集數 (Number of Episodes)\", fontsize=12)\n", + "plt.xticks(rotation=75, ha=\"right\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "a21ae4e6", + "metadata": {}, + "source": [ + "## our analysis\n", + "??" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cb9cffa", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6db4648", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "venv (3.13.9)", "language": "python", "name": "python3" }, @@ -319,7 +14741,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.13.9" } }, "nbformat": 4, diff --git a/netflix/data/seasons_episodes_dual_axis.png b/netflix/data/seasons_episodes_dual_axis.png new file mode 100644 index 0000000..6c666ce Binary files /dev/null and b/netflix/data/seasons_episodes_dual_axis.png differ diff --git a/netflix_review_concepts_capstone.ipynb b/netflix_review_concepts_capstone.ipynb index 0befc23..eb88898 100644 --- a/netflix_review_concepts_capstone.ipynb +++ b/netflix_review_concepts_capstone.ipynb @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "adf81cc1", "metadata": { "execution": { @@ -71,7 +71,32 @@ "shell.execute_reply": "2026-07-05T18:13:27.727027Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "((300, 11),\n", + " netflix_title netflix_viewing_hours netflix_weeks netflix_year_hint \\\n", + " 0 Show 000 48840931.0 13 2021 \n", + " 1 Show 001 68780466.0 9 2023 \n", + " 2 Show 002 60617686.0 9 2025 \n", + " \n", + " tmdb_title tmdb_popularity tmdb_vote_average tmdb_vote_count imdb_title \\\n", + " 0 Show 000 38.1 7.4 9181.0 Show 000 \n", + " 1 Show 001 286.2 7.8 7116.0 Show 001 \n", + " 2 Show 002 120.8 5.0 5253.0 Show 002 \n", + " \n", + " imdb_averageRating imdb_numVotes \n", + " 0 6.6 131664.0 \n", + " 1 4.8 82446.0 \n", + " 2 8.0 98769.0 )" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import numpy as np\n", "import pandas as pd\n", @@ -128,7 +153,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "39349f73", "metadata": { "execution": { @@ -138,7 +163,64 @@ "shell.execute_reply": "2026-07-05T18:13:27.742059Z" } }, - "outputs": [], + "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", + "
sourcematchedtotalcoverage_pct
0tmdb24330081.0
1imdb26630088.7
\n", + "
" + ], + "text/plain": [ + " source matched total coverage_pct\n", + "0 tmdb 243 300 81.0\n", + "1 imdb 266 300 88.7" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def match_coverage(frame: pd.DataFrame, source_columns: dict[str, str]) -> pd.DataFrame:\n", " \"\"\"Report what fraction of rows have a non-null match for each source.\n", @@ -180,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "fa212650", "metadata": { "execution": { @@ -190,7 +272,21 @@ "shell.execute_reply": "2026-07-05T18:13:27.753115Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "is_hit\n", + "False 225\n", + "True 75\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def label_hits(frame: pd.DataFrame, column: str, quantile: float = 0.75) -> pd.DataFrame:\n", " \"\"\"Add an `is_hit` column: True if `column` is at or above the given quantile.\n", @@ -225,7 +321,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "ed0ac180", "metadata": { "execution": { @@ -235,7 +331,72 @@ "shell.execute_reply": "2026-07-05T18:13:27.766286Z" } }, - "outputs": [], + "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", + "
netflix_titlenetflix_viewing_hoursnetflix_weeksbinge_velocity
0Show 00048840931.0133.756995e+06
1Show 00168780466.097.642274e+06
2Show 00260617686.096.735298e+06
\n", + "
" + ], + "text/plain": [ + " netflix_title netflix_viewing_hours netflix_weeks binge_velocity\n", + "0 Show 000 48840931.0 13 3.756995e+06\n", + "1 Show 001 68780466.0 9 7.642274e+06\n", + "2 Show 002 60617686.0 9 6.735298e+06" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def binge_velocity(frame: pd.DataFrame,\n", " hours_col: str = \"netflix_viewing_hours\",\n", @@ -270,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a50796f0", "metadata": { "execution": { @@ -280,7 +441,72 @@ "shell.execute_reply": "2026-07-05T18:13:27.779462Z" } }, - "outputs": [], + "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", + "
netflix_titleimdb_averageRatingimdb_numVotesimdb_rating_shrunk
0Show 0006.6131664.06.600282
1Show 0014.882446.04.811299
2Show 0028.098769.07.993323
\n", + "
" + ], + "text/plain": [ + " netflix_title imdb_averageRating imdb_numVotes imdb_rating_shrunk\n", + "0 Show 000 6.6 131664.0 6.600282\n", + "1 Show 001 4.8 82446.0 4.811299\n", + "2 Show 002 8.0 98769.0 7.993323" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def bayesian_rating(frame: pd.DataFrame,\n", " rating_col: str,\n", @@ -322,7 +548,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "a7d6e719", "metadata": { "execution": { @@ -332,7 +558,72 @@ "shell.execute_reply": "2026-07-05T18:13:27.791018Z" } }, - "outputs": [], + "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", + "
netflix_titletmdb_vote_averageimdb_averageRatingaudience_alignment_gap
0Show 0007.46.60.8
1Show 0017.84.83.0
2Show 0025.08.03.0
\n", + "
" + ], + "text/plain": [ + " netflix_title tmdb_vote_average imdb_averageRating audience_alignment_gap\n", + "0 Show 000 7.4 6.6 0.8\n", + "1 Show 001 7.8 4.8 3.0\n", + "2 Show 002 5.0 8.0 3.0" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def audience_alignment_gap(frame: pd.DataFrame,\n", " col_a: str = \"tmdb_vote_average\",\n", @@ -362,7 +653,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "8eb446da", "metadata": { "execution": { @@ -372,7 +663,68 @@ "shell.execute_reply": "2026-07-05T18:13:27.801813Z" } }, - "outputs": [], + "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", + "
netflix_titleimdb_numVotesimdb_buzz_log
0Show 000131664.011.788016
1Show 00182446.011.319911
2Show 00298769.011.500549
\n", + "
" + ], + "text/plain": [ + " netflix_title imdb_numVotes imdb_buzz_log\n", + "0 Show 000 131664.0 11.788016\n", + "1 Show 001 82446.0 11.319911\n", + "2 Show 002 98769.0 11.500549" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def log_buzz(frame: pd.DataFrame, votes_col: str) -> pd.Series:\n", " \"\"\"Log1p-transformed vote count -- a compressed 'attention volume' feature.\"\"\"\n", @@ -398,7 +750,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "35d36857", "metadata": { "execution": { @@ -408,7 +760,131 @@ "shell.execute_reply": "2026-07-05T18:13:27.822583Z" } }, - "outputs": [], + "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", + "
binge_velocityimdb_rating_shrunkaudience_alignment_gapimdb_buzz_logtmdb_popularity
count3.000000e+02266.000000216.000000266.000000243.000000
mean5.542163e+066.6735301.74120411.649581204.333333
std2.045585e+061.4801971.1706951.027040112.786259
min2.108027e+064.0149170.0000006.4599045.300000
25%3.546625e+065.4037070.70000011.279534115.150000
50%5.761116e+066.6998151.60000011.976276202.000000
75%7.323639e+067.8978302.52500012.361748295.250000
max8.977398e+069.2799124.70000012.608537399.800000
\n", + "
" + ], + "text/plain": [ + " binge_velocity imdb_rating_shrunk audience_alignment_gap \\\n", + "count 3.000000e+02 266.000000 216.000000 \n", + "mean 5.542163e+06 6.673530 1.741204 \n", + "std 2.045585e+06 1.480197 1.170695 \n", + "min 2.108027e+06 4.014917 0.000000 \n", + "25% 3.546625e+06 5.403707 0.700000 \n", + "50% 5.761116e+06 6.699815 1.600000 \n", + "75% 7.323639e+06 7.897830 2.525000 \n", + "max 8.977398e+06 9.279912 4.700000 \n", + "\n", + " imdb_buzz_log tmdb_popularity \n", + "count 266.000000 243.000000 \n", + "mean 11.649581 204.333333 \n", + "std 1.027040 112.786259 \n", + "min 6.459904 5.300000 \n", + "25% 11.279534 115.150000 \n", + "50% 11.976276 202.000000 \n", + "75% 12.361748 295.250000 \n", + "max 12.608537 399.800000 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def build_feature_matrix(raw: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"Turn the raw composite dataset into a model-ready feature matrix.\n", @@ -452,7 +928,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "bdf7da34", "metadata": { "execution": { @@ -462,7 +938,23 @@ "shell.execute_reply": "2026-07-05T18:13:27.831615Z" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "binge_velocity 0.513524\n", + "tmdb_popularity 0.100953\n", + "audience_alignment_gap 0.022144\n", + "imdb_buzz_log 0.013298\n", + "imdb_rating_shrunk 0.005193\n", + "Name: is_hit, dtype: float64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "numeric = features.drop(columns=[\"netflix_title\"]).astype(float)\n", "numeric.corr()[\"is_hit\"].drop(\"is_hit\").sort_values(key=abs, ascending=False)\n" @@ -487,6 +979,11 @@ } ], "metadata": { + "kernelspec": { + "display_name": "venv", + "language": "python", + "name": "python3" + }, "language_info": { "codemirror_mode": { "name": "ipython", @@ -497,7 +994,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.13.9" } }, "nbformat": 4, diff --git a/netflix_review_concepts_module_2.ipynb b/netflix_review_concepts_module_2.ipynb index 2fbf644..ef9aa3f 100644 --- a/netflix_review_concepts_module_2.ipynb +++ b/netflix_review_concepts_module_2.ipynb @@ -82,10 +82,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "9b5c1b02", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean = 14.62\n", + "variance = 16.48\n", + "standard deviation = 4.06\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -121,10 +131,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b6d1e548", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "covariance(x, y) = 2.67\n" + ] + } + ], "source": [ "x = np.array([1, 2, 3, 4, 5, 6])\n", "y = np.array([2, 4, 5, 4, 5, 8])\n", @@ -158,10 +176,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "c2ae32aa", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "correlation(x, y) = 0.870\n" + ] + } + ], "source": [ "corr_xy = np.corrcoef(x, y)[0, 1]\n", "print(f\"correlation(x, y) = {corr_xy:.3f}\")\n" @@ -185,10 +211,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "056be789", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " x y\n", + "count 6.000000 6.000000\n", + "mean 3.500000 4.666667\n", + "std 1.870829 1.966384\n", + "min 1.000000 2.000000\n", + "25% 2.250000 4.000000\n", + "50% 3.500000 4.500000\n", + "75% 4.750000 5.000000\n", + "max 6.000000 8.000000\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -211,10 +253,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a28bca11", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "standardized mean = -0.0000, standardized std = 1.0000\n" + ] + } + ], "source": [ "z = (x - np.mean(x)) / np.std(x)\n", "print(f\"standardized mean = {np.mean(z):.4f}, standardized std = {np.std(z):.4f}\")\n" @@ -235,10 +285,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "1290e3dc", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean without outlier: 3.50, with outlier: 74.43\n", + "std without outlier: 1.71, with outlier: 173.75\n" + ] + } + ], "source": [ "x_with_outlier = np.append(x, 500) # one extreme value added\n", "print(f\"mean without outlier: {np.mean(x):.2f}, with outlier: {np.mean(x_with_outlier):.2f}\")\n", @@ -269,10 +328,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "3587eb92", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hours_studied sleep_hours exam_score\n", + "hours_studied 1.000000 0.051028 0.931476\n", + "sleep_hours 0.051028 1.000000 0.244193\n", + "exam_score 0.931476 0.244193 1.000000\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -305,10 +375,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "7cf809c6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fitted slope (beta1) = 2.479\n", + "fitted intercept (beta0) = 2.280\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -340,10 +419,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "4e32d191", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "scipy slope = 2.479, intercept = 2.280\n" + ] + } + ], "source": [ "from scipy import stats\n", "\n", @@ -369,10 +456,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "0880a93a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "matrix-form solution: [2.27997649 2.47915931]\n" + ] + } + ], "source": [ "X = np.column_stack([np.ones(n), x]) # design matrix: intercept column + x column\n", "beta_matrix = np.linalg.inv(X.T @ X) @ X.T @ y\n", @@ -393,10 +488,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "7db816ad", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "multiple regression coefficients: [ 1.38987151 2.67591663 -0.90786098]\n" + ] + } + ], "source": [ "x2 = 0.5 * x + rng.normal(0, 2, n)\n", "y_multi = 2.5 * x - 1.2 * x2 + 3.0 + rng.normal(0, 4.0, n)\n", @@ -424,10 +527,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "febd1a33", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sklearn coefficients: [ 2.67591663 -0.90786098], intercept: 1.3898715127159882\n" + ] + } + ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", @@ -449,10 +560,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "8a8ab508", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "quadratic fit coefficients: [2.59075394 2.29461966 0.01856484]\n" + ] + } + ], "source": [ "X_quadratic = np.column_stack([np.ones(n), x, x**2])\n", "beta_quadratic = np.linalg.inv(X_quadratic.T @ X_quadratic) @ X_quadratic.T @ y\n", @@ -472,10 +591,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "d9463783", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fitted line: y = 0.05 + 1.99 * x\n", + "x=1: actual y=2.1, predicted y=2.04, residual=0.06\n", + "x=2: actual y=3.9, predicted y=4.03, residual=-0.13\n", + "x=3: actual y=6.2, predicted y=6.02, residual=0.18\n", + "x=4: actual y=7.8, predicted y=8.01, residual=-0.21\n", + "x=5: actual y=10.1, predicted y=10.00, residual=0.10\n" + ] + } + ], "source": [ "x_small = np.array([1, 2, 3, 4, 5])\n", "y_small = np.array([2.1, 3.9, 6.2, 7.8, 10.1])\n", @@ -504,10 +636,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "09be8c0f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean residual = 0.0000\n", + "residual std dev = 2.991\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -539,10 +680,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "c6e63e5a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MSE = 8.947\n" + ] + } + ], "source": [ "from sklearn.metrics import mean_squared_error, r2_score\n", "\n", @@ -552,10 +701,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "ac6ac3e1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R^2 = 0.845\n" + ] + } + ], "source": [ "r2 = r2_score(y, y_hat)\n", "print(f\"R^2 = {r2:.3f}\")\n" @@ -575,10 +732,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "4760056e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MAE = 2.485 (compare to MSE = 8.947 and RMSE = 2.991)\n" + ] + } + ], "source": [ "from sklearn.metrics import mean_absolute_error\n", "\n", @@ -601,10 +766,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "5e7a890c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "linear MSE= 8.95 MAE= 2.49 R2=0.845\n", + "quadratic MSE= 8.93 MAE= 2.47 R2=0.845\n" + ] + } + ], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", @@ -645,10 +819,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "2f0423ac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "degree 1: train MSE = 63.38 test MSE = 51.30\n", + "degree 3: train MSE = 32.87 test MSE = 25.96\n", + "degree 11: train MSE = 25.21 test MSE = 28.86\n" + ] + } + ], "source": [ "import numpy as np\n", "from sklearn.model_selection import train_test_split\n", @@ -693,10 +877,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "94b0a2de", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "final weights: [15.46108277 6.62889401]\n", + "loss after 1 iteration: 297.06, after 200: 14.07\n" + ] + } + ], "source": [ "def gradient_descent_linreg(X, y, lr=0.1, n_iter=200):\n", " n_samples, n_features = X.shape\n", @@ -736,10 +929,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "841cf66d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "per-fold MSE: [312.48543783 65.85362782 78.76008329 58.15198595 142.48281536]\n", + "average MSE across folds: 131.547\n" + ] + } + ], "source": [ "from sklearn.model_selection import cross_val_score\n", "from sklearn.linear_model import LinearRegression\n", @@ -770,10 +972,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "f205f452", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "loss surface shape: (60, 60)\n", + "minimum loss on this grid: 8.96\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -808,10 +1019,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "7acbecfd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "started at (-4, 4), converged near [-2.81 3.13]\n", + "started at (4, 4), converged near [3. 2.]\n", + "started at (-4, -4), converged near [-3.78 -3.28]\n", + "started at (4, -2), converged near [ 3.58 -1.85]\n" + ] + } + ], "source": [ "def himmelblau(x, y):\n", " return (x**2 + y - 11) ** 2 + (x + y**2 - 7) ** 2\n", @@ -848,10 +1070,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "abc802ef", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dimension 2: fraction of critical points that are true local minima = 0.130\n", + "dimension 4: fraction of critical points that are true local minima = 0.000\n", + "dimension 8: fraction of critical points that are true local minima = 0.000\n", + "dimension 12: fraction of critical points that are true local minima = 0.000\n" + ] + } + ], "source": [ "rng = np.random.default_rng(0)\n", "\n", @@ -885,10 +1118,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "6bd5372d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "raw feature ranges: [5.82459511e-02 5.82459511e+01] to [ 9.63670873 9636.70872845]\n", + "scaled feature means: [ 0. -0.], stds: [1. 1.]\n" + ] + } + ], "source": [ "from sklearn.preprocessing import StandardScaler\n", "\n", @@ -916,10 +1158,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "f191b4ac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "network output: [-0.05776259]\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -966,10 +1216,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "523d4a52", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training MSE: 0.0326\n", + "number of weight matrices: 3\n", + "total trainable parameters: 321\n" + ] + } + ], "source": [ "from sklearn.neural_network import MLPRegressor\n", "from sklearn.metrics import mean_squared_error\n", @@ -1024,10 +1284,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "db721357", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "beta = [2.97016008 2.44771001]\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -1055,10 +1323,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "f4589338", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "slope = 2.448, intercept = 2.970, r-squared = 0.785\n" + ] + } + ], "source": [ "from scipy import stats\n", "\n", @@ -1077,10 +1353,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "b592cb3f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test MSE = 10.972\n", + "test R^2 = 0.869\n" + ] + } + ], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.model_selection import train_test_split\n", @@ -1114,10 +1399,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "5a0b0a89", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "\n", @@ -1143,10 +1439,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "29c4369e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fitted from a DataFrame: slope = 0.332\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -1172,10 +1476,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "a252d8c1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], "source": [ "rng_a = np.random.default_rng(7)\n", "rng_b = np.random.default_rng(7)\n", @@ -1223,10 +1535,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "731031b5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(8, 8)\n", + "[[ 0. 0. 5. 13. 9. 1. 0. 0.]\n", + " [ 0. 0. 13. 15. 10. 15. 5. 0.]\n", + " [ 0. 3. 15. 2. 0. 11. 8. 0.]\n", + " [ 0. 4. 12. 0. 0. 8. 8. 0.]\n", + " [ 0. 5. 8. 0. 0. 9. 8. 0.]\n", + " [ 0. 4. 11. 0. 1. 12. 7. 0.]\n", + " [ 0. 2. 14. 5. 10. 12. 0. 0.]\n", + " [ 0. 0. 6. 13. 10. 0. 0. 0.]]\n" + ] + } + ], "source": [ "import numpy as np\n", "from sklearn.datasets import load_digits\n", @@ -1258,10 +1586,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "d90b0bc2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test accuracy: 0.954\n", + "number of weights being fit: 640\n" + ] + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import LogisticRegression\n", @@ -1297,10 +1634,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "b68500f9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "original shape: (8, 8), after kernel: (6, 6)\n", + "[[ 33. 27. -14. -3. -6. -27.]\n", + " [ 40. 10. -30. 17. 11. -34.]\n", + " [ 35. -10. -35. 26. 24. -28.]\n", + " [ 31. -13. -30. 29. 22. -29.]\n", + " [ 33. -6. -22. 28. 4. -33.]\n", + " [ 31. 12. -10. 6. -14. -24.]]\n" + ] + } + ], "source": [ "def apply_kernel(image, kernel):\n", " '''A minimal, from-scratch 2D convolution -- no padding, unit stride.'''\n", @@ -1346,7 +1697,7 @@ ], "metadata": { "kernelspec": { - "display_name": "venv (3.13.9.final.0)", + "display_name": "venv", "language": "python", "name": "python3" }, diff --git a/netflix_review_concepts_module_3.ipynb b/netflix_review_concepts_module_3.ipynb index 30a8f4d..4ce2f92 100644 --- a/netflix_review_concepts_module_3.ipynb +++ b/netflix_review_concepts_module_3.ipynb @@ -66,10 +66,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "e2078a0b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10 \n", + "ten \n" + ] + } + ], "source": [ "count = 10 # count is bound to an int\n", "print(count, type(count))\n", @@ -93,10 +102,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "009d6843", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], "source": [ "integer_value = 42\n", "float_value = 3.14159\n", @@ -128,10 +149,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "bdba4cda", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + "True\n" + ] + } + ], "source": [ "print(isinstance(integer_value, int)) # True\n", "print(isinstance(True, int)) # True -- bool is a subclass of int in Python\n" @@ -156,10 +186,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "f3bf3c3d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "22\n", + "12\n", + "85\n", + "3.4\n", + "3\n", + "2\n", + "1419857\n" + ] + } + ], "source": [ "a, b = 17, 5\n", "\n", @@ -189,10 +233,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a090c7f3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ada scored 97.5 points\n" + ] + } + ], "source": [ "name = \"Ada\"\n", "score = 97.5\n", @@ -216,10 +268,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "379f61b3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 2. 4. 6. 8. 10.]\n", + "float64\n", + "8\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -249,10 +311,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "68b2d897", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "50\n" + ] + } + ], "source": [ "count_str = \"42\"\n", "count_int = int(count_str) # 42, as an actual integer\n", @@ -281,10 +351,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "90f4a5da", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\n" + ] + } + ], "source": [ "total = 0\n", "total += 5 # equivalent to: total = total + 5\n", @@ -316,10 +394,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "2ab0a30c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "True\n" + ] + } + ], "source": [ "age = 25\n", "print(0 <= age < 18) # False -- equivalent to: 0 <= age and age < 18\n", @@ -345,10 +432,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "67f80f5b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "It's mild\n" + ] + } + ], "source": [ "temperature = 72\n", "\n", @@ -375,10 +470,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "66c65bdd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "no data to process\n" + ] + } + ], "source": [ "data = []\n", "\n", @@ -406,10 +509,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "11e86ad3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "eligible to drive\n" + ] + } + ], "source": [ "age = 25\n", "has_license = True\n", @@ -440,10 +551,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "4a25b9d3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "odd\n" + ] + } + ], "source": [ "x = 7\n", "label = \"even\" if x % 2 == 0 else \"odd\"\n", @@ -467,10 +586,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "350228f6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "unrecognized label\n" + ] + } + ], "source": [ "allowed_labels = [\"cat\", \"dog\", \"bird\"]\n", "label = \"fish\"\n", @@ -496,10 +623,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "d555205a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "B-with-credit\n" + ] + } + ], "source": [ "income = 55000\n", "has_dependents = True\n", @@ -535,10 +670,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "1e9003eb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Not Found\n" + ] + } + ], "source": [ "status_code = 404\n", "\n", @@ -573,10 +716,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "e6b70671", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[False True True False True True]\n", + "[22 34 61 45]\n", + " age name\n", + "1 22 B\n", + "2 34 C\n", + "4 61 E\n", + "5 45 F\n" + ] + } + ], "source": [ "import numpy as np\n", "import pandas as pd\n", @@ -605,10 +762,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "5cf49fac", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " age name\n", + "1 22 B\n", + "2 34 C\n" + ] + } + ], "source": [ "young_adults = df[(df[\"age\"] >= 18) & (df[\"age\"] < 40)]\n", "print(young_adults)\n" @@ -632,10 +799,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "ecfe7468", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "checking -5\n", + "False\n" + ] + } + ], "source": [ "def is_valid(x):\n", " print(f\"checking {x}\")\n", @@ -665,10 +841,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "3ab83e7c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + "True\n" + ] + } + ], "source": [ "scores = [82, 91, 76, 88]\n", "\n", @@ -704,10 +889,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "adf89e4b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I like apple\n", + "I like banana\n", + "I like cherry\n" + ] + } + ], "source": [ "fruits = [\"apple\", \"banana\", \"cherry\"]\n", "\n", @@ -727,10 +922,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "a4290527", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "4\n", + "9\n", + "16\n" + ] + } + ], "source": [ "for i in range(5): # 0, 1, 2, 3, 4\n", " print(i ** 2)\n" @@ -751,10 +958,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "b498e0b0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "took 7 steps to shrink below 1\n" + ] + } + ], "source": [ "value = 100\n", "steps = 0\n", @@ -782,10 +997,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "ba170725", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n", + "2\n" + ] + } + ], "source": [ "numbers = [4, 7, 2, 9, 3, 6]\n", "\n", @@ -811,10 +1035,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "8240b1ec", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0: apple\n", + "1: banana\n", + "2: cherry\n" + ] + } + ], "source": [ "for index, fruit in enumerate(fruits):\n", " print(f\"{index}: {fruit}\")\n" @@ -831,10 +1065,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "c749777e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ada: 97\n", + "Grace: 88\n", + "Alan: 91\n" + ] + } + ], "source": [ "names = [\"Ada\", \"Grace\", \"Alan\"]\n", "scores = [97, 88, 91]\n", @@ -857,10 +1101,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "39ac10da", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]\n", + "[0, 4, 16, 36, 64]\n" + ] + } + ], "source": [ "squares = [n ** 2 for n in range(10)]\n", "even_squares = [n ** 2 for n in range(10) if n % 2 == 0]\n", @@ -885,10 +1138,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "fcb73c2f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Ada': 3, 'Grace': 5, 'Alan': 4}\n", + "{'G', 'A'}\n" + ] + } + ], "source": [ "names = [\"Ada\", \"Grace\", \"Alan\"]\n", "name_lengths = {name: len(name) for name in names}\n", @@ -912,10 +1174,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "0e792bc5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A1\n", + "A2\n", + "A3\n", + "B1\n", + "B2\n", + "B3\n" + ] + } + ], "source": [ "rows = [\"A\", \"B\"]\n", "columns = [1, 2, 3]\n", @@ -946,10 +1221,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "75807222", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A1\n", + "A2\n", + "A3\n", + "B1\n", + "B2\n", + "B3\n" + ] + } + ], "source": [ "from itertools import product\n", "\n", @@ -971,10 +1259,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "141f0fcf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pure Python: 0.0157 seconds\n" + ] + } + ], "source": [ "import time\n", "\n", @@ -996,10 +1292,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "a11d2e90", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NumPy vectorized: 0.0007 seconds\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -1034,10 +1338,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "7a080f49", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 1\n", + "1 2\n", + "2 3\n", + "3 4\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -1084,10 +1399,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "75c02c3d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello, Ada!\n" + ] + } + ], "source": [ "def greet(name):\n", " return f\"Hello, {name}!\"\n", @@ -1109,10 +1432,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "9d2982d1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10.0\n", + "20.0\n", + "25.0\n" + ] + } + ], "source": [ "def scale_value(x, factor=1.0, offset=0.0):\n", " return x * factor + offset\n", @@ -1142,10 +1475,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "af9c9a5a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "values: (1, 2, 3)\n", + "labels: {'unit': 'meters', 'precision': 2}\n" + ] + } + ], "source": [ "def summarize(*values, **labels):\n", " print(f\"values: {values}\") # a tuple of all positional arguments\n", @@ -1173,10 +1515,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "e4ed9a91", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on function z_score in module __main__:\n", + "\n", + "z_score(x, mean, std)\n", + " Standardize a value using the given mean and standard deviation.\n", + "\n", + " Returns (x - mean) / std.\n", + "\n" + ] + } + ], "source": [ "def z_score(x, mean, std):\n", " '''Standardize a value using the given mean and standard deviation.\n", @@ -1205,10 +1561,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "b471d07d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "100\n" + ] + } + ], "source": [ "total = 100\n", "\n", @@ -1237,10 +1602,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "5af99f8a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "150\n" + ] + } + ], "source": [ "total = 100\n", "\n", @@ -1273,10 +1646,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "9c370986", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.5\n" + ] + } + ], "source": [ "def z_score(x: float, mean: float, std: float) -> float:\n", " return (x - mean) / std\n", @@ -1302,10 +1683,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "b7c9d465", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "120\n" + ] + } + ], "source": [ "def factorial(n):\n", " if n <= 1:\n", @@ -1335,10 +1724,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "df0adf7b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a']\n", + "['a', 'b']\n" + ] + } + ], "source": [ "def add_item(item, collection=[]): # BUG: the same list is reused every call\n", " collection.append(item)\n", @@ -1360,10 +1758,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "2399988c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a']\n", + "['b']\n" + ] + } + ], "source": [ "def add_item_fixed(item, collection=None):\n", " if collection is None:\n", @@ -1393,10 +1800,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "6fb93ebd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25\n" + ] + } + ], "source": [ "square = lambda x: x ** 2\n", "print(square(5)) # 25\n" @@ -1418,10 +1833,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "af2915f7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " celsius fahrenheit\n", + "0 0 32.0\n", + "1 20 68.0\n", + "2 37 98.6\n", + "3 100 212.0\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -1448,10 +1875,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "5dd1930b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " celsius fahrenheit fahrenheit_lambda\n", + "0 0 32.0 32.0\n", + "1 20 68.0 68.0\n", + "2 37 98.6 98.6\n", + "3 100 212.0 212.0\n" + ] + } + ], "source": [ "df[\"fahrenheit_lambda\"] = df[\"celsius\"].apply(lambda c: c * 9 / 5 + 32)\n", "print(df)\n" @@ -1484,10 +1923,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "dccac4d7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "88\n", + "[92, 78]\n", + "[87, 92, 78, 90, 88]\n" + ] + } + ], "source": [ "scores = [85, 92, 78, 90]\n", "\n", @@ -1516,10 +1965,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "2b42e6c4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3 4\n" + ] + } + ], "source": [ "point = (3, 4)\n", "x, y = point # unpacking: assigns 3 to x and 4 to y in one line\n", @@ -1540,10 +1997,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "84c23529", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 9\n" + ] + } + ], "source": [ "def min_and_max(values):\n", " return min(values), max(values) # returns a tuple\n", @@ -1566,10 +2031,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "fca4db19", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ada\n", + "name: Ada\n", + "age: 29\n", + "major: Computer Science\n", + "gpa: 3.9\n" + ] + } + ], "source": [ "student = {\"name\": \"Ada\", \"age\": 28, \"major\": \"Computer Science\"}\n", "\n", @@ -1600,10 +2077,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "ea23893d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'ml', 'python', 'stats', 'data'}\n", + "{'ml', 'python'}\n", + "{'data'}\n", + "True\n" + ] + } + ], "source": [ "tags_a = {\"python\", \"data\", \"ml\"}\n", "tags_b = {\"ml\", \"stats\", \"python\"}\n", @@ -1637,10 +2125,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "37f1a759", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Alan 95\n", + "Ada 91\n", + "Grace 88\n" + ] + } + ], "source": [ "students = [\n", " {\"name\": \"Ada\", \"score\": 91},\n", @@ -1677,10 +2175,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "5d7cc80e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ada: 91.3\n", + "Grace: 87.7\n" + ] + } + ], "source": [ "course = {\n", " \"name\": \"Data Science Intensive\",\n", @@ -1713,10 +2220,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "93702267", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4]\n" + ] + } + ], "source": [ "original = [1, 2, 3]\n", "alias = original # alias is NOT a copy -- it's the same list\n", @@ -1746,10 +2261,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "fc4a78c6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name age score\n", + "0 Ada 28 91\n", + "1 Grace 34 88\n", + "2 Alan 41 95\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -1776,10 +2302,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "07839abf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "18.0\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -1800,10 +2334,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "2b4e1126", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ridge(random_state=0)\n" + ] + } + ], "source": [ "from sklearn.linear_model import Ridge\n", "\n", @@ -1840,10 +2382,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "49729fc0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "data science\n", + "DATA SCIENCE\n", + "['Data', 'Science']\n", + "Computer Science\n", + "Data\n", + "12\n" + ] + } + ], "source": [ "text = \"Data Science\"\n", "\n", @@ -1869,10 +2424,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "252ffead", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'raw input line'\n", + "Data-Science-Intensive\n" + ] + } + ], "source": [ "messy = \" raw input line \\n\"\n", "clean = messy.strip()\n", @@ -1897,10 +2461,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "641c0c22", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "model_v2 achieved 91.37% accuracy\n" + ] + } + ], "source": [ "name = \"model_v2\"\n", "accuracy = 0.9137\n", @@ -1927,10 +2499,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "fccff7ec", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "first line\n", + "second line\n", + "\n" + ] + } + ], "source": [ "with open(\"notes.txt\", \"w\") as f:\n", " f.write(\"first line\\n\")\n", @@ -1962,10 +2544,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "5ae79d92", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "first line\n", + "second line\n" + ] + } + ], "source": [ "with open(\"notes.txt\", \"r\") as f:\n", " for line in f:\n", @@ -1991,10 +2582,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "137fae52", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "scores.csv\n", + "False\n", + ".csv\n" + ] + } + ], "source": [ "from pathlib import Path\n", "\n", @@ -2024,7 +2625,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "e8c31160", "metadata": {}, "outputs": [], @@ -2047,10 +2648,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "610ddd99", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['name', 'age', 'score']\n", + "[['Ada', '28', '91'], ['Grace', '34', '88'], ['Alan', '41', '95']]\n" + ] + } + ], "source": [ "with open(\"scores.csv\", \"r\") as f:\n", " lines = f.read().strip().split(\"\\n\")\n", @@ -2076,10 +2686,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "22e9cdec", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name age score\n", + "0 Ada 28 91\n", + "1 Grace 34 88\n", + "2 Alan 41 95\n", + "name object\n", + "age int64\n", + "score int64\n", + "dtype: object\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -2103,10 +2728,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "095da3c6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5.0\n", + "cannot divide by zero, returning None instead\n", + "None\n" + ] + } + ], "source": [ "def safe_divide(a, b):\n", " try:\n", @@ -2137,10 +2772,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "12d651dd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "file not found: does_not_exist.txt\n", + "finished attempting to load the file\n", + "file did not contain a valid integer\n", + "finished attempting to load the file\n", + "finished attempting to load the file\n", + "42\n" + ] + } + ], "source": [ "def load_and_parse(path):\n", " try:\n", @@ -2186,10 +2834,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "8aab9b9c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "caught an error: values list cannot be empty\n" + ] + } + ], "source": [ "def load_scores(values):\n", " if not values:\n", @@ -2217,10 +2873,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "ecc12c20", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "caught a custom error: need at least 5 values, got 2\n" + ] + } + ], "source": [ "class InsufficientDataError(Exception):\n", " '''Raised when there isn't enough data to compute a reliable result.'''\n", @@ -2269,10 +2933,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "baef211a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.0\n", + "3.141592653589793\n" + ] + } + ], "source": [ "import math\n", "\n", @@ -2292,10 +2965,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "6e16fb9b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5.0\n" + ] + } + ], "source": [ "from math import sqrt, pi\n", "\n", @@ -2314,10 +2995,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "b38cd226", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "all three imported with their standard aliases\n" + ] + } + ], "source": [ "import numpy as np\n", "import pandas as pd\n", @@ -2408,10 +3097,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "57c090b2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "running the main program\n", + "in this notebook, __name__ is: '__main__'\n" + ] + } + ], "source": [ "def main():\n", " print(\"running the main program\")\n", @@ -2456,10 +3154,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "49a81c54", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.4.6\n", + "1.9.0\n" + ] + } + ], "source": [ "import numpy as np\n", "import sklearn\n", @@ -2482,10 +3189,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "1ee0e137", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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prdt26bTTz9dCQkJwb6liPT777/rhx9+UFxcnJo0aaJq1aoF+5YiwtatW/Xll1/qxBNPdF7XrKxdu1Zr1qxxXvMWLVr4tbhntjxRYOPGjZ4TTjjBU69ePc/555/vKVmypGfcuHHBvq2IM3DgQE/16tU9bdq08bRu3dpTqlQpz5gxY4J9WxGtf//+nmLFinlOO+20YN9KRPrll188J598sqd27dqejh07eho0aOB55ZVXgn1bEadfv37O7+XExETn90eJEiU8w4YNC/Zthf373lVXXeWpWbOmp2zZsp7Bgwdn+zukTJkynrZt23oSEhI855xzjic5ObnQ7y8qwkf79u09Z599tufgwYPO8WuvveaJi4vz/PTTT8G+tYjywgsveP7555+04+nTp3tiYmI833//fVDvK1J98MEHnpNOOsnTvXt3wkchOHDggPNHS6dOndJ+d6SkpHjmzp1bGE8XtVauXGk7Lj3z589POzdp0iTn3JYtW4J6b+Fs9erVnjfeeMP52W3UqFGW4WP27NnOe+E333zjHO/cudNz7LHHeu66665Cv7+IX/Oxa9cuzZ07V3369FHRokWdc126dFGVKlX0+uuvB/v2IkrPnj1VsmTJtONOnTo50y+rV68O6n1FIut91KNHD02bNi3Daw7/eeutt/Trr79q7Nixab87ihUrpsTERF5mP0pJSXE+16lTJ+3ccccdl+Ex5N3JJ5+sq6++Ou1nNytTp07Vueee6yxFMJUqVdKNN97onC9sEb/mw+axbM62cePGGXrHNGrUSN9//31Q7y3SffLJJ87n9K89Cs5+nrt27ap+/frp1FNP5SUtJF988YUaNmzorFuaP3++Mw/etGlT5w8X+M+ZZ56p22+/Xdddd51uvvlmHT58WC+88IKGDh2aIZDA/+w98IILLjgqtNj6pp07dxbqmr0i0bAA0lSsWDHDeUt4NiqCwmE/vLfddpszypTdIifkz/Dhw50RpbvuuouXsBBt377d+UPFFpnaQrwDBw44C09Hjx6tW2+9ldfej+w1njdvnt59911nc4AtpLYF6yj898es3hvN33//TfgoCG/52L1792Y4b8clSpQo0PdG1iwx286LevXqacKECbxMfrRhwwY98sgjeuyxx/Tmm28653755Rf99ddfzjRimzZtVLVqVV5zP7DfDzZl+MEHH6hdu3bOueeff169e/d2jguz83Y0+eyzz5wRj0WLFqlVq1bOOdvBdeWVVzqvv40+ofDeH7N6bzSF/f4Y8Ws+7A3Qu40rvY0bN6bNK8J/bDTpwgsvdLZ+zpkzh/UIfmZD//ZL2f4CnzlzpvOxfv16J3zYP1vwg/9+d9h6Gm/wMPba21/mrGPyn88//9wpfeANHqZjx47OqJNNfaFwf8azem+04FHYW50jPnxYwGjQoIGzeMzrf//7n/PRvn37oN5bpNm9e7cTPOLj4/Xhhx+qdOnSwb6liFO7dm1nhCP9h40y2c+5/TN/JfpPhw4dtH//fme0yevHH390PteqVcuPzxTd7LXcsWNHhmlwW+hrIY/RpcJlwdrWM3mXJ9h0ro2o2qJqq7dSmKKisZzNJdovkl69ejlJz1avn3TSSc5f5vAP+zGyFdO//fabnn766QzBwxZFWgBE4bBpgCVLlmj58uW8xH5mK/+XLl3q7JazNR+jRo1S69atnV1G8A8b5j/ttNOcUSbbMWehY9y4cc5aBJuKyWm3BrJnP682GmoGDRqkZs2aqXPnzs46Dvsj0fzzzz/Ogl977e1nfeHChc4fjvb7pLD/kImK8GFsmHrKlClOwmvZsqW6d+/OD7Wfd2DY4tKs2M6MSy+91J9Ph3QmTZrk/KVoC1HhX/brcfr06fr0009VqlQpZ1viVVddFZgKkFFk3759zs+x7b6wv7jtjfKGG25wtjYjf+y9zsJcZvXr19ejjz6adrxnzx6NHz/emQ2wqRZbTB2IJQlREz4AAEBoiPg1HwAAILQQPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAQEARPgAAgALp/wGnqbIgaon3ogAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import numpy as np # arrays and fast numerical computation\n", "import pandas as pd # labeled tabular data (DataFrames)\n", @@ -2541,10 +3259,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "6394c8a6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rex\n", + "Rex says Woof!\n" + ] + } + ], "source": [ "class Dog:\n", " def __init__(self, name, breed):\n", @@ -2581,10 +3308,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "b08e1532", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Canis familiaris Canis familiaris\n", + "Rex Fido\n" + ] + } + ], "source": [ "class Dog:\n", " species = \"Canis familiaris\" # class attribute -- shared by all dogs\n", @@ -2624,10 +3360,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "ab0e65f1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creature makes a sound\n", + "Whiskers says Meow!\n" + ] + } + ], "source": [ "class Animal:\n", " def __init__(self, name):\n", @@ -2668,10 +3413,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "6d130076", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Point(1, 2)\n", + "True\n" + ] + } + ], "source": [ "class Point:\n", " def __init__(self, x, y):\n", @@ -2713,10 +3467,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "dbe27832", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fitted parameters: [2.51494229 2.6046724 ]\n" + ] + } + ], "source": [ "import numpy as np\n", "\n", @@ -2798,10 +3560,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "f438711b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing messy_example.py\n" + ] + } + ], "source": [ "%%writefile messy_example.py\n", "def compute_average(values):\n", @@ -2814,20 +3584,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "36a69872", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1mreformatted messy_example.py\u001b[0m\n", + "\n", + "\u001b[1mAll done! ✨ 🍰 ✨\u001b[0m\n", + "\u001b[34m\u001b[1m1 file \u001b[0m\u001b[1mreformatted\u001b[0m.\n" + ] + } + ], "source": [ "!python3 -m black messy_example.py\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "b0fdbd3f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "def compute_average(values):\n", + " total = 0\n", + " for i in range(len(values)):\n", + " total = total + values[i]\n", + " average = total / len(values)\n", + " return average\n", + "\n" + ] + } + ], "source": [ "with open(\"messy_example.py\") as f:\n", " print(f.read())\n" @@ -2851,10 +3646,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "c53741e4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing bad_example.py\n" + ] + } + ], "source": [ "%%writefile bad_example.py\n", "import numpy as np\n", @@ -2873,10 +3676,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "7f2f5148", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/Users/vincent/Documents/netflix-writers/venv/bin/python3: No module named ruff\n" + ] + } + ], "source": [ "!python3 -m ruff check bad_example.py\n" ] @@ -2904,10 +3715,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "792ed9a0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing typed_example.py\n" + ] + } + ], "source": [ "%%writefile typed_example.py\n", "def z_score(x: float, mean: float, std: float) -> float:\n", @@ -2918,10 +3737,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "22648597", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "typed_example.py:4: \u001b[1m\u001b[31merror:\u001b[m Argument 3 to \u001b[m\u001b[1m\"z_score\"\u001b[m has incompatible type \u001b[m\u001b[1m\"str\"\u001b[m; expected \u001b[m\u001b[1m\"float\"\u001b[m \u001b[m\u001b[33m[arg-type]\u001b[m\n", + "\u001b[1m\u001b[31mFound 1 error in 1 file (checked 1 source file)\u001b[m\n" + ] + } + ], "source": [ "!python3 -m mypy typed_example.py\n" ] @@ -2946,10 +3774,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "527c33fb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing stats_utils.py\n" + ] + } + ], "source": [ "%%writefile stats_utils.py\n", "def z_score(x, mean, std):\n", @@ -2960,10 +3796,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "0e6b302c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing test_stats_utils.py\n" + ] + } + ], "source": [ "%%writefile test_stats_utils.py\n", "from stats_utils import z_score\n", @@ -2982,10 +3826,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "id": "7ec2b396", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1m============================= test session starts ==============================\u001b[0m\n", + "platform darwin -- Python 3.13.9, pytest-9.1.0, pluggy-1.6.0 -- /Users/vincent/Documents/netflix-writers/venv/bin/python3\n", + "cachedir: .pytest_cache\n", + "rootdir: /Users/vincent/Documents/netflix-writers\n", + "configfile: pyproject.toml\n", + "plugins: mock-3.15.1, anyio-4.13.0\n", + "collected 3 items \u001b[0m\n", + "\n", + "test_stats_utils.py::test_z_score_basic \u001b[32mPASSED\u001b[0m\u001b[32m [ 33%]\u001b[0m\n", + "test_stats_utils.py::test_z_score_zero_mean \u001b[32mPASSED\u001b[0m\u001b[32m [ 66%]\u001b[0m\n", + "test_stats_utils.py::test_z_score_raises_on_zero_std \u001b[32mPASSED\u001b[0m\u001b[32m [100%]\u001b[0m\n", + "\n", + "\u001b[32m============================== \u001b[32m\u001b[1m3 passed\u001b[0m\u001b[32m in 0.01s\u001b[0m\u001b[32m ===============================\u001b[0m\n" + ] + } + ], "source": [ "!python3 -m pytest test_stats_utils.py -v\n" ] @@ -3054,10 +3918,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "id": "9f0db2fb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.7\n", + "assertion failed: n_train must be between 0 and n_total\n" + ] + } + ], "source": [ "def train_test_split_ratio(n_total, n_train):\n", " assert 0 < n_train < n_total, \"n_train must be between 0 and n_total\"\n", @@ -3135,13 +4008,21 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", "name": "python", - "version": "3.10" + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.9" } }, "nbformat": 4, diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..06fcdd7 --- /dev/null +++ b/notes.txt @@ -0,0 +1,2 @@ +first line +second line diff --git a/stats_utils.py b/stats_utils.py new file mode 100644 index 0000000..6ab6f7a --- /dev/null +++ b/stats_utils.py @@ -0,0 +1,4 @@ +def z_score(x, mean, std): + if std == 0: + raise ValueError("standard deviation cannot be zero") + return (x - mean) / std diff --git a/team5 final project (2).pdf b/team5 final project (2).pdf new file mode 100644 index 0000000..f5259cf Binary files /dev/null and b/team5 final project (2).pdf differ diff --git a/temp.txt b/temp.txt new file mode 100644 index 0000000..2bd3bba --- /dev/null +++ b/temp.txt @@ -0,0 +1,72 @@ +page 7 + +First, let’s ask a simple question: What makes a show a real 'Hit'? +To be fair and scientific, we created three simple rules to find a hit: + +High Grade: +The show must have a very good score. + +Many People Rank: +A lot of people must vote and rate the show. + +Enough Watching: +People must spend a lot of time actually watching it. + +If a show passes all three rules, we call it a Hit! + +page 8 + +"But why do these rules matter? +There is a paper that studied eWOM +which just means online talk, like reviews and comments on social media. +The paper shows that good online talk has a positive influence on how well a movie does. + + + +page 9 + +Here is another cool fact from another paper: +When we look at movie , the volume of online talk—meaning how many people are talking—is actually more important than whether the talk is good or bad. +In short, even if some comments are bad, having a lot of people talking about a show is already a big win! + +page 10 + +So, how does Netflix measure if we really love a show? +Netflix tells us that they measure engagement by views. +This is how they know which shows are keeping us glued to our screens! + +page 11 + +On this page, let's talk about some simple math: Medium vs. Average. +Why do we use 'medium' for some things and 'average' for others? +Netflix Viewing Hours: The numbers here are very uneven. +A few super popular shows have billions of hours, while most others have very little. +So, using the medium is much fairer. +TMDB Rating: The scores are mostly close to each other, so the average works perfectly. +TMDB vote_count +some unpopular films have low vote_count + + +page 12 + +What is the biggest difference between TMDB and IMDb? Think of them like this: +TMDB is like the public. +It is made of comments from everyday people—like you and me—sharing what they like. +IMDb is more like a strict professor. +The users there are very professional and judge movies much harder." + +page 13 +So, why did we choose TMDB instead of IMDb? +The big reason is missing data. +IMDb loses a huge part of its data! +If you look at this table, you can discover that about 80% of the rating data is lost (blank)! +We cannot make good plans with a database that is missing so many pieces, so TMDB is the much better choice. + +page 14 +Let’s look at a real example to see why we need Netflix viewing hours. +Look at Stranger Things and The Seven Deadly Sins. They have very similar TMDB ratings (8.6 vs 8.4). +Although their vote counts are very different, +if we only use ratings and votes, we still might miss how truly massive Stranger Things is. +That is why we added netflix_viewing_hours to our selection rule. +It makes our hit-finding rule complete and accurate! + diff --git a/test_stats_utils.py b/test_stats_utils.py new file mode 100644 index 0000000..4f36d07 --- /dev/null +++ b/test_stats_utils.py @@ -0,0 +1,12 @@ +from stats_utils import z_score +import pytest + +def test_z_score_basic(): + assert z_score(10, 5, 2) == 2.5 + +def test_z_score_zero_mean(): + assert z_score(0, 0, 1) == 0.0 + +def test_z_score_raises_on_zero_std(): + with pytest.raises(ValueError): + z_score(10, 5, 0) diff --git a/typed_example.py b/typed_example.py new file mode 100644 index 0000000..bad2c11 --- /dev/null +++ b/typed_example.py @@ -0,0 +1,4 @@ +def z_score(x: float, mean: float, std: float) -> float: + return (x - mean) / std + +result = z_score(10, 5, "2") # passing a string where a float is expected