{ "cells": [ { "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:37.703074Z", "start_time": "2025-03-07T11:37:34.701971Z" } }, "cell_type": "code", "source": "%use dataframe", "outputs": [], "execution_count": 1 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:39.857540Z", "start_time": "2025-03-07T11:37:37.707087Z" } }, "source": [ "%useLatestDescriptors\n", "%use kandy" ], "outputs": [], "execution_count": 2 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:40.488784Z", "start_time": "2025-03-07T11:37:39.860125Z" } }, "source": [ "val df = DataFrame.readCsv(\n", " fileOrUrl = \"titanic.csv\",\n", " delimiter = ';',\n", " parserOptions = ParserOptions(locale = java.util.Locale.FRENCH),\n", ")\n", "\n", "df.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvivednamesexagesibspparchticketfarecabinembarkedboatbodyhomedest
11Allen, Miss. Elisabeth Waltonnull29,000000nullnull24160211,337500B5null2nullSt Louis, MO
11Allison, Master. Hudson Trevormale0,91670012113781151,550000C22 C26AA11nullMontreal, PQ / Chesterville, ON
10Allison, Miss. Helen Lorainefemale2,00000012113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
10Allison, Mr. Hudson Joshua Creightonmale30,00000012113781151,550000C22 C26Snull135Montreal, PQ / Chesterville, ON
10Allison, Mrs. Hudson J C (Bessie Wald...female25,00000012113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"pclass\",\"survived\",\"name\",\"sex\",\"age\",\"sibsp\",\"parch\",\"ticket\",\"fare\",\"cabin\",\"embarked\",\"boat\",\"body\",\"homedest\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":5,\"ncol\":14},\"kotlin_dataframe\":[{\"pclass\":1,\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"sex\":null,\"age\":29.0,\"sibsp\":null,\"parch\":null,\"ticket\":\"24160\",\"fare\":211.3375,\"cabin\":\"B5\",\"embarked\":null,\"boat\":\"2\",\"body\":null,\"homedest\":\"St Louis, MO\"},{\"pclass\":1,\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"sex\":\"male\",\"age\":0.9167,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"AA\",\"boat\":\"11\",\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"sex\":\"female\",\"age\":2.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"sex\":\"male\",\"age\":30.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":135,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"sex\":\"female\",\"age\":25.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"}]}" }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have a dataset which uses an alternative pattern for decimal numbers. This is a reason why the French locale will be used in the example.\n", "\n", "But before data conversion, we should to handle *null* values." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:40.618364Z", "start_time": "2025-03-07T11:37:40.514789Z" } }, "source": [ "df.describe()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
nametypecountuniquenullstopfreqmeanstdminp25medianp75max
pclassInt13093037092,2948820,83783612333
survivedInt13092008090,3819710,48605500011
nameString130913070Connolly, Miss. Kate2nullnullAbbing, Mr. AnthonyDibden, Mr. WilliamKink, Mr. VincenzQuick, Mrs. Frederick Charles (Jane R...van Melkebeke, Mr. Philemon
sexString?130931male843nullnullfemalefemalemalemalemale
ageDouble?13099926324,0000004729,88113514,4135000,16670021,00000028,00000039,00000080,000000
sibspInt?13098108900,4992351,04196500018
parchInt?130991010010,3853210,86582600009
ticketString13099290CA. 234311nullnull110152248740347082A/5 3536WE/P 5735
fareDouble?130928218,0500006033,29547951,7586680,0000007,89580014,45420031,275000512,329200
cabinString?13091871014C23 C25 C276nullnullA10B73C62 C64D48T
embarkedString?130953S912nullnullAAQSSS
boatString?1309288231339nullnull11438D
bodyInt?130912211881351160,80991797,696922172155256328
homedestString?1309370564New York, NY64nullnull?Havana, CubaEngland / Bennington, VTLyndhurst, EnglandProvo, UTZurich, Switzerland
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"name\",\"type\",\"count\",\"unique\",\"nulls\",\"top\",\"freq\",\"mean\",\"std\",\"min\",\"p25\",\"median\",\"p75\",\"max\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Comparable<*>\"}],\"nrow\":14,\"ncol\":14},\"kotlin_dataframe\":[{\"name\":\"pclass\",\"type\":\"Int\",\"count\":1309,\"unique\":3,\"nulls\":0,\"top\":\"3\",\"freq\":709,\"mean\":2.294881588999236,\"std\":0.837836018970131,\"min\":\"1\",\"p25\":\"2\",\"median\":\"3\",\"p75\":\"3\",\"max\":\"3\"},{\"name\":\"survived\",\"type\":\"Int\",\"count\":1309,\"unique\":2,\"nulls\":0,\"top\":\"0\",\"freq\":809,\"mean\":0.3819709702062643,\"std\":0.48605517086648004,\"min\":\"0\",\"p25\":\"0\",\"median\":\"0\",\"p75\":\"1\",\"max\":\"1\"},{\"name\":\"name\",\"type\":\"String\",\"count\":1309,\"unique\":1307,\"nulls\":0,\"top\":\"Connolly, Miss. Kate\",\"freq\":2,\"mean\":null,\"std\":null,\"min\":\"Abbing, Mr. Anthony\",\"p25\":\"Dibden, Mr. William\",\"median\":\"Kink, Mr. Vincenz\",\"p75\":\"Quick, Mrs. Frederick Charles (Jane Richards)\",\"max\":\"van Melkebeke, Mr. Philemon\"},{\"name\":\"sex\",\"type\":\"String?\",\"count\":1309,\"unique\":3,\"nulls\":1,\"top\":\"male\",\"freq\":843,\"mean\":null,\"std\":null,\"min\":\"female\",\"p25\":\"female\",\"median\":\"male\",\"p75\":\"male\",\"max\":\"male\"},{\"name\":\"age\",\"type\":\"Double?\",\"count\":1309,\"unique\":99,\"nulls\":263,\"top\":\"24.0\",\"freq\":47,\"mean\":29.8811345124283,\"std\":14.413499699923594,\"min\":\"0.1667\",\"p25\":\"21.0\",\"median\":\"28.0\",\"p75\":\"39.0\",\"max\":\"80.0\"},{\"name\":\"sibsp\",\"type\":\"Int?\",\"count\":1309,\"unique\":8,\"nulls\":1,\"top\":\"0\",\"freq\":890,\"mean\":0.49923547400611623,\"std\":1.041965373922986,\"min\":\"0\",\"p25\":\"0\",\"median\":\"0\",\"p75\":\"1\",\"max\":\"8\"},{\"name\":\"parch\",\"type\":\"Int?\",\"count\":1309,\"unique\":9,\"nulls\":1,\"top\":\"0\",\"freq\":1001,\"mean\":0.3853211009174312,\"std\":0.8658257885990794,\"min\":\"0\",\"p25\":\"0\",\"median\":\"0\",\"p75\":\"0\",\"max\":\"9\"},{\"name\":\"ticket\",\"type\":\"String\",\"count\":1309,\"unique\":929,\"nulls\":0,\"top\":\"CA. 2343\",\"freq\":11,\"mean\":null,\"std\":null,\"min\":\"110152\",\"p25\":\"248740\",\"median\":\"347082\",\"p75\":\"A/5 3536\",\"max\":\"WE/P 5735\"},{\"name\":\"fare\",\"type\":\"Double?\",\"count\":1309,\"unique\":282,\"nulls\":1,\"top\":\"8.05\",\"freq\":60,\"mean\":33.29547928134572,\"std\":51.758668239174135,\"min\":\"0.0\",\"p25\":\"7.8958\",\"median\":\"14.4542\",\"p75\":\"31.275\",\"max\":\"512.3292\"},{\"name\":\"cabin\",\"type\":\"String?\",\"count\":1309,\"unique\":187,\"nulls\":1014,\"top\":\"C23 C25 C27\",\"freq\":6,\"mean\":null,\"std\":null,\"min\":\"A10\",\"p25\":\"B73\",\"median\":\"C62 C64\",\"p75\":\"D48\",\"max\":\"T\"},{\"name\":\"embarked\",\"type\":\"String?\",\"count\":1309,\"unique\":5,\"nulls\":3,\"top\":\"S\",\"freq\":912,\"mean\":null,\"std\":null,\"min\":\"AA\",\"p25\":\"Q\",\"median\":\"S\",\"p75\":\"S\",\"max\":\"S\"},{\"name\":\"boat\",\"type\":\"String?\",\"count\":1309,\"unique\":28,\"nulls\":823,\"top\":\"13\",\"freq\":39,\"mean\":null,\"std\":null,\"min\":\"1\",\"p25\":\"14\",\"median\":\"3\",\"p75\":\"8\",\"max\":\"D\"},{\"name\":\"body\",\"type\":\"Int?\",\"count\":1309,\"unique\":122,\"nulls\":1188,\"top\":\"135\",\"freq\":1,\"mean\":160.8099173553719,\"std\":97.6969219960031,\"min\":\"1\",\"p25\":\"72\",\"median\":\"155\",\"p75\":\"256\",\"max\":\"328\"},{\"name\":\"homedest\",\"type\":\"String?\",\"count\":1309,\"unique\":370,\"nulls\":564,\"top\":\"New York, NY\",\"freq\":64,\"mean\":null,\"std\":null,\"min\":\"?Havana, Cuba\",\"p25\":\"England / Bennington, VT\",\"median\":\"Lyndhurst, England\",\"p75\":\"Provo, UT\",\"max\":\"Zurich, Switzerland\"}]}" }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 4 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:40.726892Z", "start_time": "2025-03-07T11:37:40.692186Z" } }, "source": [ "df" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvivednamesexagesibspparchticketfarecabinembarkedboatbodyhomedest
11Allen, Miss. Elisabeth Waltonnull29,000000nullnull24160211,337500B5null2nullSt Louis, MO
11Allison, Master. Hudson Trevormale0,91670012113781151,550000C22 C26AA11nullMontreal, PQ / Chesterville, ON
10Allison, Miss. Helen Lorainefemale2,00000012113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
10Allison, Mr. Hudson Joshua Creightonmale30,00000012113781151,550000C22 C26Snull135Montreal, PQ / Chesterville, ON
10Allison, Mrs. Hudson J C (Bessie Wald...female25,00000012113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
11Anderson, Mr. Harrymale48,000000001995226,550000E12S3nullNew York, NY
11Andrews, Miss. Kornelia Theodosiafemale63,000000101350277,958300D7S10nullHudson, NY
10Andrews, Mr. Thomas Jrmale39,000000001120500,000000A36SnullnullBelfast, NI
11Appleton, Mrs. Edward Dale (Charlotte...female53,000000201176951,479200C101SDnullBayside, Queens, NY
10Artagaveytia, Mr. Ramonmale71,00000000PC 1760949,504200nullCnull22Montevideo, Uruguay
10Astor, Col. John Jacobmale47,00000010PC 17757227,525000C62 C64Cnull124New York, NY
11Astor, Mrs. John Jacob (Madeleine Tal...female18,00000010PC 17757227,525000C62 C64C4nullNew York, NY
11Aubart, Mme. Leontine Paulinefemale24,00000000PC 1747769,300000B35C9nullParis, France
11Barber, Miss. Ellen "Nellie"female26,000000001987778,850000nullS6nullnull
11Barkworth, Mr. Algernon Henry Wilsonmale80,000000002704230,000000A23SBnullHessle, Yorks
10Baumann, Mr. John Dmalenull00PC 1731825,925000nullSnullnullNew York, NY
10Baxter, Mr. Quigg Edmondmale24,00000001PC 17558247,520800B58 B60CnullnullMontreal, PQ
11Baxter, Mrs. James (Helene DeLaudenie...female50,00000001PC 17558247,520800B58 B60C6nullMontreal, PQ
11Bazzani, Miss. Albinafemale32,000000001181376,291700D15C8nullnull
10Beattie, Mr. Thomsonmale36,000000001305075,241700C6CAnullWinnipeg, MN
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"pclass\",\"survived\",\"name\",\"sex\",\"age\",\"sibsp\",\"parch\",\"ticket\",\"fare\",\"cabin\",\"embarked\",\"boat\",\"body\",\"homedest\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"}],\"nrow\":1309,\"ncol\":14},\"kotlin_dataframe\":[{\"pclass\":1,\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"sex\":null,\"age\":29.0,\"sibsp\":null,\"parch\":null,\"ticket\":\"24160\",\"fare\":211.3375,\"cabin\":\"B5\",\"embarked\":null,\"boat\":\"2\",\"body\":null,\"homedest\":\"St Louis, MO\"},{\"pclass\":1,\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"sex\":\"male\",\"age\":0.9167,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"AA\",\"boat\":\"11\",\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"sex\":\"female\",\"age\":2.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"sex\":\"male\",\"age\":30.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":135,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"sex\":\"female\",\"age\":25.0,\"sibsp\":1,\"parch\":2,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":1,\"name\":\"Anderson, Mr. Harry\",\"sex\":\"male\",\"age\":48.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"19952\",\"fare\":26.55,\"cabin\":\"E12\",\"embarked\":\"S\",\"boat\":\"3\",\"body\":null,\"homedest\":\"New York, NY\"},{\"pclass\":1,\"survived\":1,\"name\":\"Andrews, Miss. Kornelia Theodosia\",\"sex\":\"female\",\"age\":63.0,\"sibsp\":1,\"parch\":0,\"ticket\":\"13502\",\"fare\":77.9583,\"cabin\":\"D7\",\"embarked\":\"S\",\"boat\":\"10\",\"body\":null,\"homedest\":\"Hudson, NY\"},{\"pclass\":1,\"survived\":0,\"name\":\"Andrews, Mr. Thomas Jr\",\"sex\":\"male\",\"age\":39.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"112050\",\"fare\":0.0,\"cabin\":\"A36\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Belfast, NI\"},{\"pclass\":1,\"survived\":1,\"name\":\"Appleton, Mrs. Edward Dale (Charlotte Lamson)\",\"sex\":\"female\",\"age\":53.0,\"sibsp\":2,\"parch\":0,\"ticket\":\"11769\",\"fare\":51.4792,\"cabin\":\"C101\",\"embarked\":\"S\",\"boat\":\"D\",\"body\":null,\"homedest\":\"Bayside, Queens, NY\"},{\"pclass\":1,\"survived\":0,\"name\":\"Artagaveytia, Mr. Ramon\",\"sex\":\"male\",\"age\":71.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"PC 17609\",\"fare\":49.5042,\"cabin\":null,\"embarked\":\"C\",\"boat\":null,\"body\":22,\"homedest\":\"Montevideo, Uruguay\"},{\"pclass\":1,\"survived\":0,\"name\":\"Astor, Col. John Jacob\",\"sex\":\"male\",\"age\":47.0,\"sibsp\":1,\"parch\":0,\"ticket\":\"PC 17757\",\"fare\":227.525,\"cabin\":\"C62 C64\",\"embarked\":\"C\",\"boat\":null,\"body\":124,\"homedest\":\"New York, NY\"},{\"pclass\":1,\"survived\":1,\"name\":\"Astor, Mrs. John Jacob (Madeleine Talmadge Force)\",\"sex\":\"female\",\"age\":18.0,\"sibsp\":1,\"parch\":0,\"ticket\":\"PC 17757\",\"fare\":227.525,\"cabin\":\"C62 C64\",\"embarked\":\"C\",\"boat\":\"4\",\"body\":null,\"homedest\":\"New York, NY\"},{\"pclass\":1,\"survived\":1,\"name\":\"Aubart, Mme. Leontine Pauline\",\"sex\":\"female\",\"age\":24.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"PC 17477\",\"fare\":69.3,\"cabin\":\"B35\",\"embarked\":\"C\",\"boat\":\"9\",\"body\":null,\"homedest\":\"Paris, France\"},{\"pclass\":1,\"survived\":1,\"name\":\"Barber, Miss. Ellen \\\"Nellie\\\"\",\"sex\":\"female\",\"age\":26.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"19877\",\"fare\":78.85,\"cabin\":null,\"embarked\":\"S\",\"boat\":\"6\",\"body\":null,\"homedest\":null},{\"pclass\":1,\"survived\":1,\"name\":\"Barkworth, Mr. Algernon Henry Wilson\",\"sex\":\"male\",\"age\":80.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"27042\",\"fare\":30.0,\"cabin\":\"A23\",\"embarked\":\"S\",\"boat\":\"B\",\"body\":null,\"homedest\":\"Hessle, Yorks\"},{\"pclass\":1,\"survived\":0,\"name\":\"Baumann, Mr. John D\",\"sex\":\"male\",\"age\":null,\"sibsp\":0,\"parch\":0,\"ticket\":\"PC 17318\",\"fare\":25.925,\"cabin\":null,\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"New York, NY\"},{\"pclass\":1,\"survived\":0,\"name\":\"Baxter, Mr. Quigg Edmond\",\"sex\":\"male\",\"age\":24.0,\"sibsp\":0,\"parch\":1,\"ticket\":\"PC 17558\",\"fare\":247.5208,\"cabin\":\"B58 B60\",\"embarked\":\"C\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ\"},{\"pclass\":1,\"survived\":1,\"name\":\"Baxter, Mrs. James (Helene DeLaudeniere Chaput)\",\"sex\":\"female\",\"age\":50.0,\"sibsp\":0,\"parch\":1,\"ticket\":\"PC 17558\",\"fare\":247.5208,\"cabin\":\"B58 B60\",\"embarked\":\"C\",\"boat\":\"6\",\"body\":null,\"homedest\":\"Montreal, PQ\"},{\"pclass\":1,\"survived\":1,\"name\":\"Bazzani, Miss. Albina\",\"sex\":\"female\",\"age\":32.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"11813\",\"fare\":76.2917,\"cabin\":\"D15\",\"embarked\":\"C\",\"boat\":\"8\",\"body\":null,\"homedest\":null},{\"pclass\":1,\"survived\":0,\"name\":\"Beattie, Mr. Thomson\",\"sex\":\"male\",\"age\":36.0,\"sibsp\":0,\"parch\":0,\"ticket\":\"13050\",\"fare\":75.2417,\"cabin\":\"C6\",\"embarked\":\"C\",\"boat\":\"A\",\"body\":null,\"homedest\":\"Winnipeg, MN\"}]}" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Imputing null values\n", "Let's convert all columns of our dataset to non-nullable and impute null values based on mean values." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.206050Z", "start_time": "2025-03-07T11:37:40.819377Z" } }, "source": [ "val df1 = df\n", " // imputing\n", " .fillNulls { sibsp and parch and age and fare }.perCol { mean() }\n", " .fillNulls { sex }.with { \"other\" }\n", " .fillNulls { embarked }.with { \"S\" }\n", " .convert { sibsp and parch and age and fare }.toDouble()\n", "\n", "df1.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvivednamesexagesibspparchticketfarecabinembarkedboatbodyhomedest
11Allen, Miss. Elisabeth Waltonother29,0000000,0000000,00000024160211,337500B5S2nullSt Louis, MO
11Allison, Master. Hudson Trevormale0,9167001,0000002,000000113781151,550000C22 C26AA11nullMontreal, PQ / Chesterville, ON
10Allison, Miss. Helen Lorainefemale2,0000001,0000002,000000113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
10Allison, Mr. Hudson Joshua Creightonmale30,0000001,0000002,000000113781151,550000C22 C26Snull135Montreal, PQ / Chesterville, ON
10Allison, Mrs. Hudson J C (Bessie Wald...female25,0000001,0000002,000000113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"pclass\",\"survived\",\"name\",\"sex\",\"age\",\"sibsp\",\"parch\",\"ticket\",\"fare\",\"cabin\",\"embarked\",\"boat\",\"body\",\"homedest\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":5,\"ncol\":14},\"kotlin_dataframe\":[{\"pclass\":1,\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"sex\":\"other\",\"age\":29.0,\"sibsp\":0.0,\"parch\":0.0,\"ticket\":\"24160\",\"fare\":211.3375,\"cabin\":\"B5\",\"embarked\":\"S\",\"boat\":\"2\",\"body\":null,\"homedest\":\"St Louis, MO\"},{\"pclass\":1,\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"sex\":\"male\",\"age\":0.9167,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"AA\",\"boat\":\"11\",\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"sex\":\"female\",\"age\":2.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"sex\":\"male\",\"age\":30.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":135,\"homedest\":\"Montreal, PQ / Chesterville, ON\"},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"sex\":\"female\",\"age\":25.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\"}]}" }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 6 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.230880Z", "start_time": "2025-03-07T11:37:41.209056Z" } }, "source": [ "df1.schema()" ], "outputs": [ { "data": { "text/plain": [ "pclass: Int\n", "survived: Int\n", "name: String\n", "sex: String\n", "age: Double\n", "sibsp: Double\n", "parch: Double\n", "ticket: String\n", "fare: Double\n", "cabin: String?\n", "embarked: String\n", "boat: String?\n", "body: Int?\n", "homedest: String?" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 7 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.294329Z", "start_time": "2025-03-07T11:37:41.264180Z" } }, "source": [ "df1.corr()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnpclasssurvivedagesibspparchfare
pclass1,000000-0,312469-0,3663700,0608320,018322-0,558477
survived-0,3124691,000000-0,050199-0,0278250,0826600,244208
age-0,366370-0,0501991,000000-0,190747-0,1308720,171521
sibsp0,060832-0,027825-0,1907471,0000000,3735870,160224
parch0,0183220,082660-0,1308720,3735871,0000000,221522
fare-0,5584770,2442080,1715210,1602240,2215221,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"pclass\",\"survived\",\"age\",\"sibsp\",\"parch\",\"fare\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":6,\"ncol\":7},\"kotlin_dataframe\":[{\"column\":\"pclass\",\"pclass\":1.0,\"survived\":-0.31246936264968,\"age\":-0.36637035869802936,\"sibsp\":0.06083200757490747,\"parch\":0.018322202009786036,\"fare\":-0.5584773475043957},{\"column\":\"survived\",\"pclass\":-0.31246936264968,\"survived\":1.0,\"age\":-0.050198983636982906,\"sibsp\":-0.02782511923058273,\"parch\":0.0826595703861011,\"fare\":0.24420775279437662},{\"column\":\"age\",\"pclass\":-0.36637035869802936,\"survived\":-0.050198983636982906,\"age\":1.0,\"sibsp\":-0.19074715633383899,\"parch\":-0.1308719630307398,\"fare\":0.17152056539956614},{\"column\":\"sibsp\",\"pclass\":0.06083200757490747,\"survived\":-0.02782511923058273,\"age\":-0.19074715633383899,\"sibsp\":1.0,\"parch\":0.3735871906264913,\"fare\":0.16022419622116035},{\"column\":\"parch\",\"pclass\":0.018322202009786036,\"survived\":0.0826595703861011,\"age\":-0.1308719630307398,\"sibsp\":0.3735871906264913,\"parch\":1.0,\"fare\":0.2215218879995723},{\"column\":\"fare\",\"pclass\":-0.5584773475043957,\"survived\":0.24420775279437662,\"age\":0.17152056539956614,\"sibsp\":0.16022419622116035,\"parch\":0.2215218879995723,\"fare\":1.0}]}" }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 8 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.406608Z", "start_time": "2025-03-07T11:37:41.296855Z" } }, "source": [ "val correlations = df1\n", " .corr { all() }.with { survived }\n", " .sortBy { survived }\n", "correlations" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnsurvived
pclass-0,312469
age-0,050199
sibsp-0,027825
parch0,082660
fare0,244208
survived1,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":6,\"ncol\":2},\"kotlin_dataframe\":[{\"column\":\"pclass\",\"survived\":-0.31246936264968},{\"column\":\"age\",\"survived\":-0.050198983636982906},{\"column\":\"sibsp\",\"survived\":-0.02782511923058273},{\"column\":\"parch\",\"survived\":0.0826595703861011},{\"column\":\"fare\",\"survived\":0.24420775279437662},{\"column\":\"survived\",\"survived\":1.0}]}" }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great, at this moment we have 5 numerical features available for numerical analysis: **pclass, age, sibsp, parch, fare**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Analyze by pivoting features\n", "To confirm some of our observations and assumptions, we can quickly analyze our feature correlations by pivoting features against each other. We can only do so at this stage for features which do not have any empty values. It also makes sense doing so only for features which are categorical (Sex), ordinal (Pclass) or discrete (SibSp, Parch) type.\n", "\n", "- **Pclass**: We observe significant correlation (>0.5) among **Pclass**=1 and **Survived**.\n", "\n", "- **Sex**: We confirm the observation during problem definition that Sex=female had a very high survival rate at 74%.\n", "\n", "- **SibSp** and **Parch**: These features have zero correlation for the certain values. It may be best to derive a feature or a set of features from these individual features." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.495917Z", "start_time": "2025-03-07T11:37:41.439600Z" } }, "source": [ "df1.groupBy { pclass }.mean { survived }.sortBy { pclass }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvived
10,619195
20,429603
30,255289
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"pclass\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":3,\"ncol\":2},\"kotlin_dataframe\":[{\"pclass\":1,\"survived\":0.6191950464396285},{\"pclass\":2,\"survived\":0.4296028880866426},{\"pclass\":3,\"survived\":0.2552891396332863}]}" }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 10 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.551073Z", "start_time": "2025-03-07T11:37:41.499422Z" } }, "source": [ "df1.groupBy { sex }.mean { survived }.sortBy { survived }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
sexsurvived
male0,190985
female0,726882
other1,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"sex\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":3,\"ncol\":2},\"kotlin_dataframe\":[{\"sex\":\"male\",\"survived\":0.19098457888493475},{\"sex\":\"female\",\"survived\":0.7268817204301076},{\"sex\":\"other\",\"survived\":1.0}]}" }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 11 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.642656Z", "start_time": "2025-03-07T11:37:41.602092Z" } }, "source": [ "df1.groupBy { sibsp }.mean { survived }.sortBy { sibsp }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
sibspsurvived
0,0000000,346801
1,0000000,510972
2,0000000,452381
3,0000000,300000
4,0000000,136364
5,0000000,000000
8,0000000,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"sibsp\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":7,\"ncol\":2},\"kotlin_dataframe\":[{\"sibsp\":0.0,\"survived\":0.3468013468013468},{\"sibsp\":1.0,\"survived\":0.5109717868338558},{\"sibsp\":2.0,\"survived\":0.4523809523809524},{\"sibsp\":3.0,\"survived\":0.3},{\"sibsp\":4.0,\"survived\":0.13636363636363635},{\"sibsp\":5.0,\"survived\":0.0},{\"sibsp\":8.0,\"survived\":0.0}]}" }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 12 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.690087Z", "start_time": "2025-03-07T11:37:41.645853Z" } }, "source": [ "df1.groupBy { parch }.mean { survived }.sortBy { parch }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
parchsurvived
0,0000000,335329
1,0000000,588235
2,0000000,504425
3,0000000,625000
4,0000000,166667
5,0000000,166667
6,0000000,000000
9,0000000,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"parch\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":8,\"ncol\":2},\"kotlin_dataframe\":[{\"parch\":0.0,\"survived\":0.33532934131736525},{\"parch\":1.0,\"survived\":0.5882352941176471},{\"parch\":2.0,\"survived\":0.504424778761062},{\"parch\":3.0,\"survived\":0.625},{\"parch\":4.0,\"survived\":0.16666666666666666},{\"parch\":5.0,\"survived\":0.16666666666666666},{\"parch\":6.0,\"survived\":0.0},{\"parch\":9.0,\"survived\":0.0}]}" }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Analyze the importance of the Age feature\n", "\n", "It's interesting to discover both **age** distributions: among survived and not survived passengers." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:41.828024Z", "start_time": "2025-03-07T11:37:41.736785Z" } }, "source": [ "val byAge = df1.valueCounts { age }.sortBy { age }\n", "byAge" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
agecount
0,1667001
0,3333001
0,4167001
0,6667001
0,7500003
0,8333003
0,9167002
1,00000010
2,00000012
3,0000007
4,00000010
5,0000005
6,0000006
7,0000004
8,0000006
9,00000010
10,0000004
11,0000004
11,5000001
12,0000003
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"age\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":99,\"ncol\":2},\"kotlin_dataframe\":[{\"age\":0.1667,\"count\":1},{\"age\":0.3333,\"count\":1},{\"age\":0.4167,\"count\":1},{\"age\":0.6667,\"count\":1},{\"age\":0.75,\"count\":3},{\"age\":0.8333,\"count\":3},{\"age\":0.9167,\"count\":2},{\"age\":1.0,\"count\":10},{\"age\":2.0,\"count\":12},{\"age\":3.0,\"count\":7},{\"age\":4.0,\"count\":10},{\"age\":5.0,\"count\":5},{\"age\":6.0,\"count\":6},{\"age\":7.0,\"count\":4},{\"age\":8.0,\"count\":6},{\"age\":9.0,\"count\":10},{\"age\":10.0,\"count\":4},{\"age\":11.0,\"count\":4},{\"age\":11.5,\"count\":1},{\"age\":12.0,\"count\":3}]}" }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 14 }, { "cell_type": "code", "source": [ "// JetBrains color palette\n", "object JetBrainsColors {\n", " val lightOrange = Color.hex(\"#ffb59e\")\n", " val orange = Color.hex(\"#ff6632\")\n", " val lightGrey = Color.hex(\"#a6a6a6\")\n", " val darkGrey = Color.hex(\"#4c4c4c\")\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:41.854976Z", "start_time": "2025-03-07T11:37:41.831772Z" } }, "outputs": [], "execution_count": 15 }, { "cell_type": "code", "source": [ "byAge.plot { \n", " points {\n", " x(age)\n", " y(count)\n", " size = 5.0\n", " color = JetBrainsColors.lightGrey\n", " }\n", " layout { \n", " size = 850 to 500\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:42.173302Z", "start_time": "2025-03-07T11:37:41.913481Z" } }, "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", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 30\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " 100\n", " \n", " \n", " \n", " \n", " \n", " \n", " 150\n", " \n", " \n", " \n", " \n", " \n", " \n", " 200\n", " \n", " \n", " \n", " \n", " \n", " \n", " 250\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " count\n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": { "count": [ 1.0, 1.0, 1.0, 1.0, 3.0, 3.0, 2.0, 10.0, 12.0, 7.0, 10.0, 5.0, 6.0, 4.0, 6.0, 10.0, 4.0, 4.0, 1.0, 3.0, 5.0, 8.0, 2.0, 6.0, 19.0, 20.0, 39.0, 3.0, 29.0, 23.0, 1.0, 41.0, 43.0, 1.0, 26.0, 1.0, 47.0, 1.0, 34.0, 30.0, 1.0, 30.0, 32.0, 3.0, 30.0, 263.0, 40.0, 2.0, 23.0, 24.0, 4.0, 21.0, 16.0, 2.0, 23.0, 31.0, 2.0, 9.0, 14.0, 1.0, 20.0, 18.0, 3.0, 11.0, 18.0, 9.0, 10.0, 21.0, 2.0, 6.0, 14.0, 14.0, 9.0, 15.0, 8.0, 6.0, 4.0, 10.0, 8.0, 1.0, 4.0, 5.0, 6.0, 3.0, 7.0, 1.0, 5.0, 5.0, 4.0, 5.0, 3.0, 1.0, 1.0, 2.0, 1.0, 2.0, 1.0, 1.0, 1.0 ], "age": [ 0.1667, 0.3333, 0.4167, 0.6667, 0.75, 0.8333, 0.9167, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 11.5, 12.0, 13.0, 14.0, 14.5, 15.0, 16.0, 17.0, 18.0, 18.5, 19.0, 20.0, 20.5, 21.0, 22.0, 22.5, 23.0, 23.5, 24.0, 24.5, 25.0, 26.0, 26.5, 27.0, 28.0, 28.5, 29.0, 29.8811345124283, 30.0, 30.5, 31.0, 32.0, 32.5, 33.0, 34.0, 34.5, 35.0, 36.0, 36.5, 37.0, 38.0, 38.5, 39.0, 40.0, 40.5, 41.0, 42.0, 43.0, 44.0, 45.0, 45.5, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 55.5, 56.0, 57.0, 58.0, 59.0, 60.0, 60.5, 61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 70.0, 70.5, 71.0, 74.0, 76.0, 80.0 ] }, "ggsize": { "width": 850.0, "height": 500.0 }, "kind": "plot", "scales": [ { "aesthetic": "x", "limits": [ null, null ] }, { "aesthetic": "y", "limits": [ null, null ] } ], "layers": [ { "mapping": { "x": "age", "y": "count" }, "stat": "identity", "size": 5.0, "color": "#a6a6a6", "sampling": "none", "position": "identity", "geom": "point" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 16 }, { "cell_type": "code", "source": [ "val age = df.select { age }.dropNulls().sortBy { age }" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:42.247107Z", "start_time": "2025-03-07T11:37:42.180582Z" } }, "outputs": [], "execution_count": 17 }, { "cell_type": "code", "source": [ "age.plot {\n", " histogram(x = age, binsOption = BinsOption.byWidth(5.0)) {\n", " fillColor = JetBrainsColors.orange\n", " }\n", " layout { \n", " size = 850 to 500\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:42.327265Z", "start_time": "2025-03-07T11:37:42.248849Z" } }, "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", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 30\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " 100\n", " \n", " \n", " \n", " \n", " \n", " \n", " 120\n", " \n", " \n", " \n", " \n", " \n", " \n", " 140\n", " \n", " \n", " \n", " \n", " \n", " \n", " 160\n", " \n", " \n", " \n", " \n", " \n", " \n", " 180\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " count\n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": {}, "ggsize": { "width": 850.0, "height": 500.0 }, "kind": "plot", "scales": [ { "aesthetic": "x", "name": "age", "limits": [ null, null ] }, { "aesthetic": "x", "limits": [ null, null ] }, { "aesthetic": "y", "limits": [ null, null ] } ], "layers": [ { "mapping": { "x": "x", "y": "count" }, "stat": "identity", "data": { "x": [ 2.5, 7.5, 12.5, 17.5, 22.5, 27.5, 32.5, 37.5, 42.5, 47.5, 52.5, 57.5, 62.5, 67.5, 72.5, 77.5 ], "count": [ 51.0, 31.0, 27.0, 116.0, 184.0, 160.0, 132.0, 100.0, 69.0, 66.0, 43.0, 27.0, 27.0, 5.0, 6.0, 2.0 ] }, "sampling": "none", "position": "identity", "geom": "bar", "fill": "#ff6632" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 18 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:42.393237Z", "start_time": "2025-03-07T11:37:42.332660Z" } }, "source": [ "df1.groupBy { age }.pivotCounts { survived }.sortBy { age }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
agesurvived
10
0,16670010
0,33330001
0,41670010
0,66670010
0,75000021
0,83330030
0,91670020
1,00000073
2,00000048
3,00000052
4,00000073
5,00000041
6,00000033
7,00000022
8,00000042
9,00000046
10,00000004
11,00000013
11,50000001
12,00000030
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"age\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ColumnGroup\"}],\"nrow\":99,\"ncol\":2},\"kotlin_dataframe\":[{\"age\":0.1667,\"survived\":{\"data\":{\"1\":1,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.3333,\"survived\":{\"data\":{\"1\":0,\"0\":1},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.4167,\"survived\":{\"data\":{\"1\":1,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.6667,\"survived\":{\"data\":{\"1\":1,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.75,\"survived\":{\"data\":{\"1\":2,\"0\":1},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.8333,\"survived\":{\"data\":{\"1\":3,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":0.9167,\"survived\":{\"data\":{\"1\":2,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":1.0,\"survived\":{\"data\":{\"1\":7,\"0\":3},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":2.0,\"survived\":{\"data\":{\"1\":4,\"0\":8},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":3.0,\"survived\":{\"data\":{\"1\":5,\"0\":2},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":4.0,\"survived\":{\"data\":{\"1\":7,\"0\":3},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":5.0,\"survived\":{\"data\":{\"1\":4,\"0\":1},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":6.0,\"survived\":{\"data\":{\"1\":3,\"0\":3},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":7.0,\"survived\":{\"data\":{\"1\":2,\"0\":2},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":8.0,\"survived\":{\"data\":{\"1\":4,\"0\":2},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":9.0,\"survived\":{\"data\":{\"1\":4,\"0\":6},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":10.0,\"survived\":{\"data\":{\"1\":0,\"0\":4},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":11.0,\"survived\":{\"data\":{\"1\":1,\"0\":3},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":11.5,\"survived\":{\"data\":{\"1\":0,\"0\":1},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}},{\"age\":12.0,\"survived\":{\"data\":{\"1\":3,\"0\":0},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"0\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}]}}}]}" }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 19 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:42.534431Z", "start_time": "2025-03-07T11:37:42.396744Z" } }, "source": [ "val survivedByAge = df1\n", " .select { survived and age }\n", " .sortBy { age }\n", " .convert { survived }.with { if (it == 1) \"Survived\" else \"Died\" }\n", "\n", "survivedByAge" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivedage
Survived0,166700
Died0,333300
Survived0,416700
Survived0,666700
Survived0,750000
Survived0,750000
Died0,750000
Survived0,833300
Survived0,833300
Survived0,833300
Survived0,916700
Survived0,916700
Survived1,000000
Survived1,000000
Survived1,000000
Survived1,000000
Died1,000000
Survived1,000000
Died1,000000
Survived1,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":1309,\"ncol\":2},\"kotlin_dataframe\":[{\"survived\":\"Survived\",\"age\":0.1667},{\"survived\":\"Died\",\"age\":0.3333},{\"survived\":\"Survived\",\"age\":0.4167},{\"survived\":\"Survived\",\"age\":0.6667},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Died\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0}]}" }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 20 }, { "cell_type": "code", "source": [ "survivedByAge.groupBy { survived }" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:42.591066Z", "start_time": "2025-03-07T11:37:42.560984Z" } }, "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivedgroup
Survived
DataFrame [500 x 2]
survivedage
Survived0,166700
Survived0,416700
Survived0,666700
Survived0,750000
Survived0,750000

... showing only top 5 of 500 rows

Died
DataFrame [809 x 2]
survivedage
Died0,333300
Died0,750000
Died1,000000
Died1,000000
Died1,000000

... showing only top 5 of 809 rows

\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"group\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"FrameColumn\"}],\"nrow\":2,\"ncol\":2},\"kotlin_dataframe\":[{\"survived\":\"Survived\",\"group\":{\"data\":[{\"survived\":\"Survived\",\"age\":0.1667},{\"survived\":\"Survived\",\"age\":0.4167},{\"survived\":\"Survived\",\"age\":0.6667},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":2.0},{\"survived\":\"Survived\",\"age\":2.0},{\"survived\":\"Survived\",\"age\":2.0}],\"metadata\":{\"kind\":\"FrameColumn\",\"columns\":[\"survived\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"ncol\":2,\"nrow\":500}}},{\"survived\":\"Died\",\"group\":{\"data\":[{\"survived\":\"Died\",\"age\":0.3333},{\"survived\":\"Died\",\"age\":0.75},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":3.0},{\"survived\":\"Died\",\"age\":3.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":5.0},{\"survived\":\"Died\",\"age\":6.0}],\"metadata\":{\"kind\":\"FrameColumn\",\"columns\":[\"survived\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"ncol\":2,\"nrow\":809}}}]}" }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 21 }, { "cell_type": "code", "source": [ "survivedByAge.groupBy { survived }.plot {\n", " histogram(x = age, binsOption = BinsOption.byWidth(5.0)) {\n", " fillColor(key.survived) {\n", " scale = categorical(\n", " \"Survived\" to JetBrainsColors.orange,\n", " \"Died\" to JetBrainsColors.darkGrey,\n", " )\n", " }\n", " alpha = 0.7\n", " position = Position.dodge()\n", " }\n", " layout {\n", " size = 850 to 500\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:42.781748Z", "start_time": "2025-03-07T11:37:42.613605Z" } }, "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", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 30\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " 100\n", " \n", " \n", " \n", " \n", " \n", " \n", " 150\n", " \n", " \n", " \n", " \n", " \n", " \n", " 200\n", " \n", " \n", " \n", " \n", " \n", " \n", " 250\n", " \n", " \n", " \n", " \n", " \n", " \n", " 300\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " count\n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Died\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": { "&merged_groups": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ], "survived": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ] }, "ggsize": { "width": 850.0, "height": 500.0 }, "kind": "plot", "scales": [ { "aesthetic": "x", "name": "age", "limits": [ null, null ] }, { "aesthetic": "x", "limits": [ null, null ] }, { "aesthetic": "y", "limits": [ null, null ] }, { "aesthetic": "fill", "values": [ "#ff6632", "#4c4c4c" ], "limits": [ "Survived", "Died" ] } ], "layers": [ { "mapping": { "x": "x", "y": "count", "fill": "survived", "group": "&merged_groups" }, "stat": "identity", "data": { "&merged_groups": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ], "x": [ 2.5, 7.5, 12.5, 17.5, 22.5, 27.5, 32.5, 37.5, 42.5, 47.5, 52.5, 57.5, 62.5, 67.5, 72.5, 77.5, 2.5, 7.5, 12.5, 17.5, 22.5, 27.5, 32.5, 37.5, 42.5, 47.5, 52.5, 57.5, 62.5, 67.5, 72.5, 77.5 ], "count": [ 33.0, 17.0, 11.0, 45.0, 71.0, 129.0, 54.0, 44.0, 20.0, 32.0, 21.0, 11.0, 10.0, 0.0, 0.0, 2.0, 18.0, 14.0, 16.0, 71.0, 113.0, 294.0, 78.0, 56.0, 49.0, 34.0, 22.0, 16.0, 17.0, 5.0, 6.0, 0.0 ], "survived": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ] }, "sampling": "none", "alpha": 0.7, "position": "dodge", "geom": "bar" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 22 }, { "cell_type": "code", "source": [ "// Density plot\n", "survivedByAge.groupBy { survived }.plot {\n", " densityPlot(x = age) {\n", " fillColor = Color.GREY\n", " alpha = 0.3\n", " borderLine {\n", " color(key.survived) {\n", " scale = categorical(\n", " \"Survived\" to JetBrainsColors.orange,\n", " \"Died\" to JetBrainsColors.darkGrey,\n", " )\n", " }\n", " }\n", " }\n", " layout {\n", " size = 850 to 250\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:43.104643Z", "start_time": "2025-03-07T11:37:42.841686Z" } }, "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", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 30\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 70\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.00\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.02\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.04\n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.06\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " density\n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Died\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": { "&merged_groups": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ], "survived": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ] }, "ggsize": { "width": 850.0, "height": 250.0 }, "kind": "plot", "scales": [ { "aesthetic": "x", "name": "age", "limits": [ null, null ] }, { "aesthetic": "x", "limits": [ null, null ] }, { "aesthetic": "y", "limits": [ null, null ] }, { "aesthetic": "fill", "discrete": true }, { "aesthetic": "color", "values": [ "#ff6632", "#4c4c4c" ], "limits": [ "Survived", "Died" ] } ], "layers": [ { "mapping": { "x": "x", "y": "density", "fill": "survived", "color": "survived", "group": "&merged_groups" }, "stat": "identity", "data": { "&merged_groups": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ], "density": [ 0.007603449598253003, 0.007839311760184098, 0.008065122210652623, 0.008279887668496458, 0.008482691057487888, 0.008672700036986326, 0.008849174394524628, 0.009011472200546811, 0.009159054650167217, 0.009291489542623441, 0.009408453375387026, 0.009509732056020143, 0.00959522026019833, 0.009664919488273522, 0.009718934894802203, 0.00975747098516982, 0.009780826290433088, 0.009789387145510154, 0.009783620706694524, 0.009764067352064188, 0.009731332612713885, 0.009686078783931913, 0.009629016363644119, 0.009560895460867686, 0.009482497309835443, 0.009394626016171106, 0.009298100650353837, 0.009193747791050746, 0.009082394607066828, 0.008964862552007881, 0.008841961730592957, 0.008714485980202288, 0.008583208695977824, 0.008448879412869073, 0.008312221143653807, 0.008173928458372887, 0.00803466627795961, 0.007895069343282015, 0.007755742310462583, 0.007617260414313915, 0.007480170634106047, 0.007344993289742324, 0.0072122239918085175, 0.007082335865910689, 0.006955781970247384, 0.0068329978254636475, 0.006714403977472512, 0.0066004085170665045, 0.006491409484677464, 0.006387797094495144, 0.006289955719169018, 0.0061982655843525174, 0.006113104131210684, 0.006034847014498778, 0.005963868713708321, 0.0059005427448385675, 0.005845241470333389, 0.005798335514401441, 0.005760192800072672, 0.005731177232720742, 0.005711647062219298, 0.005701952962227557, 0.005702435870200304, 0.005713424635511115, 0.005735233525511422, 0.005768159640441861, 0.005812480287911493, 0.0058684503662465365, 0.005936299803532216, 0.006016231095767982, 0.0061084169834313955, 0.006212998301086015, 0.006330082029696965, 0.006459739576228963, 0.006602005300095898, 0.006756875301294032, 0.00692430648071211, 0.0071042158793068015, 0.007296480299626792, 0.007500936210605247, 0.007717379934606831, 0.007945568114377174, 0.008185218456703655, 0.008436010749146404, 0.008697588146001644, 0.008969558719537753, 0.00925149727235514, 0.009542947406270224, 0.009843423842275432, 0.010152414984733618, 0.010469385720924278, 0.010793780444299423, 0.011125026286304981, 0.011462536537402765, 0.011805714233053818, 0.012153955875030927, 0.012506655252684153, 0.01286320732289012, 0.013223012101661042, 0.013585478515005509, 0.013950028151964772, 0.01431609885906845, 0.0146831481130585, 0.015050656107926793, 0.015418128493283027, 0.01578509870406988, 0.01615112982674939, 0.01651581595441163, 0.01687878299274578, 0.0172396888904117, 0.017598223280847588, 0.017954106537705097, 0.018307088262559827, 0.018656945240902837, 0.019003478920187274, 0.01934651248136131, 0.01968588759230367, 0.020021460947294907, 0.02035310071054009, 0.020680682993231843, 0.02100408850216467, 0.02132319950303581, 0.021637897242863288, 0.021948059973113387, 0.022253561707947556, 0.022554271840347993, 0.0228500557227964, 0.023140776298774604, 0.023426296846904747, 0.023706484871415336, 0.023981217141313127, 0.024250385846759603, 0.02451390580539729, 0.024771722614539464, 0.025023821608058664, 0.025270237440442905, 0.02551106408573334, 0.025746465006899276, 0.025976683222609567, 0.026202050974263095, 0.02642299867742139, 0.02664006282931548, 0.026853892538582343, 0.02706525434550085, 0.02727503501127002, 0.02748424197362665, 0.027694001193641897, 0.027905552154801214, 0.028120239820388533, 0.028339503408332713, 0.02856486190347115, 0.028797896294814575, 0.02904022859883757, 0.029293497807736282, 0.029559332982583977, 0.029839323793614644, 0.030134988891621684, 0.030447742573676925, 0.030778860280906848, 0.03112944353370254, 0.031500384968356505, 0.031892334186473394, 0.03230566516269781, 0.03274044597536654, 0.03319641162719926, 0.033672940707726536, 0.03416903661504288, 0.034683314001234075, 0.03521399103358556, 0.03575888797304403, 0.036315432463600465, 0.03688067180304666, 0.03745129232919425, 0.0380236459090281, 0.03859378336457084, 0.03915749451222387, 0.039710354335874755, 0.04024777466233878, 0.0407650605648623, 0.04125747059063954, 0.041720279795479306, 0.04214884447653051, 0.042538667425439304, 0.04288546248207291, 0.04318521715482137, 0.04343425208866562, 0.043629276206899915, 0.04376743642611207, 0.043846360945307715, 0.04386419523667216, 0.04381963001436841, 0.043711920625264175, 0.043540897487239695, 0.04330696739203422, 0.0430111056853426, 0.0426548395319112, 0.042240222662490536, 0.041769802177696214, 0.04124657814644704, 0.04067395687952875, 0.0400556988784116, 0.03939586255291493, 0.03869874486663006, 0.0379688201050199, 0.03721067796752177, 0.03642896216235467, 0.03562831063249602, 0.0348132984656055, 0.033988384442383765, 0.033157862060374244, 0.032325815737391454, 0.03149608275474146, 0.030672221349501847, 0.029857485211670313, 0.0290548044901884, 0.028266773265664596, 0.027495643310650165, 0.02674332383372249, 0.02601138679402167, 0.025301077280279513, 0.024613328374218216, 0.02394877986324923, 0.02330780013184463, 0.022690510544395734, 0.02209681163385595, 0.02152641042859923, 0.020978848282913982, 0.02045352862228668, 0.01994974407080603, 0.019466702492186832, 0.019003551545592953, 0.018559401430201183, 0.018133345565977156, 0.017724479030302158, 0.017331914639016337, 0.01695479662452245, 0.01659231192153555, 0.016243699121904487, 0.015908255203029152, 0.015585340169442198, 0.015274379774089505, 0.014974866504983041, 0.014686359034696133, 0.014408480335294195, 0.014140914660565844, 0.013883403591752018, 0.013635741333339287, 0.01339776943286046, 0.013169371083982216, 0.012950465156333364, 0.012741000079327132, 0.012540947691324996, 0.012350297150414238, 0.012169048989229188, 0.01199720938388984, 0.01183478469639206, 0.011681776340657635, 0.011538176014834095, 0.011403961336138354, 0.011279091909298638, 0.0111635058551781, 0.01105711682213836, 0.010959811498823935, 0.01087144764302936, 0.010791852636921402, 0.010720822573950588, 0.01065812187719441, 0.010603483442599234, 0.010556609293677346, 0.010517171726791097, 0.010484814918404278, 0.010459156957849094, 0.01043979226152643, 0.010426294317342379, 0.010418218701900156, 0.010415106307823087, 0.010416486714859449, 0.010421881636346705, 0.010430808372366455, 0.01044278320260424, 0.010457324655562955, 0.010473956596306913, 0.010492211082188847, 0.010511630944811261, 0.010531772066500692, 0.010552205330468198, 0.010572518235192828, 0.010592316174958859, 0.010611223399465656, 0.01062888367557249, 0.010644960683138211, 0.010659138184211119, 0.01067112001022222, 0.010680629915124668, 0.010687411343473853, 0.01069122716122998, 0.01069185939365083, 0.010689109009193785, 0.01068279578111335, 0.010672758249755148, 0.010658853798807945, 0.010640958848424836, 0.01061896915763887, 0.010592800218358645, 0.010562387713904893, 0.010527688006978227, 0.010488678615512009, 0.010445358630380142, 0.010397749026627066, 0.010345892819905812, 0.01028985502218702, 0.010229722355475122, 0.01016560268907531, 0.01009762417464178, 0.010025934063468595, 0.00995069720185547, 0.009872094212436925, 0.009790319381618633, 0.009705578285220532, 0.009618085195591897, 0.009528060323378008, 0.009435726955365905, 0.009341308556067053, 0.009245025904633853, 0.009147094340168443, 0.009047721187376003, 0.008947103430847689, 0.008845425700135577, 0.008742858619400683, 0.008639557565059552, 0.008535661862878897, 0.008431294442790033, 0.008326561955772865, 0.008221555342980379, 0.008116350833331124, 0.008011011332574775, 0.007905588154786931, 0.0078001230367882365, 0.00769465036745904, 0.007589199557617601, 0.007483797472247546, 0.00737847084551377, 0.007273248600220427, 0.007168163997077009, 0.007063256545198315, 0.006958573613444085, 0.006854171692205845, 0.006750117266716301, 0.006646487275489749, 0.006543369140672008, 0.006440860370439944, 0.006339067746704194, 0.006238106123809524, 0.006138096875304356, 0.006039166035818151, 0.0059414421933535345, 0.005845054193644518, 0.005750128722501491, 0.005656787834180453, 0.005565146493777615, 0.005475310199534209, 0.00538737274688268, 0.005301414190278889, 0.005217499051602557, 0.005135674815469902, 0.00505597074251577, 0.0049783970219136366, 0.004902944274458668, 0.004829583407780188, 0.004758265815992401, 0.004688923907619817, 0.004621471938188196, 0.004555807117644434, 0.004491810957897619, 0.0044293508223363955, 0.004368281637196868, 0.004308447724094003, 0.004249684713800282, 0.004191821503323186, 0.004134682221324598, 0.004078088170736741, 0.004021859721836981, 0.003965818133814373, 0.003909787287760783, 0.0038535953188255432, 0.003797076139781987, 0.0037400708522892017, 0.003682429045551002, 0.0036240099847711983, 0.003564683693716089, 0.003504331936800863, 0.0034428491064351476, 0.0033801430209530097, 0.003316135637406488, 0.0032507636819395372, 0.003183979198523972, 0.003115750014686943, 0.0030460601206533594, 0.0029749099562279896, 0.0029023165979025394, 0.0028283138372285107, 0.002752952140560903, 0.0026762984799373166, 0.00259843602516778, 0.0025194636881962435, 0.0024394955124459067, 0.0023586599021354652, 0.002277098689381093, 0.002194966040182245, 0.002112427204009193, 0.0020296571155322424, 0.0019468388609122323, 0.0018641620248604504, 0.0017818209382287659, 0.0017000128490692757, 0.0016189360427850126, 0.001538787939074198, 0.0014597631947682415, 0.0013820518423219184, 0.001305837493602159, 0.0012312956377379606, 0.0011585920601617668, 0.0010878814076418007, 0.00101930592114702, 9.529943548932429E-4, 8.890610959963795E-4, 8.276054949250565E-4, 7.687114125239009E-4, 7.124469848969296E-4, 6.588646030215655E-4, 6.080010997258506E-4, 5.598781327114834E-4, 5.145027487388296E-4, 4.7186811098615073E-4, 4.3195436901677196E-4, 3.947296487793495E-4, 3.601511386546962E-4, 3.281662467560602E-4, 2.98713804480758E-4, 2.7172529167567564E-4, 2.4712605968034104E-4, 2.2483652989993953E-4, 2.0477334737877855E-4, 1.868504710265469E-4, 1.7098018462542093E-4, 1.5707401544258194E-4, 1.4504355011674117E-4, 1.3480114040654147E-4, 1.2626049431393289E-4, 1.193371509613402E-4, 1.139488403476733E-4, 1.100157316806959E-4, 1.0746057633440958E-4, 1.0620875356923659E-4, 1.0618822894645773E-4, 1.0732943684036045E-4, 1.09565099583052E-4, 1.1282999655624765E-4, 1.1706069696711815E-4, 1.2219527011404495E-4, 1.2817298667230274E-4, 1.3493402392541934E-4, 1.4241918695775472E-4, 1.5056965663642237E-4, 1.5932677378050188E-4, 1.686318672822708E-4, 1.7842613215341354E-4, 1.886505615671334E-4, 1.99245935006238E-4, 2.10152862660925E-4, 2.2131188430231467E-4, 2.3266361904220715E-4, 2.4414896072768964E-4, 2.5570931225889275E-4, 2.672868509023079E-4, 2.7882481573686353E-4, 2.902678077437635E-4, 3.015620927529918E-4, 3.126558974985427E-4, 3.234996894089588E-4, 3.34046431456877E-4, 3.442518043870456E-4, 3.540743899022862E-4, 3.634758098669618E-4, 3.7242081823537387E-4, 3.80877344168965E-4, 3.8881648660762914E-4, 3.9621246234072805E-4, 4.030425113165905E-4, 4.092867644718484E-4, 4.1492808069561876E-4, 4.1995186061716093E-4, 4.2434584567773614E-4, 4.2809991138760946E-4, 4.312058637597098E-4, 4.3365724764799266E-4, 4.354491751104129E-4, 4.365781809863267E-4, 4.370421116615511E-4, 4.368400515379037E-4, 4.3597229008399455E-4, 4.3444033058378975E-4, 4.3224693988714414E-4, 4.2939623667226097E-4, 4.258938140231844E-4, 4.2174689057169194E-4, 4.16964483111818E-4, 4.1155759251767815E-4, 4.0553939402167917E-4, 3.9892542246898737E-4, 3.917337430706528E-4, 3.8398509843388983E-4, 0.0029062365005629266, 0.0030391527847771164, 0.0031668919744145974, 0.0032884746340393484, 0.003402980967753703, 0.003509567479581156, 0.00360748243833365, 0.003696079747824025, 0.0037748308626115857, 0.0038433344411442833, 0.0039013234904063266, 0.003948669826752153, 0.003985385753899541, 0.004011622938203209, 0.004027668540355853, 0.004033938738596153, 0.004030969848528143, 0.004019407306233326, 0.003999992832341977, 0.0039735501334697615, 0.003940969522815904, 0.003903191853266802, 0.0038611921541590066, 0.003815963347635062, 0.003768500393518182, 0.003719785174556258, 0.003670772388835858, 0.00362237666550141, 0.0035754610661376026, 0.003530827079806489, 0.003489206167194613, 0.003451252860820749, 0.0034175393856662327, 0.003388551729402882, 0.003364687064632342, 0.003346252407750602, 0.003333464390241091, 0.0033264500179238906, 0.0033252483010466067, 0.003329812651811846, 0.0033400139644114554, 0.003355644314090144, 0.003376421234296929, 0.0034019925527144085, 0.003431941786108286, 0.003465794108943032, 0.0035030229202918303, 0.0035430570368231726, 0.0035852885360702267, 0.003629081263731115, 0.0036737800017816492, 0.0037187202715137768, 0.003763238718408823, 0.00380668399549765, 0.003848428030255067, 0.003887877528957713, 0.003924485543674605, 0.003957762902447083, 0.003987289284378467, 0.0040127237096472135, 0.0040338142109118055, 0.004050406457808574, 0.004062451120453526, 0.004070009780782478, 0.004073259231501483, 0.004072494040256928, 0.004068127299899247, 0.004060689532634898, 0.004050825764472147, 0.00403929083457428, 0.004026943049848374, 0.004014736336312682, 0.004003711073687707, 0.003994983826716562, 0.003989736204771144, 0.003989203089598251, 0.003994660469330579, 0.004007413105350239, 0.004028782237954813, 0.0040600935082127886, 0.004102665238506404, 0.0041577971749861865, 0.004226759753718865, 0.004310783911062777, 0.004411051420165443, 0.004528685701781123, 0.004664743030977528, 0.004820204043549964, 0.004995965438467559, 0.005192831776294158, 0.005411507288519866, 0.00565258763875261, 0.005916551612718983, 0.006203752758389017, 0.006514411048050365, 0.006848604688098331, 0.007206262256627006, 0.007587155400266581, 0.007990892366750078, 0.008416912685121253, 0.00886448332830355, 0.009332696700422163, 0.009820470781844294, 0.010326551737262553, 0.010849519245952647, 0.01138779474928999, 0.01193965273030292, 0.012503235046099475, 0.013076568229831621, 0.01365758356875676, 0.014244139653687739, 0.014834046987869278, 0.01542509414547479, 0.01601507488656132, 0.016601815571302286, 0.017183202175648282, 0.01775720619637121, 0.018321908747682733, 0.01887552219488873, 0.01941640874202859, 0.019943095487857092, 0.02045428558421989, 0.020948865267816936, 0.021425906684650022, 0.021884666579267683, 0.022324581071164543, 0.022745256881124505, 0.023146459494212644, 0.02352809884737029, 0.023890213203472684, 0.0242329519166566, 0.024556557804152255, 0.024861349817748252, 0.025147706655297357, 0.025416051873049874, 0.025666840958180566, 0.025900550704172617, 0.02611767110688764, 0.02631869987396119, 0.02650413952205874, 0.026674496932546945, 0.026830285152212755, 0.026972027166285557, 0.027100261338970914, 0.02721554821282428, 0.027318478381368062, 0.027409681196257807, 0.027489834136090192, 0.02755967274210361, 0.02762000110907836, 0.027671702999402, 0.027715753716164235, 0.027753232919315956, 0.0277853385901964, 0.027813402338346633, 0.027838906196490112, 0.027863500962780206, 0.0278890260243421, 0.027917530435297672, 0.027951294831008923, 0.027992853545472134, 0.028045016070015572, 0.02811088675985013, 0.02819388147309822, 0.02829773962813331, 0.02842653000332768, 0.02858464849239547, 0.028776805981603867, 0.029008004544075965, 0.029283500261163803, 0.02960875118900266, 0.029989349294234014, 0.030430935587306276, 0.03093909818139534, 0.03151925359195559, 0.0321765122535053, 0.032915529949018904, 0.03374034760067803, 0.03465422263212276, 0.03565945585085423, 0.03675721848157173, 0.03794738457151384, 0.03922837445156463, 0.04059701523758897, 0.04204842446401618, 0.04357592282998585, 0.045170981688398844, 0.04682321030973512, 0.0485203871056733, 0.05024853791376216, 0.05199206314735993, 0.05373391414020464, 0.05545581740933492, 0.05713854388050145, 0.05876221843154273, 0.06030666348151673, 0.061751768858780184, 0.06307787889034476, 0.06426618663313802, 0.06529912447177849, 0.06616073998155102, 0.0668370460285618, 0.06731633456360868, 0.06758944445534797, 0.06764997497645935, 0.06749443815990151, 0.06712234512098002, 0.06653622352094385, 0.06574156554536742, 0.0647467079955462, 0.06356264825227341, 0.06220280188011825, 0.06068270941612554, 0.05901970136025679, 0.05723253150165488, 0.05534098943780767, 0.053365503454625124, 0.05132674483520954, 0.04924524417301452, 0.047141029417340455, 0.0450332942262403, 0.04294010380547989, 0.040878143841487836, 0.03886251646402164, 0.036906585473316864, 0.035021871405844784, 0.03321799545465106, 0.031502669857500505, 0.02988173116042306, 0.02835921178522237, 0.026937444594015772, 0.025617194656669288, 0.02439781218170313, 0.023277400551771788, 0.02225299358731177, 0.02132073651675122, 0.02047606562553765, 0.019713882154311007, 0.019028716684292662, 0.018414880952694758, 0.017866604753174357, 0.01737815627058022, 0.016943944854589072, 0.016558605837212477, 0.016217067533189234, 0.015914601022911933, 0.015646853701615192, 0.015409867886096587, 0.015200086003869108, 0.01501434405383031, 0.014849855128047408, 0.014704184827589359, 0.014575220398297284, 0.01446113536176098, 0.014360351329119976, 0.014271498566842055, 0.014193376740158187, 0.014124917096776001, 0.01406514717593291, 0.014013158940583083, 0.013968081038099904, 0.013929055701679247, 0.013895220614824443, 0.013865695878840026, 0.013839576051862257, 0.013815927070986382, 0.013793787729480016, 0.013772175261361078, 0.013750094487667834, 0.013726549903791716, 0.013700560035859025, 0.013671173366189443, 0.013637485122528043, 0.013598654241597528, 0.013553919852566291, 0.013502616677837125, 0.013444188814360606, 0.013378201435500482, 0.013304350038262087, 0.01322246695043703, 0.013132524904041234, 0.01303463757269962, 0.012929057059019136, 0.012816168401494533, 0.01269648124746736, 0.012570618907825478, 0.012439305069537792, 0.012303348493128304, 0.012163626063420302, 0.012021064593167641, 0.011876621800550548, 0.011731266893091653, 0.011585961192601402, 0.011441639228617354, 0.011299190711852173, 0.011159443774867071, 0.011023149835054742, 0.010890970395635765, 0.010763466054413534, 0.010641087938268803, 0.010524171724681564, 0.010412934350951787, 0.010307473448383632, 0.010207769473758135, 0.010113690445328038, 0.010024999126804818, 0.009941362441938188, 0.009862362845912784, 0.009787511329525787, 0.009716261689527456, 0.009648025665084893, 0.009582188517390339, 0.009518124618090202, 0.009455212613300562, 0.009392849744007337, 0.00933046493075034, 0.009267530270360765, 0.00920357064440085, 0.009138171201610198, 0.00907098254839167, 0.009001723560018106, 0.008930181808260402, 0.0088562116856501, 0.008779730389483572, 0.008700712006728522, 0.008619180010992537, 0.008535198541615862, 0.008448862880018001, 0.00836028956738376, 0.00826960661893485, 0.008176944282419914, 0.008082426761884467, 0.007986165282911255, 0.007888252813861853, 0.0077887606815312364, 0.007687737232115873, 0.007585208593178032, 0.007481181493508234, 0.007375647999854614, 0.007268591936874755, 0.007159996673681329, 0.007049853890929799, 0.006938172889888415, 0.0068249899719331104, 0.0067103774051261444, 0.00659445150468061, 0.006477379385864049, 0.006359383999910559, 0.006240747133490142, 0.006121810137075117, 0.006002972243302279, 0.0058846864388126495, 0.005767452957424281, 0.005651810564168807, 0.005538325894177869, 0.005427581193505134, 0.005320160877161831, 0.005216637370111527, 0.005117556727765045, 0.0050234245426232635, 0.004934692633083581, 0.0048517469799441906, 0.004774897327569532, 0.004704368802542384, 0.004640295826057482, 0.004582718510890494, 0.004531581643338946, 0.004486736258979805, 0.004447943732194565, 0.004414882216652507, 0.004387155200340734, 0.0043643018767402925, 0.0043458089851699895, 0.004331123739253178, 0.0043196674432995465, 0.0043108493918514275, 0.004304080656830844, 0.004298787388233567, 0.0042944232863452135, 0.004290480943927685, 0.004286501803530635, 0.004282084525804231, 0.00427689161731635, 0.004270654219008668, 0.004263175007440956, 0.004254329209080716, 0.004244063772151502, 0.004232394780352682, 0.004219403227807103, 0.0042052293048345105, 0.004190065369729482, 0.004174147802898086, 0.004157747956772827, 0.00414116242815159, 0.0041247028891824924, 0.004108685719216841, 0.004093421682116506, 0.004079205892140956, 0.00406630830595972, 0.004054964968284217, 0.004045370223729302, 0.004037670087502205, 0.004031956942204228, 0.004028265697440948, 0.004026571513336278, 0.004026789148984114, 0.004028773953198141, 0.004032324468781024, 0.004037186574340405, 0.004043059041058547, 0.004049600337545702, 0.004056436475800626, 0.004063169657148543, 0.004069387450463806, 0.004074672217402092, 0.004078610491817323, 0.004080802023660963, 0.004080868211627134, 0.004078459673290559, 0.004073262735661694, 0.004065004671658156, 0.0040534575572500125, 0.0040384406779249635, 0.004019821469343683, 0.003997515033192719, 0.00397148232286349, 0.003941727142375376, 0.003908292143835089, 0.0038712540419326576, 0.0038307182871837988, 0.0037868134519879913, 0.0037396855847437946, 0.0036894927774355716, 0.0036364001719690732, 0.0035805756012360686, 0.0035221860239690963, 0.003461394869748128, 0.0033983603640883025, 0.003333234855516408, 0.0032661651190706415, 0.003197293565761136, 0.003126760247035466, 0.0030547055087571297, 0.0029812731218458186, 0.002906613697398229, 0.002830888183274136, 0.0027542712368832712, 0.0026769542749757354, 0.0025991480150388897, 0.0025210843435880107, 0.00244301737315062, 0.002365223580887971, 0.0022880009562921896, 0.002211667121940966, 0.0021365564286102315, 0.002063016062931652, 0.001991401241132745, 0.0019220695952266284, 0.0018553748874746612, 0.0017916602143080698, 0.0017312508815759083, 0.0016744471485203832, 0.0016215170479134688, 0.0015726894940765632, 0.0015281478889021167, 0.0014880244284612648, 0.0014523952993761695, 0.0014212769350372162, 0.001394623477255661, 0.0013723255595024164, 0.0013542104940861572, 0.0013400439082196115, 0.0013295328338263758, 0.001322330214221005, 0.0013180407486626453, 0.001316227954558602, 0.0013164222881732203, 0.0013181301294966647, 0.001320843406828311, 0.0013240496129108292, 0.0013272419482260349, 0.0013299293192119092, 0.0013316459202701852, 0.0013319601387549512, 0.0013304825415418329, 0.0013268727297643856, 0.0013208448839767003, 0.0013121718641098256, 0.0013006877755752607, 0.001286288962927455, 0.0012689334436606226, 0.001248638844942996, 0.0012254789533693408, 0.001199579030250958, 0.0011711100808900967, 0.0011402822943328208, 0.001107337889259124, 0.0010725436113643504, 0.0010361831276660125, 9.985495539285613E-4, 9.599383335493172E-4, 9.206406608771076E-4, 8.809376104373448E-4, 8.410950975393149E-4, 8.01359757009893E-4, 7.619557871475812E-4, 7.230827671886728E-4, 6.849144202590918E-4, 6.475982613757575E-4, 6.112560427156963E-4, 5.759848869307265E-4, 5.418589842531225E-4 ], "x": [ 0.1667, 0.3229295499021526, 0.47915909980430527, 0.6353886497064578, 0.7916181996086105, 0.9478477495107631, 1.1040772994129158, 1.2603068493150684, 1.416536399217221, 1.5727659491193737, 1.7289954990215264, 1.885225048923679, 2.0414545988258315, 2.1976841487279843, 2.3539136986301368, 2.5101432485322897, 2.666372798434442, 2.8226023483365945, 2.9788318982387474, 3.1350614481409, 3.2912909980430527, 3.447520547945205, 3.603750097847358, 3.7599796477495104, 3.916209197651663, 4.072438747553815, 4.228668297455968, 4.38489784735812, 4.541127397260273, 4.697356947162426, 4.853586497064579, 5.009816046966731, 5.166045596868884, 5.3222751467710365, 5.4785046966731885, 5.634734246575341, 5.790963796477494, 5.947193346379647, 6.103422896281799, 6.259652446183952, 6.415881996086105, 6.572111545988257, 6.72834109589041, 6.884570645792563, 7.0408001956947155, 7.1970297455968675, 7.35325929549902, 7.509488845401173, 7.665718395303325, 7.821947945205478, 7.978177495107631, 8.134407045009784, 8.290636594911938, 8.44686614481409, 8.603095694716242, 8.759325244618395, 8.915554794520547, 9.0717843444227, 9.228013894324853, 9.384243444227005, 9.540472994129159, 9.69670254403131, 9.852932093933463, 10.009161643835617, 10.165391193737769, 10.32162074363992, 10.477850293542074, 10.634079843444226, 10.790309393346378, 10.946538943248532, 11.102768493150684, 11.258998043052838, 11.41522759295499, 11.571457142857142, 11.727686692759296, 11.883916242661448, 12.0401457925636, 12.196375342465753, 12.352604892367905, 12.508834442270057, 12.665063992172211, 12.821293542074363, 12.977523091976515, 13.133752641878669, 13.28998219178082, 13.446211741682975, 13.602441291585126, 13.758670841487278, 13.914900391389432, 14.071129941291584, 14.227359491193736, 14.38358904109589, 14.539818590998042, 14.696048140900194, 14.852277690802348, 15.0085072407045, 15.164736790606652, 15.320966340508805, 15.477195890410957, 15.633425440313111, 15.789654990215263, 15.945884540117415, 16.10211409001957, 16.25834363992172, 16.414573189823873, 16.570802739726023, 16.727032289628177, 16.88326183953033, 17.03949138943248, 17.195720939334635, 17.35195048923679, 17.50818003913894, 17.664409589041092, 17.820639138943246, 17.976868688845396, 18.13309823874755, 18.289327788649704, 18.445557338551858, 18.601786888454008, 18.75801643835616, 18.914245988258315, 19.070475538160466, 19.22670508806262, 19.382934637964773, 19.539164187866923, 19.695393737769077, 19.85162328767123, 20.00785283757338, 20.164082387475535, 20.32031193737769, 20.47654148727984, 20.632771037181993, 20.789000587084146, 20.945230136986297, 21.10145968688845, 21.257689236790604, 21.413918786692754, 21.570148336594908, 21.726377886497062, 21.882607436399212, 22.038836986301366, 22.19506653620352, 22.351296086105673, 22.507525636007824, 22.663755185909977, 22.81998473581213, 22.97621428571428, 23.132443835616435, 23.28867338551859, 23.44490293542074, 23.601132485322893, 23.757362035225047, 23.913591585127197, 24.06982113502935, 24.226050684931504, 24.382280234833654, 24.53850978473581, 24.694739334637962, 24.850968884540112, 25.007198434442266, 25.16342798434442, 25.31965753424657, 25.475887084148724, 25.632116634050877, 25.788346183953028, 25.94457573385518, 26.100805283757335, 26.25703483365949, 26.41326438356164, 26.569493933463793, 26.725723483365947, 26.881953033268097, 27.03818258317025, 27.194412133072404, 27.350641682974555, 27.50687123287671, 27.663100782778862, 27.819330332681012, 27.975559882583166, 28.13178943248532, 28.28801898238747, 28.444248532289624, 28.600478082191778, 28.756707632093928, 28.91293718199608, 29.069166731898235, 29.225396281800386, 29.38162583170254, 29.537855381604693, 29.694084931506843, 29.850314481408997, 30.00654403131115, 30.1627735812133, 30.319003131115455, 30.47523268101761, 30.631462230919762, 30.787691780821913, 30.943921330724066, 31.10015088062622, 31.25638043052837, 31.412609980430524, 31.568839530332678, 31.725069080234828, 31.881298630136982, 32.03752818003914, 32.19375772994129, 32.34998727984344, 32.50621682974559, 32.66244637964775, 32.8186759295499, 32.97490547945205, 33.131135029354205, 33.287364579256355, 33.443594129158505, 33.59982367906066, 33.75605322896281, 33.91228277886496, 34.06851232876712, 34.22474187866927, 34.38097142857142, 34.53720097847358, 34.69343052837573, 34.84966007827788, 35.005889628180036, 35.162119178082186, 35.318348727984336, 35.47457827788649, 35.630807827788644, 35.787037377690794, 35.94326692759295, 36.0994964774951, 36.25572602739726, 36.41195557729941, 36.56818512720156, 36.72441467710372, 36.88064422700587, 37.03687377690802, 37.193103326810174, 37.349332876712324, 37.505562426614475, 37.66179197651663, 37.81802152641878, 37.97425107632093, 38.13048062622309, 38.28671017612524, 38.44293972602739, 38.59916927592955, 38.7553988258317, 38.91162837573385, 39.067857925636005, 39.224087475538155, 39.380317025440306, 39.53654657534246, 39.69277612524461, 39.84900567514676, 40.00523522504892, 40.16146477495107, 40.31769432485322, 40.47392387475538, 40.63015342465753, 40.78638297455968, 40.942612524461836, 41.098842074363986, 41.25507162426614, 41.411301174168294, 41.567530724070444, 41.723760273972594, 41.87998982387475, 42.0362193737769, 42.19244892367905, 42.34867847358121, 42.50490802348336, 42.66113757338551, 42.81736712328767, 42.97359667318982, 43.12982622309197, 43.286055772994125, 43.442285322896275, 43.598514872798425, 43.75474442270058, 43.91097397260273, 44.06720352250488, 44.22343307240704, 44.37966262230919, 44.53589217221135, 44.6921217221135, 44.84835127201565, 45.004580821917806, 45.160810371819956, 45.317039921722106, 45.47326947162426, 45.629499021526414, 45.785728571428564, 45.94195812133072, 46.09818767123287, 46.25441722113502, 46.41064677103718, 46.56687632093933, 46.72310587084148, 46.87933542074364, 47.03556497064579, 47.19179452054794, 47.348024070450094, 47.504253620352245, 47.660483170254395, 47.81671272015655, 47.9729422700587, 48.12917181996085, 48.28540136986301, 48.44163091976516, 48.59786046966731, 48.75409001956947, 48.91031956947162, 49.06654911937377, 49.222778669275925, 49.379008219178075, 49.535237769080226, 49.69146731898238, 49.84769686888453, 50.00392641878668, 50.16015596868884, 50.31638551859099, 50.47261506849314, 50.6288446183953, 50.78507416829745, 50.9413037181996, 51.097533268101756, 51.253762818003906, 51.40999236790606, 51.566221917808214, 51.722451467710364, 51.878681017612514, 52.03491056751467, 52.19114011741682, 52.34736966731898, 52.50359921722113, 52.65982876712328, 52.81605831702544, 52.97228786692759, 53.12851741682974, 53.284746966731895, 53.440976516634045, 53.597206066536195, 53.75343561643835, 53.9096651663405, 54.06589471624265, 54.22212426614481, 54.37835381604696, 54.53458336594911, 54.69081291585127, 54.84704246575342, 55.00327201565557, 55.159501565557726, 55.315731115459876, 55.471960665362026, 55.62819021526418, 55.784419765166334, 55.940649315068484, 56.09687886497064, 56.25310841487279, 56.40933796477494, 56.5655675146771, 56.72179706457925, 56.8780266144814, 57.03425616438356, 57.19048571428571, 57.34671526418786, 57.502944814090014, 57.659174363992165, 57.815403913894315, 57.97163346379647, 58.12786301369862, 58.28409256360077, 58.44032211350293, 58.59655166340508, 58.75278121330723, 58.90901076320939, 59.06524031311154, 59.22146986301369, 59.377699412915845, 59.533928962817996, 59.690158512720146, 59.8463880626223, 60.00261761252445, 60.1588471624266, 60.31507671232876, 60.47130626223091, 60.62753581213307, 60.78376536203522, 60.93999491193737, 61.096224461839526, 61.252454011741676, 61.40868356164383, 61.564913111545984, 61.721142661448134, 61.877372211350284, 62.03360176125244, 62.18983131115459, 62.34606086105674, 62.5022904109589, 62.65851996086105, 62.8147495107632, 62.97097906066536, 63.12720861056751, 63.28343816046966, 63.439667710371815, 63.595897260273965, 63.752126810176115, 63.90835636007827, 64.06458590998042, 64.22081545988259, 64.37704500978474, 64.53327455968689, 64.68950410958904, 64.84573365949119, 65.00196320939335, 65.1581927592955, 65.31442230919765, 65.4706518590998, 65.62688140900195, 65.7831109589041, 65.93934050880627, 66.09557005870842, 66.25179960861057, 66.40802915851272, 66.56425870841487, 66.72048825831702, 66.87671780821918, 67.03294735812133, 67.18917690802348, 67.34540645792563, 67.50163600782778, 67.65786555772993, 67.8140951076321, 67.97032465753425, 68.1265542074364, 68.28278375733855, 68.4390133072407, 68.59524285714285, 68.75147240704501, 68.90770195694716, 69.06393150684931, 69.22016105675146, 69.37639060665362, 69.53262015655577, 69.68884970645793, 69.84507925636008, 70.00130880626223, 70.15753835616438, 70.31376790606653, 70.46999745596868, 70.62622700587085, 70.782456555773, 70.93868610567515, 71.0949156555773, 71.25114520547945, 71.4073747553816, 71.56360430528376, 71.71983385518591, 71.87606340508806, 72.03229295499021, 72.18852250489236, 72.34475205479453, 72.50098160469668, 72.65721115459883, 72.81344070450098, 72.96967025440313, 73.12589980430528, 73.28212935420744, 73.43835890410959, 73.59458845401174, 73.75081800391389, 73.90704755381604, 74.06327710371819, 74.21950665362036, 74.37573620352251, 74.53196575342466, 74.68819530332681, 74.84442485322896, 75.00065440313111, 75.15688395303327, 75.31311350293542, 75.46934305283757, 75.62557260273972, 75.78180215264187, 75.93803170254402, 76.09426125244619, 76.25049080234834, 76.40672035225049, 76.56294990215264, 76.71917945205479, 76.87540900195694, 77.0316385518591, 77.18786810176125, 77.3440976516634, 77.50032720156555, 77.6565567514677, 77.81278630136985, 77.96901585127202, 78.12524540117417, 78.28147495107632, 78.43770450097847, 78.59393405088062, 78.75016360078277, 78.90639315068493, 79.06262270058708, 79.21885225048923, 79.37508180039138, 79.53131135029354, 79.68754090019569, 79.84377045009785, 80.0, 0.3333, 0.47746183953033267, 0.6216236790606653, 0.7657855185909981, 0.9099473581213307, 1.0541091976516634, 1.198271037181996, 1.3424328767123286, 1.4865947162426614, 1.6307565557729942, 1.7749183953033267, 1.9190802348336593, 2.063242074363992, 2.207403913894325, 2.3515657534246572, 2.49572759295499, 2.639889432485323, 2.7840512720156556, 2.9282131115459884, 3.0723749510763207, 3.2165367906066535, 3.3606986301369863, 3.5048604696673187, 3.6490223091976515, 3.7931841487279843, 3.937345988258317, 4.08150782778865, 4.225669667318982, 4.369831506849315, 4.513993346379648, 4.658155185909981, 4.802317025440313, 4.946478864970646, 5.090640704500979, 5.234802544031312, 5.3789643835616445, 5.523126223091977, 5.667288062622309, 5.811449902152642, 5.955611741682975, 6.099773581213308, 6.24393542074364, 6.388097260273973, 6.532259099804306, 6.676420939334638, 6.820582778864971, 6.9647446183953035, 7.108906457925636, 7.253068297455969, 7.397230136986302, 7.541391976516635, 7.685553816046967, 7.8297156555773, 7.973877495107632, 8.118039334637965, 8.262201174168297, 8.406363013698629, 8.550524853228962, 8.694686692759294, 8.838848532289628, 8.98301037181996, 9.127172211350294, 9.271334050880625, 9.41549589041096, 9.559657729941291, 9.703819569471623, 9.847981409001957, 9.992143248532289, 10.136305088062622, 10.280466927592954, 10.424628767123288, 10.56879060665362, 10.712952446183953, 10.857114285714285, 11.001276125244617, 11.14543796477495, 11.289599804305283, 11.433761643835616, 11.577923483365948, 11.722085322896282, 11.866247162426614, 12.010409001956946, 12.15457084148728, 12.298732681017611, 12.442894520547945, 12.587056360078277, 12.73121819960861, 12.875380039138943, 13.019541878669274, 13.163703718199608, 13.30786555772994, 13.452027397260274, 13.596189236790606, 13.74035107632094, 13.884512915851271, 14.028674755381605, 14.172836594911937, 14.316998434442269, 14.461160273972602, 14.605322113502934, 14.749483953033268, 14.8936457925636, 15.037807632093934, 15.181969471624265, 15.3261313111546, 15.470293150684931, 15.614454990215263, 15.758616829745597, 15.902778669275929, 16.046940508806262, 16.191102348336596, 16.33526418786693, 16.47942602739726, 16.623587866927593, 16.767749706457927, 16.91191154598826, 17.05607338551859, 17.200235225048925, 17.34439706457926, 17.488558904109592, 17.632720743639922, 17.776882583170256, 17.92104442270059, 18.06520626223092, 18.209368101761253, 18.353529941291587, 18.49769178082192, 18.64185362035225, 18.786015459882584, 18.930177299412918, 19.074339138943248, 19.218500978473582, 19.362662818003916, 19.50682465753425, 19.65098649706458, 19.795148336594913, 19.939310176125247, 20.083472015655577, 20.22763385518591, 20.371795694716244, 20.515957534246578, 20.660119373776908, 20.80428121330724, 20.948443052837575, 21.09260489236791, 21.23676673189824, 21.380928571428573, 21.525090410958907, 21.669252250489237, 21.81341409001957, 21.957575929549904, 22.101737769080238, 22.245899608610568, 22.3900614481409, 22.534223287671235, 22.678385127201565, 22.8225469667319, 22.966708806262233, 23.110870645792566, 23.255032485322896, 23.39919432485323, 23.543356164383564, 23.687518003913894, 23.831679843444228, 23.97584168297456, 24.120003522504895, 24.264165362035225, 24.40832720156556, 24.552489041095892, 24.696650880626223, 24.840812720156556, 24.98497455968689, 25.129136399217224, 25.273298238747554, 25.417460078277887, 25.56162191780822, 25.70578375733855, 25.849945596868885, 25.99410743639922, 26.138269275929552, 26.282431115459882, 26.426592954990216, 26.57075479452055, 26.714916634050883, 26.859078473581214, 27.003240313111547, 27.14740215264188, 27.29156399217221, 27.435725831702545, 27.57988767123288, 27.724049510763212, 27.868211350293542, 28.012373189823876, 28.15653502935421, 28.30069686888454, 28.444858708414873, 28.589020547945207, 28.73318238747554, 28.87734422700587, 29.021506066536205, 29.16566790606654, 29.30982974559687, 29.453991585127202, 29.598153424657536, 29.74231526418787, 29.8864771037182, 30.030638943248533, 30.174800782778867, 30.3189626223092, 30.46312446183953, 30.607286301369864, 30.751448140900198, 30.895609980430528, 31.039771819960862, 31.183933659491196, 31.32809549902153, 31.47225733855186, 31.616419178082193, 31.760581017612527, 31.904742857142857, 32.04890469667319, 32.193066536203524, 32.33722837573386, 32.48139021526419, 32.62555205479452, 32.76971389432485, 32.913875733855186, 33.05803757338552, 33.20219941291585, 33.34636125244619, 33.49052309197652, 33.634684931506854, 33.77884677103718, 33.923008610567514, 34.06717045009785, 34.21133228962818, 34.355494129158515, 34.49965596868885, 34.64381780821918, 34.78797964774951, 34.93214148727984, 35.07630332681018, 35.22046516634051, 35.364627005870844, 35.50878884540118, 35.65295068493151, 35.79711252446184, 35.94127436399217, 36.085436203522505, 36.22959804305284, 36.37375988258317, 36.517921722113506, 36.66208356164384, 36.806245401174166, 36.9504072407045, 37.094569080234834, 37.23873091976517, 37.3828927592955, 37.527054598825835, 37.67121643835617, 37.815378277886495, 37.95954011741683, 38.10370195694716, 38.247863796477496, 38.39202563600783, 38.53618747553816, 38.6803493150685, 38.824511154598824, 38.96867299412916, 39.11283483365949, 39.256996673189825, 39.40115851272016, 39.54532035225049, 39.689482191780826, 39.83364403131115, 39.977805870841486, 40.12196771037182, 40.26612954990215, 40.41029138943249, 40.55445322896282, 40.698615068493154, 40.84277690802348, 40.986938747553815, 41.13110058708415, 41.27526242661448, 41.419424266144816, 41.56358610567515, 41.70774794520548, 41.85190978473582, 41.99607162426614, 42.14023346379648, 42.28439530332681, 42.428557142857144, 42.57271898238748, 42.71688082191781, 42.861042661448145, 43.00520450097847, 43.149366340508806, 43.29352818003914, 43.43769001956947, 43.58185185909981, 43.72601369863014, 43.870175538160474, 44.0143373776908, 44.158499217221134, 44.30266105675147, 44.4468228962818, 44.590984735812135, 44.73514657534247, 44.8793084148728, 45.02347025440313, 45.16763209393346, 45.3117939334638, 45.45595577299413, 45.600117612524464, 45.7442794520548, 45.88844129158513, 46.03260313111546, 46.17676497064579, 46.320926810176125, 46.46508864970646, 46.60925048923679, 46.753412328767126, 46.89757416829746, 47.04173600782779, 47.18589784735812, 47.330059686888454, 47.47422152641879, 47.61838336594912, 47.762545205479455, 47.90670704500979, 48.050868884540115, 48.19503072407045, 48.33919256360078, 48.483354403131116, 48.62751624266145, 48.771678082191784, 48.91583992172212, 49.060001761252444, 49.20416360078278, 49.34832544031311, 49.492487279843445, 49.63664911937378, 49.78081095890411, 49.924972798434446, 50.06913463796477, 50.213296477495106, 50.35745831702544, 50.501620156555774, 50.64578199608611, 50.78994383561644, 50.934105675146775, 51.0782675146771, 51.222429354207435, 51.36659119373777, 51.5107530332681, 51.654914872798436, 51.79907671232877, 51.9432385518591, 52.08740039138944, 52.231562230919764, 52.3757240704501, 52.51988590998043, 52.664047749510765, 52.8082095890411, 52.95237142857143, 53.096533268101766, 53.24069510763209, 53.384856947162426, 53.52901878669276, 53.67318062622309, 53.81734246575343, 53.96150430528376, 54.105666144814094, 54.24982798434442, 54.393989823874755, 54.53815166340509, 54.68231350293542, 54.826475342465756, 54.97063718199609, 55.11479902152642, 55.25896086105675, 55.40312270058708, 55.54728454011742, 55.69144637964775, 55.835608219178084, 55.97977005870842, 56.12393189823875, 56.26809373776908, 56.41225557729941, 56.556417416829746, 56.70057925636008, 56.84474109589041, 56.98890293542075, 57.13306477495108, 57.27722661448141, 57.42138845401174, 57.565550293542074, 57.70971213307241, 57.85387397260274, 57.998035812133075, 58.14219765166341, 58.286359491193735, 58.43052133072407, 58.5746831702544, 58.71884500978474, 58.86300684931507, 59.007168688845404, 59.15133052837574, 59.295492367906064, 59.4396542074364, 59.58381604696673, 59.727977886497065, 59.8721397260274, 60.01630156555773, 60.160463405088066, 60.3046252446184, 60.44878708414873, 60.59294892367906, 60.737110763209394, 60.88127260273973, 61.02543444227006, 61.169596281800395, 61.31375812133073, 61.457919960861055, 61.60208180039139, 61.74624363992172, 61.890405479452056, 62.03456731898239, 62.17872915851272, 62.32289099804306, 62.467052837573384, 62.61121467710372, 62.75537651663405, 62.899538356164385, 63.04370019569472, 63.18786203522505, 63.332023874755386, 63.47618571428571, 63.620347553816046, 63.76450939334638, 63.90867123287671, 64.05283307240704, 64.19699491193738, 64.34115675146771, 64.48531859099803, 64.62948043052837, 64.7736422700587, 64.91780410958903, 65.06196594911937, 65.2061277886497, 65.35028962818004, 65.49445146771036, 65.6386133072407, 65.78277514677103, 65.92693698630137, 66.0710988258317, 66.21526066536202, 66.35942250489236, 66.50358434442269, 66.64774618395303, 66.79190802348336, 66.9360698630137, 67.08023170254403, 67.22439354207435, 67.3685553816047, 67.51271722113502, 67.65687906066536, 67.80104090019569, 67.94520273972603, 68.08936457925635, 68.23352641878668, 68.37768825831702, 68.52185009784735, 68.66601193737769, 68.81017377690802, 68.95433561643836, 69.09849745596868, 69.24265929549901, 69.38682113502935, 69.53098297455968, 69.67514481409002, 69.81930665362034, 69.96346849315069, 70.10763033268101, 70.25179217221134, 70.39595401174168, 70.540115851272, 70.68427769080235, 70.82843953033267, 70.97260136986301, 71.11676320939334, 71.26092504892367, 71.40508688845401, 71.54924872798433, 71.69341056751468, 71.837572407045, 71.98173424657534, 72.12589608610567, 72.270057925636, 72.41421976516634, 72.55838160469666, 72.702543444227, 72.84670528375733, 72.99086712328767, 73.135028962818, 73.27919080234832, 73.42335264187867, 73.56751448140899, 73.71167632093933, 73.85583816046966, 74.0 ], "survived": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ] }, "sampling": "none", "alpha": 0.3, "position": "identity", "geom": "area", "fill": "#a39999" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 23 }, { "cell_type": "code", "source": [ "survivedByAge.groupBy { survived }" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:43.168469Z", "start_time": "2025-03-07T11:37:43.139446Z" } }, "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivedgroup
Survived
DataFrame [500 x 2]
survivedage
Survived0,166700
Survived0,416700
Survived0,666700
Survived0,750000
Survived0,750000

... showing only top 5 of 500 rows

Died
DataFrame [809 x 2]
survivedage
Died0,333300
Died0,750000
Died1,000000
Died1,000000
Died1,000000

... showing only top 5 of 809 rows

\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"group\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"FrameColumn\"}],\"nrow\":2,\"ncol\":2},\"kotlin_dataframe\":[{\"survived\":\"Survived\",\"group\":{\"data\":[{\"survived\":\"Survived\",\"age\":0.1667},{\"survived\":\"Survived\",\"age\":0.4167},{\"survived\":\"Survived\",\"age\":0.6667},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.75},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.8333},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":0.9167},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":1.0},{\"survived\":\"Survived\",\"age\":2.0},{\"survived\":\"Survived\",\"age\":2.0},{\"survived\":\"Survived\",\"age\":2.0}],\"metadata\":{\"kind\":\"FrameColumn\",\"columns\":[\"survived\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"ncol\":2,\"nrow\":500}}},{\"survived\":\"Died\",\"group\":{\"data\":[{\"survived\":\"Died\",\"age\":0.3333},{\"survived\":\"Died\",\"age\":0.75},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":1.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":2.0},{\"survived\":\"Died\",\"age\":3.0},{\"survived\":\"Died\",\"age\":3.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":4.0},{\"survived\":\"Died\",\"age\":5.0},{\"survived\":\"Died\",\"age\":6.0}],\"metadata\":{\"kind\":\"FrameColumn\",\"columns\":[\"survived\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"ncol\":2,\"nrow\":809}}}]}" }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 24 }, { "cell_type": "code", "source": [ "// A basic box plot\n", "survivedByAge.plot {\n", " boxplot(x = survived, y = age) {\n", " boxes {\n", " fillColor(Stat.x) {\n", " scale = categorical(\n", " \"Survived\" to JetBrainsColors.orange,\n", " \"Died\" to JetBrainsColors.darkGrey,\n", " )\n", " }\n", " }\n", " }\n", " layout {\n", " size = 500 to 400\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:43.268151Z", "start_time": "2025-03-07T11:37:43.171790Z" } }, "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", " Survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Died\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", " \n", " \n", " \n", " 20\n", " \n", " \n", " \n", " \n", " \n", " \n", " 30\n", " \n", " \n", " \n", " \n", " \n", " \n", " 40\n", " \n", " \n", " \n", " \n", " \n", " \n", " 50\n", " \n", " \n", " \n", " \n", " \n", " \n", " 60\n", " \n", " \n", " \n", " \n", " \n", " \n", " 70\n", " \n", " \n", " \n", " \n", " \n", " \n", " 80\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " x\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " Died\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": {}, "ggsize": { "width": 500.0, "height": 400.0 }, "kind": "plot", "scales": [ { "aesthetic": "x", "name": "survived", "limits": [ null, null ] }, { "aesthetic": "y", "name": "age", "limits": [ null, null ] }, { "aesthetic": "x", "discrete": true }, { "aesthetic": "fill", "values": [ "#ff6632", "#4c4c4c" ], "limits": [ "Survived", "Died" ] }, { "aesthetic": "x", "discrete": true }, { "aesthetic": "y", "limits": [ null, null ] } ], "layers": [ { "mapping": { "x": "x", "ymin": "min", "lower": "lower", "middle": "middle", "upper": "upper", "ymax": "max", "fill": "x" }, "stat": "identity", "data": { "min": [ 0.1667, 5.0 ], "middle": [ 29.8811345124283, 29.8811345124283 ], "max": [ 58.0, 52.0 ], "lower": [ 21.25, 23.0 ], "upper": [ 36.0, 35.0 ], "x": [ "Survived", "Died" ] }, "sampling": "none", "position": "identity", "geom": "boxplot" }, { "mapping": { "x": "x", "y": "y" }, "stat": "identity", "data": { "x": [ "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Survived", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died", "Died" ], "y": [ 59.0, 60.0, 60.0, 60.0, 60.0, 62.0, 62.0, 63.0, 63.0, 64.0, 64.0, 76.0, 80.0, 0.3333, 0.75, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 4.0, 54.0, 54.0, 54.0, 54.0, 54.0, 55.0, 55.0, 55.0, 55.0, 55.5, 56.0, 56.0, 57.0, 57.0, 57.0, 57.0, 57.0, 58.0, 58.0, 59.0, 59.0, 60.0, 60.0, 60.0, 60.5, 61.0, 61.0, 61.0, 61.0, 61.0, 62.0, 62.0, 62.0, 63.0, 63.0, 64.0, 64.0, 64.0, 65.0, 65.0, 65.0, 66.0, 67.0, 70.0, 70.0, 70.5, 71.0, 71.0, 74.0 ] }, "sampling": "none", "position": "identity", "geom": "point" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Seems like we have the same age distribution among survived and not survived passengers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Categorical features with One Hot Encoding\n", "\n", "To prepare data for the ML algorithms, we should replace all String values in categorical features on numbers. There are a few ways of how to preprocess categorical features, and One Hot Encoding is one of them. We will use [`pivotMatches`](https://kotlin.github.io/dataframe/pivot.html#pivotmatches) operation to convert categorical columns into sets of nested `Boolean` columns per every unique value." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:43.561027Z", "start_time": "2025-03-07T11:37:43.293148Z" } }, "source": [ "val pivoted = df1.pivotMatches { pclass and sex and embarked }\n", "pivoted.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivednameagesibspparchticketfarecabinboatbodyhomedestpclasssexembarked
123othermalefemaleSAACQ
1Allen, Miss. Elisabeth Walton29,0000000,0000000,00000024160211,337500B52nullSt Louis, MOtruefalsefalsetruefalsefalsetruefalsefalsefalse
1Allison, Master. Hudson Trevor0,9167001,0000002,000000113781151,550000C22 C2611nullMontreal, PQ / Chesterville, ONtruefalsefalsefalsetruefalsefalsetruefalsefalse
0Allison, Miss. Helen Loraine2,0000001,0000002,000000113781151,550000C22 C26nullnullMontreal, PQ / Chesterville, ONtruefalsefalsefalsefalsetruetruefalsefalsefalse
0Allison, Mr. Hudson Joshua Creighton30,0000001,0000002,000000113781151,550000C22 C26null135Montreal, PQ / Chesterville, ONtruefalsefalsefalsetruefalsetruefalsefalsefalse
0Allison, Mrs. Hudson J C (Bessie Wald...25,0000001,0000002,000000113781151,550000C22 C26nullnullMontreal, PQ / Chesterville, ONtruefalsefalsefalsefalsetruetruefalsefalsefalse
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"name\",\"age\",\"sibsp\",\"parch\",\"ticket\",\"fare\",\"cabin\",\"boat\",\"body\",\"homedest\",\"pclass\",\"sex\",\"embarked\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ColumnGroup\"},{\"kind\":\"ColumnGroup\"},{\"kind\":\"ColumnGroup\"}],\"nrow\":5,\"ncol\":14},\"kotlin_dataframe\":[{\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"age\":29.0,\"sibsp\":0.0,\"parch\":0.0,\"ticket\":\"24160\",\"fare\":211.3375,\"cabin\":\"B5\",\"boat\":\"2\",\"body\":null,\"homedest\":\"St Louis, MO\",\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sex\":{\"data\":{\"other\":true,\"male\":false,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"age\":0.9167,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"boat\":\"11\",\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sex\":{\"data\":{\"other\":false,\"male\":true,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":false,\"AA\":true,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"age\":2.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sex\":{\"data\":{\"other\":false,\"male\":false,\"female\":true},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"age\":30.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"boat\":null,\"body\":135,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sex\":{\"data\":{\"other\":false,\"male\":true,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"age\":25.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sex\":{\"data\":{\"other\":false,\"male\":false,\"female\":true},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}}]}" }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 26 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:43.697693Z", "start_time": "2025-03-07T11:37:43.564026Z" } }, "source": [ "val df2 = pivoted\n", " // feature extraction\n", " .select { cols(survived, pclass, sibsp, parch, age, fare, sex, embarked) }\n", " .convert { valueCols() }.toDouble()\n", "\n", "df2.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivedpclasssibspparchagefaresexembarked
123othermalefemaleSAACQ
1,000000truefalsefalse0,0000000,00000029,000000211,337500truefalsefalsetruefalsefalsefalse
1,000000truefalsefalse1,0000002,0000000,916700151,550000falsetruefalsefalsetruefalsefalse
0,000000truefalsefalse1,0000002,0000002,000000151,550000falsefalsetruetruefalsefalsefalse
0,000000truefalsefalse1,0000002,00000030,000000151,550000falsetruefalsetruefalsefalsefalse
0,000000truefalsefalse1,0000002,00000025,000000151,550000falsefalsetruetruefalsefalsefalse
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"pclass\",\"sibsp\",\"parch\",\"age\",\"fare\",\"sex\",\"embarked\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ColumnGroup\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ColumnGroup\"},{\"kind\":\"ColumnGroup\"}],\"nrow\":5,\"ncol\":8},\"kotlin_dataframe\":[{\"survived\":1.0,\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sibsp\":0.0,\"parch\":0.0,\"age\":29.0,\"fare\":211.3375,\"sex\":{\"data\":{\"other\":true,\"male\":false,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":1.0,\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sibsp\":1.0,\"parch\":2.0,\"age\":0.9167,\"fare\":151.55,\"sex\":{\"data\":{\"other\":false,\"male\":true,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":false,\"AA\":true,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0.0,\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sibsp\":1.0,\"parch\":2.0,\"age\":2.0,\"fare\":151.55,\"sex\":{\"data\":{\"other\":false,\"male\":false,\"female\":true},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0.0,\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sibsp\":1.0,\"parch\":2.0,\"age\":30.0,\"fare\":151.55,\"sex\":{\"data\":{\"other\":false,\"male\":true,\"female\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}},{\"survived\":0.0,\"pclass\":{\"data\":{\"1\":true,\"2\":false,\"3\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"1\",\"2\",\"3\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"sibsp\":1.0,\"parch\":2.0,\"age\":25.0,\"fare\":151.55,\"sex\":{\"data\":{\"other\":false,\"male\":false,\"female\":true},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"other\",\"male\",\"female\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}},\"embarked\":{\"data\":{\"S\":true,\"AA\":false,\"C\":false,\"Q\":false},\"metadata\":{\"kind\":\"ColumnGroup\",\"columns\":[\"S\",\"AA\",\"C\",\"Q\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"}]}}}]}" }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 27 }, { "cell_type": "code", "source": [ "df2.corr { survived and sibsp and parch and age and fare }.withItself()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:43.760715Z", "start_time": "2025-03-07T11:37:43.726913Z" } }, "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnsurvivedsibspparchagefare
survived1,000000-0,0278250,082660-0,0501990,244208
sibsp-0,0278251,0000000,373587-0,1907470,160224
parch0,0826600,3735871,000000-0,1308720,221522
age-0,050199-0,190747-0,1308721,0000000,171521
fare0,2442080,1602240,2215220,1715211,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"survived\",\"sibsp\",\"parch\",\"age\",\"fare\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":5,\"ncol\":6},\"kotlin_dataframe\":[{\"column\":\"survived\",\"survived\":1.0,\"sibsp\":-0.02782511923058273,\"parch\":0.0826595703861011,\"age\":-0.050198983636982906,\"fare\":0.24420775279437662},{\"column\":\"sibsp\",\"survived\":-0.02782511923058273,\"sibsp\":1.0,\"parch\":0.3735871906264913,\"age\":-0.19074715633383899,\"fare\":0.16022419622116035},{\"column\":\"parch\",\"survived\":0.0826595703861011,\"sibsp\":0.3735871906264913,\"parch\":1.0,\"age\":-0.1308719630307398,\"fare\":0.2215218879995723},{\"column\":\"age\",\"survived\":-0.050198983636982906,\"sibsp\":-0.19074715633383899,\"parch\":-0.1308719630307398,\"age\":1.0,\"fare\":0.17152056539956614},{\"column\":\"fare\",\"survived\":0.24420775279437662,\"sibsp\":0.16022419622116035,\"parch\":0.2215218879995723,\"age\":0.17152056539956614,\"fare\":1.0}]}" }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 28 }, { "cell_type": "code", "source": [ "val correlationTable = df2\n", " .corr { survived and sibsp and parch and age and fare }.withItself()\n", " .gather { allAfter(\"column\") }.into(\"row\", \"value\")\n", "correlationTable" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:43.925150Z", "start_time": "2025-03-07T11:37:43.801412Z" } }, "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnrowvalue
survivedsurvived1,000000
survivedsibsp-0,027825
survivedparch0,082660
survivedage-0,050199
survivedfare0,244208
sibspsurvived-0,027825
sibspsibsp1,000000
sibspparch0,373587
sibspage-0,190747
sibspfare0,160224
parchsurvived0,082660
parchsibsp0,373587
parchparch1,000000
parchage-0,130872
parchfare0,221522
agesurvived-0,050199
agesibsp-0,190747
ageparch-0,130872
ageage1,000000
agefare0,171521
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"row\",\"value\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":25,\"ncol\":3},\"kotlin_dataframe\":[{\"column\":\"survived\",\"row\":\"survived\",\"value\":1.0},{\"column\":\"survived\",\"row\":\"sibsp\",\"value\":-0.02782511923058273},{\"column\":\"survived\",\"row\":\"parch\",\"value\":0.0826595703861011},{\"column\":\"survived\",\"row\":\"age\",\"value\":-0.050198983636982906},{\"column\":\"survived\",\"row\":\"fare\",\"value\":0.24420775279437662},{\"column\":\"sibsp\",\"row\":\"survived\",\"value\":-0.02782511923058273},{\"column\":\"sibsp\",\"row\":\"sibsp\",\"value\":1.0},{\"column\":\"sibsp\",\"row\":\"parch\",\"value\":0.3735871906264913},{\"column\":\"sibsp\",\"row\":\"age\",\"value\":-0.19074715633383899},{\"column\":\"sibsp\",\"row\":\"fare\",\"value\":0.16022419622116035},{\"column\":\"parch\",\"row\":\"survived\",\"value\":0.0826595703861011},{\"column\":\"parch\",\"row\":\"sibsp\",\"value\":0.3735871906264913},{\"column\":\"parch\",\"row\":\"parch\",\"value\":1.0},{\"column\":\"parch\",\"row\":\"age\",\"value\":-0.1308719630307398},{\"column\":\"parch\",\"row\":\"fare\",\"value\":0.2215218879995723},{\"column\":\"age\",\"row\":\"survived\",\"value\":-0.050198983636982906},{\"column\":\"age\",\"row\":\"sibsp\",\"value\":-0.19074715633383899},{\"column\":\"age\",\"row\":\"parch\",\"value\":-0.1308719630307398},{\"column\":\"age\",\"row\":\"age\",\"value\":1.0},{\"column\":\"age\",\"row\":\"fare\",\"value\":0.17152056539956614}]}" }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 29 }, { "cell_type": "code", "source": [ "fun scaleContinuousColorGradientN() = continuousColorGradientN(\n", " gradientColors = listOf(\n", " JetBrainsColors.orange,\n", " JetBrainsColors.lightGrey,\n", " JetBrainsColors.darkGrey,\n", " ), \n", " domainMin = -1.0, \n", " domainMax = 1.0,\n", ")" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:44.004952Z", "start_time": "2025-03-07T11:37:43.978065Z" } }, "outputs": [], "execution_count": 30 }, { "cell_type": "code", "source": [ "correlationTable.plot {\n", " tiles {\n", " x(row) { axis.name = \"\" }\n", " y(column) { axis.name = \"\" }\n", " fillColor(value) { scale = scaleContinuousColorGradientN() }\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:44.076073Z", "start_time": "2025-03-07T11:37:44.011892Z" } }, "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", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " sibsp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " parch\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " fare\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " sibsp\n", " \n", " \n", " \n", " \n", " \n", " \n", " parch\n", " \n", " \n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " fare\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " value\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -1.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": { "column": [ "survived", "survived", "survived", "survived", "survived", "sibsp", "sibsp", "sibsp", "sibsp", "sibsp", "parch", "parch", "parch", "parch", "parch", "age", "age", "age", "age", "age", "fare", "fare", "fare", "fare", "fare" ], "row": [ "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare" ], "value": [ 1.0, -0.02782511923058273, 0.0826595703861011, -0.050198983636982906, 0.24420775279437662, -0.02782511923058273, 1.0, 0.3735871906264913, -0.19074715633383899, 0.16022419622116035, 0.0826595703861011, 0.3735871906264913, 1.0, -0.1308719630307398, 0.2215218879995723, -0.050198983636982906, -0.19074715633383899, -0.1308719630307398, 1.0, 0.17152056539956614, 0.24420775279437662, 0.16022419622116035, 0.2215218879995723, 0.17152056539956614, 1.0 ] }, "kind": "plot", "scales": [ { "aesthetic": "x", "discrete": true, "name": "" }, { "aesthetic": "y", "discrete": true, "name": "" }, { "aesthetic": "fill", "scale_mapper_kind": "color_gradientn", "limits": [ -1.0, 1.0 ], "colors": [ "#ff6632", "#a6a6a6", "#4c4c4c" ] } ], "layers": [ { "mapping": { "x": "row", "y": "column", "fill": "value" }, "stat": "identity", "sampling": "none", "position": "identity", "geom": "tile" } ] }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 31 }, { "cell_type": "code", "source": [ "correlationTable.plot {\n", " points {\n", " size(value) {\n", " legend {\n", " breaks(emptyList())\n", " }\n", " }\n", " symbol = Symbol.SQUARE\n", " x(row) {\n", " axis.name = \"\"\n", " }\n", " y(column) {\n", " axis.name = \"\"\n", " }\n", " color(value) { scale = scaleContinuousColorGradientN() }\n", " }\n", " layout {\n", " style {\n", " panel.grid {\n", " majorLine {\n", " blank = true\n", " }\n", " }\n", " }\n", " size = 500 to 350\n", " }\n", "}" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2025-03-07T11:37:44.189823Z", "start_time": "2025-03-07T11:37:44.099128Z" } }, "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", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " sibsp\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " parch\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " fare\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " survived\n", " \n", " \n", " \n", " \n", " \n", " \n", " sibsp\n", " \n", " \n", " \n", " \n", " \n", " \n", " parch\n", " \n", " \n", " \n", " \n", " \n", " \n", " age\n", " \n", " \n", " \n", " \n", " \n", " \n", " fare\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " value\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -1.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0.5\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 1.0\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " " ], "application/plot+json": { "output_type": "lets_plot_spec", "output": { "mapping": {}, "data": { "column": [ "survived", "survived", "survived", "survived", "survived", "sibsp", "sibsp", "sibsp", "sibsp", "sibsp", "parch", "parch", "parch", "parch", "parch", "age", "age", "age", "age", "age", "fare", "fare", "fare", "fare", "fare" ], "row": [ "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare", "survived", "sibsp", "parch", "age", "fare" ], "value": [ 1.0, -0.02782511923058273, 0.0826595703861011, -0.050198983636982906, 0.24420775279437662, -0.02782511923058273, 1.0, 0.3735871906264913, -0.19074715633383899, 0.16022419622116035, 0.0826595703861011, 0.3735871906264913, 1.0, -0.1308719630307398, 0.2215218879995723, -0.050198983636982906, -0.19074715633383899, -0.1308719630307398, 1.0, 0.17152056539956614, 0.24420775279437662, 0.16022419622116035, 0.2215218879995723, 0.17152056539956614, 1.0 ] }, "ggsize": { "width": 500.0, "height": 350.0 }, "kind": "plot", "scales": [ { "aesthetic": "size", "breaks": [], "limits": [ null, null ] }, { "aesthetic": "x", "discrete": true, "name": "" }, { "aesthetic": "y", "discrete": true, "name": "" }, { "aesthetic": "color", "scale_mapper_kind": "color_gradientn", "limits": [ -1.0, 1.0 ], "colors": [ "#ff6632", "#a6a6a6", "#4c4c4c" ] } ], "layers": [ { "mapping": { "size": "value", "x": "row", "y": "column", "color": "value" }, "stat": "identity", "shape": 15.0, "sampling": "none", "position": "identity", "geom": "point" } ], "theme": { "axis_ontop": false, "axis_ontop_y": false, "axis_ontop_x": false, "panel_grid_major": { "blank": true } } }, "apply_color_scheme": true, "swing_enabled": true } }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Creation of new features\n", "\n", "We suggest to combine both, **Sibsp** and **parch** features, into the new one feature with the name **FamilyNumber** as a simple sum of **sibsp** and **parch**." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.266586Z", "start_time": "2025-03-07T11:37:44.195630Z" } }, "source": [ "val familyDF = df1\n", " .add(\"familyNumber\") { sibsp + parch }\n", "\n", "familyDF.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
pclasssurvivednamesexagesibspparchticketfarecabinembarkedboatbodyhomedestfamilyNumber
11Allen, Miss. Elisabeth Waltonother29,0000000,0000000,00000024160211,337500B5S2nullSt Louis, MO0,000000
11Allison, Master. Hudson Trevormale0,9167001,0000002,000000113781151,550000C22 C26AA11nullMontreal, PQ / Chesterville, ON3,000000
10Allison, Miss. Helen Lorainefemale2,0000001,0000002,000000113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON3,000000
10Allison, Mr. Hudson Joshua Creightonmale30,0000001,0000002,000000113781151,550000C22 C26Snull135Montreal, PQ / Chesterville, ON3,000000
10Allison, Mrs. Hudson J C (Bessie Wald...female25,0000001,0000002,000000113781151,550000C22 C26SnullnullMontreal, PQ / Chesterville, ON3,000000
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"pclass\",\"survived\",\"name\",\"sex\",\"age\",\"sibsp\",\"parch\",\"ticket\",\"fare\",\"cabin\",\"embarked\",\"boat\",\"body\",\"homedest\",\"familyNumber\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":5,\"ncol\":15},\"kotlin_dataframe\":[{\"pclass\":1,\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"sex\":\"other\",\"age\":29.0,\"sibsp\":0.0,\"parch\":0.0,\"ticket\":\"24160\",\"fare\":211.3375,\"cabin\":\"B5\",\"embarked\":\"S\",\"boat\":\"2\",\"body\":null,\"homedest\":\"St Louis, MO\",\"familyNumber\":0.0},{\"pclass\":1,\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"sex\":\"male\",\"age\":0.9167,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"AA\",\"boat\":\"11\",\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"familyNumber\":3.0},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"sex\":\"female\",\"age\":2.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"familyNumber\":3.0},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"sex\":\"male\",\"age\":30.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":135,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"familyNumber\":3.0},{\"pclass\":1,\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"sex\":\"female\",\"age\":25.0,\"sibsp\":1.0,\"parch\":2.0,\"ticket\":\"113781\",\"fare\":151.55,\"cabin\":\"C22 C26\",\"embarked\":\"S\",\"boat\":null,\"body\":null,\"homedest\":\"Montreal, PQ / Chesterville, ON\",\"familyNumber\":3.0}]}" }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 33 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.296497Z", "start_time": "2025-03-07T11:37:44.269359Z" } }, "source": [ "familyDF.corr { familyNumber }.with { survived }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnsurvived
familyNumber0,026876
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":1,\"ncol\":2},\"kotlin_dataframe\":[{\"column\":\"familyNumber\",\"survived\":0.02687643412533192}]}" }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 34 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.349232Z", "start_time": "2025-03-07T11:37:44.319272Z" } }, "source": [ "familyDF.corr { familyNumber }.with { age }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
columnage
familyNumber-0,196996
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"column\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":1,\"ncol\":2},\"kotlin_dataframe\":[{\"column\":\"familyNumber\",\"age\":-0.19699624168458799}]}" }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like the new feature has no influence on the **survived** column, but it has a strong negative correlation with **age**. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Titles\n", "Let's try to extract something from the names. A lot of string in the name column contains special titles, like Done, Mr, Mrs and so on." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.466837Z", "start_time": "2025-03-07T11:37:44.353065Z" } }, "source": [ "val titledDF = df\n", " .select { survived and name }\n", " .add(\"title\") {\n", " name.split(\".\")[0].split(\",\")[1].trim()\n", " }\n", "titledDF.head(100)" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivednametitle
1Allen, Miss. Elisabeth WaltonMiss
1Allison, Master. Hudson TrevorMaster
0Allison, Miss. Helen LoraineMiss
0Allison, Mr. Hudson Joshua CreightonMr
0Allison, Mrs. Hudson J C (Bessie Wald...Mrs
1Anderson, Mr. HarryMr
1Andrews, Miss. Kornelia TheodosiaMiss
0Andrews, Mr. Thomas JrMr
1Appleton, Mrs. Edward Dale (Charlotte...Mrs
0Artagaveytia, Mr. RamonMr
0Astor, Col. John JacobCol
1Astor, Mrs. John Jacob (Madeleine Tal...Mrs
1Aubart, Mme. Leontine PaulineMme
1Barber, Miss. Ellen "Nellie"Miss
1Barkworth, Mr. Algernon Henry WilsonMr
0Baumann, Mr. John DMr
0Baxter, Mr. Quigg EdmondMr
1Baxter, Mrs. James (Helene DeLaudenie...Mrs
1Bazzani, Miss. AlbinaMiss
0Beattie, Mr. ThomsonMr
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"name\",\"title\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":100,\"ncol\":3},\"kotlin_dataframe\":[{\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"title\":\"Miss\"},{\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"title\":\"Master\"},{\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"title\":\"Miss\"},{\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"title\":\"Mr\"},{\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"title\":\"Mrs\"},{\"survived\":1,\"name\":\"Anderson, Mr. Harry\",\"title\":\"Mr\"},{\"survived\":1,\"name\":\"Andrews, Miss. Kornelia Theodosia\",\"title\":\"Miss\"},{\"survived\":0,\"name\":\"Andrews, Mr. Thomas Jr\",\"title\":\"Mr\"},{\"survived\":1,\"name\":\"Appleton, Mrs. Edward Dale (Charlotte Lamson)\",\"title\":\"Mrs\"},{\"survived\":0,\"name\":\"Artagaveytia, Mr. Ramon\",\"title\":\"Mr\"},{\"survived\":0,\"name\":\"Astor, Col. John Jacob\",\"title\":\"Col\"},{\"survived\":1,\"name\":\"Astor, Mrs. John Jacob (Madeleine Talmadge Force)\",\"title\":\"Mrs\"},{\"survived\":1,\"name\":\"Aubart, Mme. Leontine Pauline\",\"title\":\"Mme\"},{\"survived\":1,\"name\":\"Barber, Miss. Ellen \\\"Nellie\\\"\",\"title\":\"Miss\"},{\"survived\":1,\"name\":\"Barkworth, Mr. Algernon Henry Wilson\",\"title\":\"Mr\"},{\"survived\":0,\"name\":\"Baumann, Mr. John D\",\"title\":\"Mr\"},{\"survived\":0,\"name\":\"Baxter, Mr. Quigg Edmond\",\"title\":\"Mr\"},{\"survived\":1,\"name\":\"Baxter, Mrs. James (Helene DeLaudeniere Chaput)\",\"title\":\"Mrs\"},{\"survived\":1,\"name\":\"Bazzani, Miss. Albina\",\"title\":\"Miss\"},{\"survived\":0,\"name\":\"Beattie, Mr. Thomson\",\"title\":\"Mr\"}]}" }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 36 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.531543Z", "start_time": "2025-03-07T11:37:44.510008Z" } }, "source": [ "titledDF.valueCounts { title }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
titlecount
Mr757
Miss260
Mrs197
Master61
Dr8
Rev8
Col4
Major2
Mlle2
Ms2
Mme1
Capt1
Lady1
Sir1
Dona1
Jonkheer1
the Countess1
Don1
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"title\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":18,\"ncol\":2},\"kotlin_dataframe\":[{\"title\":\"Mr\",\"count\":757},{\"title\":\"Miss\",\"count\":260},{\"title\":\"Mrs\",\"count\":197},{\"title\":\"Master\",\"count\":61},{\"title\":\"Dr\",\"count\":8},{\"title\":\"Rev\",\"count\":8},{\"title\":\"Col\",\"count\":4},{\"title\":\"Major\",\"count\":2},{\"title\":\"Mlle\",\"count\":2},{\"title\":\"Ms\",\"count\":2},{\"title\":\"Mme\",\"count\":1},{\"title\":\"Capt\",\"count\":1},{\"title\":\"Lady\",\"count\":1},{\"title\":\"Sir\",\"count\":1},{\"title\":\"Dona\",\"count\":1},{\"title\":\"Jonkheer\",\"count\":1},{\"title\":\"the Countess\",\"count\":1},{\"title\":\"Don\",\"count\":1}]}" }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "New **Title** column contains some rare titles and some titles with typos. Let's clean the data and merge rare titles into one category." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.609763Z", "start_time": "2025-03-07T11:37:44.551639Z" } }, "source": [ "val rareTitles = listOf(\n", " \"Dona\", \"Lady\", \"the Countess\", \"Capt\", \"Col\", \"Don\",\n", " \"Dr\", \"Major\", \"Rev\", \"Sir\", \"Jonkheer\",\n", ")\n", "\n", "val cleanedTitledDF = titledDF.update { title }.with {\n", " when {\n", " it == \"Mlle\" -> \"Miss\"\n", " it == \"Ms\" -> \"Miss\"\n", " it == \"Mme\" -> \"Mrs\"\n", " it in rareTitles -> \"Rare Title\"\n", " else -> it\n", " }\n", "}" ], "outputs": [], "execution_count": 38 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.679927Z", "start_time": "2025-03-07T11:37:44.659290Z" } }, "source": [ "cleanedTitledDF.valueCounts { title }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
titlecount
Mr757
Miss264
Mrs198
Master61
Rare Title29
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"title\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":5,\"ncol\":2},\"kotlin_dataframe\":[{\"title\":\"Mr\",\"count\":757},{\"title\":\"Miss\",\"count\":264},{\"title\":\"Mrs\",\"count\":198},{\"title\":\"Master\",\"count\":61},{\"title\":\"Rare Title\",\"count\":29}]}" }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 39 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now it looks awesome and we have only 5 different titles and could see how it correlates with survival." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.789035Z", "start_time": "2025-03-07T11:37:44.682431Z" } }, "source": [ "val correlations = cleanedTitledDF\n", " .pivotMatches { title }\n", " .corr { title }.with { survived }\n", "correlations" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
titlesurvived
Miss0,306069
Master0,057318
Mr-0,528775
Mrs0,352536
Rare Title-0,000915
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"title\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":5,\"ncol\":2},\"kotlin_dataframe\":[{\"title\":\"Miss\",\"survived\":0.30606871573905226},{\"title\":\"Master\",\"survived\":0.0573179698378937},{\"title\":\"Mr\",\"survived\":-0.5287747518050332},{\"title\":\"Mrs\",\"survived\":0.3525356336629826},{\"title\":\"Rare Title\",\"survived\":-9.149409567074339E-4}]}" }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 40 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.850140Z", "start_time": "2025-03-07T11:37:44.813191Z" } }, "source": [ "correlations\n", " .update { title }.with { it.substringAfter('_') }\n", " .filter { title != \"survived\" }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
titlesurvived
Miss0,306069
Master0,057318
Mr-0,528775
Mrs0,352536
Rare Title-0,000915
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"title\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":5,\"ncol\":2},\"kotlin_dataframe\":[{\"title\":\"Miss\",\"survived\":0.30606871573905226},{\"title\":\"Master\",\"survived\":0.0573179698378937},{\"title\":\"Mr\",\"survived\":-0.5287747518050332},{\"title\":\"Mrs\",\"survived\":0.3525356336629826},{\"title\":\"Rare Title\",\"survived\":-9.149409567074339E-4}]}" }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The women with title **Miss** and **Mrs** have the same chances to survive, but not the same for the men. If you have a title **Mr**, your deals are bad on the Titanic.\n", "\n", "**Rare title** is really rare and doesn't play a big role." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:44.937388Z", "start_time": "2025-03-07T11:37:44.854389Z" } }, "source": [ "val groupedCleanedTitledDF = cleanedTitledDF\n", " .valueCounts { title and survived }\n", " .sortBy { title and survived }\n", "groupedCleanedTitledDF" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
titlesurvivedcount
Master030
Master131
Miss085
Miss1179
Mr0634
Mr1123
Mrs042
Mrs1156
Rare Title018
Rare Title111
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"title\",\"survived\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":10,\"ncol\":3},\"kotlin_dataframe\":[{\"title\":\"Master\",\"survived\":0,\"count\":30},{\"title\":\"Master\",\"survived\":1,\"count\":31},{\"title\":\"Miss\",\"survived\":0,\"count\":85},{\"title\":\"Miss\",\"survived\":1,\"count\":179},{\"title\":\"Mr\",\"survived\":0,\"count\":634},{\"title\":\"Mr\",\"survived\":1,\"count\":123},{\"title\":\"Mrs\",\"survived\":0,\"count\":42},{\"title\":\"Mrs\",\"survived\":1,\"count\":156},{\"title\":\"Rare Title\",\"survived\":0,\"count\":18},{\"title\":\"Rare Title\",\"survived\":1,\"count\":11}]}" }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 42 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Surname's analysis\n", "It's very interesting to dig deeper into families, home destinations, and we could do start this analysis from surnames which could be easily extracted from **Name** feature." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:45.062096Z", "start_time": "2025-03-07T11:37:44.980595Z" } }, "source": [ "val surnameDF = df1\n", " .select { survived and name }\n", " .add(\"surname\") {\n", " name.split(\".\")[0].split(\",\")[0].trim()\n", " }\n", "surnameDF.head()" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
survivednamesurname
1Allen, Miss. Elisabeth WaltonAllen
1Allison, Master. Hudson TrevorAllison
0Allison, Miss. Helen LoraineAllison
0Allison, Mr. Hudson Joshua CreightonAllison
0Allison, Mrs. Hudson J C (Bessie Wald...Allison
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"survived\",\"name\",\"surname\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":5,\"ncol\":3},\"kotlin_dataframe\":[{\"survived\":1,\"name\":\"Allen, Miss. Elisabeth Walton\",\"surname\":\"Allen\"},{\"survived\":1,\"name\":\"Allison, Master. Hudson Trevor\",\"surname\":\"Allison\"},{\"survived\":0,\"name\":\"Allison, Miss. Helen Loraine\",\"surname\":\"Allison\"},{\"survived\":0,\"name\":\"Allison, Mr. Hudson Joshua Creighton\",\"surname\":\"Allison\"},{\"survived\":0,\"name\":\"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)\",\"surname\":\"Allison\"}]}" }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 43 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:45.089415Z", "start_time": "2025-03-07T11:37:45.066345Z" } }, "source": [ "surnameDF.valueCounts { surname }" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
surnamecount
Andersson11
Sage11
Asplund8
Goodwin8
Davies7
Brown6
Carter6
Fortune6
Smith6
Ford6
Johnson6
Panula6
Rice6
Skoog6
Ryerson5
Williams5
Kelly5
Lefebre5
Palsson5
Thomas5
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"surname\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":875,\"ncol\":2},\"kotlin_dataframe\":[{\"surname\":\"Andersson\",\"count\":11},{\"surname\":\"Sage\",\"count\":11},{\"surname\":\"Asplund\",\"count\":8},{\"surname\":\"Goodwin\",\"count\":8},{\"surname\":\"Davies\",\"count\":7},{\"surname\":\"Brown\",\"count\":6},{\"surname\":\"Carter\",\"count\":6},{\"surname\":\"Fortune\",\"count\":6},{\"surname\":\"Smith\",\"count\":6},{\"surname\":\"Ford\",\"count\":6},{\"surname\":\"Johnson\",\"count\":6},{\"surname\":\"Panula\",\"count\":6},{\"surname\":\"Rice\",\"count\":6},{\"surname\":\"Skoog\",\"count\":6},{\"surname\":\"Ryerson\",\"count\":5},{\"surname\":\"Williams\",\"count\":5},{\"surname\":\"Kelly\",\"count\":5},{\"surname\":\"Lefebre\",\"count\":5},{\"surname\":\"Palsson\",\"count\":5},{\"surname\":\"Thomas\",\"count\":5}]}" }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 44 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:45.151864Z", "start_time": "2025-03-07T11:37:45.135207Z" } }, "source": [ "surnameDF.surname.countDistinct()" ], "outputs": [ { "data": { "text/plain": [ "875" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 45 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-03-07T11:37:45.306804Z", "start_time": "2025-03-07T11:37:45.155734Z" } }, "source": [ "val firstSymbol by column()\n", "\n", "df1\n", " .add(firstSymbol) {\n", " name.split(\".\")[0].split(\",\")[0].trim().first().toString()\n", " }\n", " .pivotMatches(firstSymbol)\n", " .corr { firstSymbol }.with { survived }\n" ], "outputs": [ { "data": { "text/html": [ " \n", " \n", " \n", " \n", " \n", " \n", "
firstSymbolsurvived
A-0,017914
B0,050554
C0,009037
D0,051711
E-0,034629
F0,000400
G-0,044483
H0,042187
I-0,008329
J-0,026790
K-0,014219
L-0,021071
M0,019041
N0,028698
O0,000128
P-0,058996
R-0,021941
S-0,020043
T0,052264
U-0,021737
\n", " \n", " \n", " " ], "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"firstSymbol\",\"survived\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":27,\"ncol\":2},\"kotlin_dataframe\":[{\"firstSymbol\":\"A\",\"survived\":-0.01791352622509756},{\"firstSymbol\":\"B\",\"survived\":0.050553943254341316},{\"firstSymbol\":\"C\",\"survived\":0.009037371118975828},{\"firstSymbol\":\"D\",\"survived\":0.05171064357839075},{\"firstSymbol\":\"E\",\"survived\":-0.03462861880002389},{\"firstSymbol\":\"F\",\"survived\":4.002707178710613E-4},{\"firstSymbol\":\"G\",\"survived\":-0.044483069276203296},{\"firstSymbol\":\"H\",\"survived\":0.04218724210575963},{\"firstSymbol\":\"I\",\"survived\":-0.008329183461658642},{\"firstSymbol\":\"J\",\"survived\":-0.026790134975567197},{\"firstSymbol\":\"K\",\"survived\":-0.014218719831367379},{\"firstSymbol\":\"L\",\"survived\":-0.021070982850893608},{\"firstSymbol\":\"M\",\"survived\":0.019040748971095155},{\"firstSymbol\":\"N\",\"survived\":0.02869766040895532},{\"firstSymbol\":\"O\",\"survived\":1.2837933079428644E-4},{\"firstSymbol\":\"P\",\"survived\":-0.05899571294487214},{\"firstSymbol\":\"R\",\"survived\":-0.021940537137738973},{\"firstSymbol\":\"S\",\"survived\":-0.020042889901563117},{\"firstSymbol\":\"T\",\"survived\":0.05226413426840335},{\"firstSymbol\":\"U\",\"survived\":-0.0217373635753353}]}" }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 46 } ], "metadata": { "kernelspec": { "display_name": "Kotlin", "language": "kotlin", "name": "kotlin" }, "language_info": { "codemirror_mode": "text/x-kotlin", "file_extension": ".kt", "mimetype": "text/x-kotlin", "name": "kotlin", "nbconvert_exporter": "", "pygments_lexer": "kotlin", "version": "1.8.20-Beta" }, "ktnbPluginMetadata": { "projectLibraries": [] } }, "nbformat": 4, "nbformat_minor": 1 }