From fc89e512d9d30f910ba1d2c996809ffb7ce351f5 Mon Sep 17 00:00:00 2001 From: s444018 Date: Mon, 21 Mar 2022 09:03:16 +0100 Subject: [PATCH] update data formatting --- script.ipynb | 648 +++++++++++++++++---------------------------------- 1 file changed, 219 insertions(+), 429 deletions(-) diff --git a/script.ipynb b/script.ipynb index cb1d69e..c647a1e 100644 --- a/script.ipynb +++ b/script.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "circular-credit", + "id": "municipal-plumbing", "metadata": {}, "source": [ "### Skrypt do ściagnięcia zbiory danych" @@ -11,7 +11,7 @@ { "cell_type": "code", "execution_count": null, - "id": "occupational-sister", + "id": "colored-lesbian", "metadata": {}, "outputs": [], "source": [ @@ -25,7 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "facial-faith", + "id": "previous-oracle", "metadata": {}, "outputs": [ { @@ -47,7 +47,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "supreme-denial", + "id": "desperate-amazon", "metadata": {}, "outputs": [ { @@ -67,65 +67,21 @@ }, { "cell_type": "code", - "execution_count": 92, - "id": "destroyed-display", + "execution_count": 57, + "id": "fixed-accessory", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "data=pd.read_csv('imdb_top_1000.csv')\n", - "data" - ] - }, - { - "cell_type": "markdown", - "id": "aggressive-greece", - "metadata": {}, - "source": [ - "## Usuwanie kolumn\n", - "- Poster_Link: kolumna zawierająca linki do plakatów promujących film\n", - "- Overview: kolumna zawierająca recenzje poszczególnych filmów" - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "id": "commercial-sustainability", - "metadata": {}, - "outputs": [], - "source": [ - "data.drop(columns=[\"Poster_Link\"], inplace=True)\n", - "data.drop(columns=[\"Overview\"], inplace=True)\n", "# data" ] }, { "cell_type": "code", - "execution_count": 95, - "id": "electronic-disco", - "metadata": {}, - "outputs": [], - "source": [ - "# Lowercase na polach tekstowych\n", - "data[\"Series_Title\"] = data[\"Series_Title\"].str.lower()\n", - "data[\"Genre\"] = data[\"Genre\"].str.lower()\n", - "data[\"Director\"] = data[\"Director\"].str.lower()\n", - "data[\"Star1\"] = data[\"Star1\"].str.lower()\n", - "data[\"Star2\"] = data[\"Star2\"].str.lower()\n", - "data[\"Star3\"] = data[\"Star3\"].str.lower()\n", - "data[\"Star4\"] = data[\"Star4\"].str.lower()\n", - "\n", - "# Usunięcie Nan i string to int \n", - "data = data.replace(np.nan, '', regex=True)\n", - "data[\"Gross\"] = data[\"Gross\"].str.replace(',', '')\n", - "data[\"Gross\"] = pd.to_numeric(data[\"Gross\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "id": "chemical-middle", + "execution_count": 59, + "id": "otherwise-atlas", "metadata": {}, "outputs": [ { @@ -141,307 +97,91 @@ "!wc -l imdb_top_1000.csv" ] }, + { + "cell_type": "markdown", + "id": "strategic-brooks", + "metadata": {}, + "source": [ + "## Usuwanie kolumn\n", + "- Poster_Link: kolumna zawierająca linki do plakatów promujących film\n", + "- Overview: kolumna zawierająca recenzje poszczególnych filmów" + ] + }, { "cell_type": "code", - "execution_count": 96, - "id": "respective-cathedral", + "execution_count": 48, + "id": "alternative-genealogy", + "metadata": {}, + "outputs": [], + "source": [ + "data.drop(columns=[\"Poster_Link\"], inplace=True)\n", + "data.drop(columns=[\"Overview\"], inplace=True)\n", + "\n", + "# data" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "antique-nowhere", + "metadata": {}, + "outputs": [], + "source": [ + "# Lowercase na polach tekstowych\n", + "data[\"Series_Title\"] = data[\"Series_Title\"].str.lower()\n", + "data[\"Genre\"] = data[\"Genre\"].str.lower()\n", + "data[\"Director\"] = data[\"Director\"].str.lower()\n", + "data[\"Star1\"] = data[\"Star1\"].str.lower()\n", + "data[\"Star2\"] = data[\"Star2\"].str.lower()\n", + "data[\"Star3\"] = data[\"Star3\"].str.lower()\n", + "data[\"Star4\"] = data[\"Star4\"].str.lower()\n", + "\n", + "# Usunięcie Nan i string to int \n", + "data = data.replace(np.nan, '', regex=True)\n", + "data[\"Gross\"] = data[\"Gross\"].str.replace(',', '')\n", + "data[\"Gross\"] = pd.to_numeric(data[\"Gross\"], errors='coerce')\n", + "\n", + "data = data.dropna()" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "furnished-dating", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Series_TitleReleased_YearCertificateRuntimeGenreIMDB_RatingMeta_scoreDirectorStar1Star2Star3Star4No_of_VotesGross
count100010001000100010001000.0000001000100010001000100010001.000000e+038.310000e+02
unique99910017140202NaN64548660841891939NaNNaN
topdrishyam2014U130 mindramaNaNalfred hitchcocktom hanksemma watsonrupert grintmichael caineNaNNaN
freq2322342385NaN1571412754NaNNaN
meanNaNNaNNaNNaNNaN7.949300NaNNaNNaNNaNNaNNaN2.736929e+056.803475e+07
stdNaNNaNNaNNaNNaN0.275491NaNNaNNaNNaNNaNNaN3.273727e+051.097500e+08
minNaNNaNNaNNaNNaN7.600000NaNNaNNaNNaNNaNNaN2.508800e+041.305000e+03
25%NaNNaNNaNNaNNaN7.700000NaNNaNNaNNaNNaNNaN5.552625e+043.253559e+06
50%NaNNaNNaNNaNNaN7.900000NaNNaNNaNNaNNaNNaN1.385485e+052.353089e+07
75%NaNNaNNaNNaNNaN8.100000NaNNaNNaNNaNNaNNaN3.741612e+058.075089e+07
maxNaNNaNNaNNaNNaN9.300000NaNNaNNaNNaNNaNNaN2.343110e+069.366622e+08
\n", - "
" - ], "text/plain": [ - " Series_Title Released_Year Certificate Runtime Genre IMDB_Rating \\\n", - "count 1000 1000 1000 1000 1000 1000.000000 \n", - "unique 999 100 17 140 202 NaN \n", - "top drishyam 2014 U 130 min drama NaN \n", - "freq 2 32 234 23 85 NaN \n", - "mean NaN NaN NaN NaN NaN 7.949300 \n", - "std NaN NaN NaN NaN NaN 0.275491 \n", - "min NaN NaN NaN NaN NaN 7.600000 \n", - "25% NaN NaN NaN NaN NaN 7.700000 \n", - "50% NaN NaN NaN NaN NaN 7.900000 \n", - "75% NaN NaN NaN NaN NaN 8.100000 \n", - "max NaN NaN NaN NaN NaN 9.300000 \n", - "\n", - " Meta_score Director Star1 Star2 Star3 \\\n", - "count 1000 1000 1000 1000 1000 \n", - "unique 64 548 660 841 891 \n", - "top alfred hitchcock tom hanks emma watson rupert grint \n", - "freq 157 14 12 7 5 \n", - "mean NaN NaN NaN NaN NaN \n", - "std NaN NaN NaN NaN NaN \n", - "min NaN NaN NaN NaN NaN \n", - "25% NaN NaN NaN NaN NaN \n", - "50% NaN NaN NaN NaN NaN \n", - "75% NaN NaN NaN NaN NaN \n", - "max NaN NaN NaN NaN NaN \n", - "\n", - " Star4 No_of_Votes Gross \n", - "count 1000 1.000000e+03 8.310000e+02 \n", - "unique 939 NaN NaN \n", - "top michael caine NaN NaN \n", - "freq 4 NaN NaN \n", - "mean NaN 2.736929e+05 6.803475e+07 \n", - "std NaN 3.273727e+05 1.097500e+08 \n", - "min NaN 2.508800e+04 1.305000e+03 \n", - "25% NaN 5.552625e+04 3.253559e+06 \n", - "50% NaN 1.385485e+05 2.353089e+07 \n", - "75% NaN 3.741612e+05 8.075089e+07 \n", - "max NaN 2.343110e+06 9.366622e+08 " + "(831, 16)" ] }, - "execution_count": 96, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "data.describe(include='all')" + "data.describe(include='all')\n", + "data.shape" ] }, { "cell_type": "code", - "execution_count": 98, - "id": "comfortable-palmer", + "execution_count": 61, + "id": "political-pension", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "IMDB_Rating 7.9\n", - "No_of_Votes 138548.5\n", + "No_of_Votes 186734.0\n", "Gross 23530892.0\n", "dtype: float64" ] }, - "execution_count": 98, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -452,17 +192,17 @@ }, { "cell_type": "code", - "execution_count": 99, - "id": "hairy-thanksgiving", + "execution_count": 64, + "id": "fitting-houston", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "(600, 14)\n", - "(200, 14)\n", - "(200, 14)\n" + "(601, 16)\n", + "(115, 16)\n", + "(115, 16)\n" ] } ], @@ -470,8 +210,8 @@ "from sklearn.model_selection import train_test_split\n", "import sklearn\n", "\n", - "data_train, data_test = train_test_split(data, test_size=400, random_state=1)\n", - "data_test, data_dev = train_test_split(data_test, test_size=200, random_state=1)\n", + "data_train, data_test = train_test_split(data, test_size=230, random_state=1)\n", + "data_test, data_dev = train_test_split(data_test, test_size=115, random_state=1)\n", "print(data_train.shape)\n", "print(data_test.shape)\n", "print(data_dev.shape)" @@ -479,17 +219,17 @@ }, { "cell_type": "code", - "execution_count": 100, - "id": "adjacent-probe", + "execution_count": 65, + "id": "white-livestock", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.3333333333333333" + "0.1913477537437604" ] }, - "execution_count": 100, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -500,8 +240,8 @@ }, { "cell_type": "code", - "execution_count": 101, - "id": "driven-withdrawal", + "execution_count": 66, + "id": "sharp-criterion", "metadata": {}, "outputs": [ { @@ -525,12 +265,14 @@ " \n", " \n", " \n", + " Poster_Link\n", " Series_Title\n", " Released_Year\n", " Certificate\n", " Runtime\n", " Genre\n", " IMDB_Rating\n", + " Overview\n", " Meta_score\n", " Director\n", " Star1\n", @@ -544,69 +286,77 @@ " \n", " \n", " count\n", - " 600\n", - " 600\n", - " 600\n", - " 600\n", - " 600\n", - " 600.000000\n", - " 600\n", - " 600\n", - " 600\n", - " 600\n", - " 600\n", - " 600\n", - " 6.000000e+02\n", - " 5.050000e+02\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601.000000\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 601\n", + " 6.010000e+02\n", + " 6.010000e+02\n", " \n", " \n", " unique\n", - " 599\n", - " 95\n", - " 17\n", - " 122\n", - " 163\n", + " 601\n", + " 601\n", + " 90\n", + " 13\n", + " 121\n", + " 162\n", " NaN\n", - " 61\n", - " 399\n", - " 448\n", - " 535\n", - " 545\n", - " 580\n", + " 601\n", + " 59\n", + " 378\n", + " 438\n", + " 530\n", + " 556\n", + " 577\n", " NaN\n", " NaN\n", " \n", " \n", " top\n", - " drishyam\n", - " 2004\n", + " https://m.media-amazon.com/images/M/MV5BNGYyZG...\n", + " what ever happened to baby jane?\n", + " 2014\n", " U\n", - " 130 min\n", + " 101 min\n", " drama\n", " NaN\n", + " A few friends have a weekly fools' dinner, whe...\n", " \n", - " david fincher\n", - " robert de niro\n", + " martin scorsese\n", + " clint eastwood\n", " emma watson\n", - " rupert grint\n", + " joe pesci\n", " michael caine\n", " NaN\n", " NaN\n", " \n", " \n", " freq\n", - " 2\n", + " 1\n", + " 1\n", " 22\n", - " 133\n", + " 143\n", " 17\n", - " 45\n", + " 53\n", " NaN\n", - " 88\n", - " 8\n", - " 8\n", - " 6\n", + " 1\n", + " 53\n", + " 10\n", + " 10\n", + " 5\n", + " 4\n", " 4\n", - " 3\n", " NaN\n", " NaN\n", " \n", @@ -617,15 +367,17 @@ " NaN\n", " NaN\n", " NaN\n", - " 7.947167\n", + " NaN\n", + " 7.947920\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 2.765041e+05\n", - " 6.726714e+07\n", + " NaN\n", + " 3.174649e+05\n", + " 6.775699e+07\n", " \n", " \n", " std\n", @@ -634,15 +386,17 @@ " NaN\n", " NaN\n", " NaN\n", - " 0.269282\n", + " NaN\n", + " 0.280238\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 3.219888e+05\n", - " 1.076309e+08\n", + " NaN\n", + " 3.407094e+05\n", + " 1.095511e+08\n", " \n", " \n", " min\n", @@ -651,6 +405,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 7.600000\n", " NaN\n", " NaN\n", @@ -658,6 +413,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 2.508800e+04\n", " 1.305000e+03\n", " \n", @@ -668,6 +424,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 7.700000\n", " NaN\n", " NaN\n", @@ -675,8 +432,9 @@ " NaN\n", " NaN\n", " NaN\n", - " 5.705600e+04\n", - " 3.108485e+06\n", + " NaN\n", + " 6.846300e+04\n", + " 3.151130e+06\n", " \n", " \n", " 50%\n", @@ -685,6 +443,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 7.900000\n", " NaN\n", " NaN\n", @@ -692,8 +451,9 @@ " NaN\n", " NaN\n", " NaN\n", - " 1.414865e+05\n", - " 2.447542e+07\n", + " NaN\n", + " 1.897160e+05\n", + " 2.365000e+07\n", " \n", " \n", " 75%\n", @@ -702,6 +462,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 8.100000\n", " NaN\n", " NaN\n", @@ -709,8 +470,9 @@ " NaN\n", " NaN\n", " NaN\n", - " 3.907975e+05\n", - " 8.340000e+07\n", + " NaN\n", + " 4.622520e+05\n", + " 7.891296e+07\n", " \n", " \n", " max\n", @@ -719,6 +481,7 @@ " NaN\n", " NaN\n", " NaN\n", + " NaN\n", " 9.200000\n", " NaN\n", " NaN\n", @@ -726,55 +489,82 @@ " NaN\n", " NaN\n", " NaN\n", - " 1.854740e+06\n", - " 9.366622e+08\n", + " NaN\n", + " 2.303232e+06\n", + " 8.583730e+08\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Series_Title Released_Year Certificate Runtime Genre IMDB_Rating \\\n", - "count 600 600 600 600 600 600.000000 \n", - "unique 599 95 17 122 163 NaN \n", - "top drishyam 2004 U 130 min drama NaN \n", - "freq 2 22 133 17 45 NaN \n", - "mean NaN NaN NaN NaN NaN 7.947167 \n", - "std NaN NaN NaN NaN NaN 0.269282 \n", - "min NaN NaN NaN NaN NaN 7.600000 \n", - "25% NaN NaN NaN NaN NaN 7.700000 \n", - "50% NaN NaN NaN NaN NaN 7.900000 \n", - "75% NaN NaN NaN NaN NaN 8.100000 \n", - "max NaN NaN NaN NaN NaN 9.200000 \n", + " Poster_Link \\\n", + "count 601 \n", + "unique 601 \n", + "top https://m.media-amazon.com/images/M/MV5BNGYyZG... \n", + "freq 1 \n", + "mean NaN \n", + "std NaN \n", + "min NaN \n", + "25% NaN \n", + "50% NaN \n", + "75% NaN \n", + "max NaN \n", "\n", - " Meta_score Director Star1 Star2 Star3 \\\n", - "count 600 600 600 600 600 \n", - "unique 61 399 448 535 545 \n", - "top david fincher robert de niro emma watson rupert grint \n", - "freq 88 8 8 6 4 \n", - "mean NaN NaN NaN NaN NaN \n", - "std NaN NaN NaN NaN NaN \n", - "min NaN NaN NaN NaN NaN \n", - "25% NaN NaN NaN NaN NaN \n", - "50% NaN NaN NaN NaN NaN \n", - "75% NaN NaN NaN NaN NaN \n", - "max NaN NaN NaN NaN NaN \n", + " Series_Title Released_Year Certificate Runtime \\\n", + "count 601 601 601 601 \n", + "unique 601 90 13 121 \n", + "top what ever happened to baby jane? 2014 U 101 min \n", + "freq 1 22 143 17 \n", + "mean NaN NaN NaN NaN \n", + "std NaN NaN NaN NaN \n", + "min NaN NaN NaN NaN \n", + "25% NaN NaN NaN NaN \n", + "50% NaN NaN NaN NaN \n", + "75% NaN NaN NaN NaN \n", + "max NaN NaN NaN NaN \n", + "\n", + " Genre IMDB_Rating Overview \\\n", + "count 601 601.000000 601 \n", + "unique 162 NaN 601 \n", + "top drama NaN A few friends have a weekly fools' dinner, whe... \n", + "freq 53 NaN 1 \n", + "mean NaN 7.947920 NaN \n", + "std NaN 0.280238 NaN \n", + "min NaN 7.600000 NaN \n", + "25% NaN 7.700000 NaN \n", + "50% NaN 7.900000 NaN \n", + "75% NaN 8.100000 NaN \n", + "max NaN 9.200000 NaN \n", + "\n", + " Meta_score Director Star1 Star2 Star3 \\\n", + "count 601 601 601 601 601 \n", + "unique 59 378 438 530 556 \n", + "top martin scorsese clint eastwood emma watson joe pesci \n", + "freq 53 10 10 5 4 \n", + "mean NaN NaN NaN NaN NaN \n", + "std NaN NaN NaN NaN NaN \n", + "min NaN NaN NaN NaN NaN \n", + "25% NaN NaN NaN NaN NaN \n", + "50% NaN NaN NaN NaN NaN \n", + "75% NaN NaN NaN NaN NaN \n", + "max NaN NaN NaN NaN NaN \n", "\n", " Star4 No_of_Votes Gross \n", - "count 600 6.000000e+02 5.050000e+02 \n", - "unique 580 NaN NaN \n", + "count 601 6.010000e+02 6.010000e+02 \n", + "unique 577 NaN NaN \n", "top michael caine NaN NaN \n", - "freq 3 NaN NaN \n", - "mean NaN 2.765041e+05 6.726714e+07 \n", - "std NaN 3.219888e+05 1.076309e+08 \n", + "freq 4 NaN NaN \n", + "mean NaN 3.174649e+05 6.775699e+07 \n", + "std NaN 3.407094e+05 1.095511e+08 \n", "min NaN 2.508800e+04 1.305000e+03 \n", - "25% NaN 5.705600e+04 3.108485e+06 \n", - "50% NaN 1.414865e+05 2.447542e+07 \n", - "75% NaN 3.907975e+05 8.340000e+07 \n", - "max NaN 1.854740e+06 9.366622e+08 " + "25% NaN 6.846300e+04 3.151130e+06 \n", + "50% NaN 1.897160e+05 2.365000e+07 \n", + "75% NaN 4.622520e+05 7.891296e+07 \n", + "max NaN 2.303232e+06 8.583730e+08 " ] }, - "execution_count": 101, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -786,7 +576,7 @@ { "cell_type": "code", "execution_count": 102, - "id": "bigger-brazil", + "id": "excessive-congress", "metadata": {}, "outputs": [ { @@ -1071,7 +861,7 @@ { "cell_type": "code", "execution_count": 103, - "id": "egyptian-cooper", + "id": "exact-prince", "metadata": {}, "outputs": [ { @@ -1356,7 +1146,7 @@ { "cell_type": "code", "execution_count": 105, - "id": "affecting-berkeley", + "id": "modified-potential", "metadata": {}, "outputs": [], "source": [ @@ -1368,7 +1158,7 @@ { "cell_type": "code", "execution_count": null, - "id": "interesting-pathology", + "id": "finnish-burning", "metadata": {}, "outputs": [], "source": []