diff --git a/FantasyPremierLeague.ipynb b/FantasyPremierLeague.ipynb index a2865ab..9eb24e5 100644 --- a/FantasyPremierLeague.ipynb +++ b/FantasyPremierLeague.ipynb @@ -3,22 +3,31 @@ { "cell_type": "code", "metadata": { - "collapsed": true + "collapsed": true, + "ExecuteTime": { + "end_time": "2025-02-20T21:58:59.595236Z", + "start_time": "2025-02-20T21:58:55.409224Z" + } }, "source": [ "import dev.johnoreilly.common.data.remote.FantasyPremierLeagueApi\n", - "import dev.johnoreilly.common.di.initKoin\n", + "import dev.johnoreilly.common.di.createHttpClient\n", "import dev.johnoreilly.common.model.Player\n", + "import io.ktor.client.engine.java.*\n", "import kotlinx.coroutines.runBlocking\n", + "import kotlinx.serialization.json.Json\n", "%use kandy\n", "%use dataframe\n", "\n", - "val koin = initKoin().koin\n", - "val api = koin.get()\n", + "\n", + "val json = Json { isLenient = true; ignoreUnknownKeys = true }\n", + "val engine = Java.create()\n", + "val httpClient = createHttpClient(engine, json, true)\n", + "val api = FantasyPremierLeagueApi(httpClient)\n", " " ], "outputs": [], - "execution_count": null + "execution_count": 1 }, { "cell_type": "code", @@ -27,10 +36,14 @@ "val eventStatus = runBlocking { api.fetchEventStatus() }\n" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:00.263552Z", + "start_time": "2025-02-20T21:58:59.602948Z" + } }, "outputs": [], - "execution_count": null + "execution_count": 2 }, { "cell_type": "code", @@ -39,10 +52,14 @@ "val player = players[0]" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:00.419451Z", + "start_time": "2025-02-20T21:59:00.267175Z" + } }, "outputs": [], - "execution_count": null + "execution_count": 3 }, { "cell_type": "code", @@ -50,10 +67,669 @@ "players.toDataFrame()[\"id\", \"web_name\", \"total_points\", \"selected_by_percent\"]" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:00.599506Z", + "start_time": "2025-02-20T21:59:00.425341Z" + } }, - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idweb_nametotal_pointsselected_by_percent
328M.Salah27171.9
182Palmer17561.7
447Wood16344.8
351Haaland15427.4
401Isak15457.9
99Mbeumo15236.1
541Cunha1329.2
58Watkins13120.4
71Kluivert12827.4
311Alexander-Arnold12132.7
327Luis Díaz12117.4
494Maddison1124.3
207Mateta1108.5
443Sels11017.7
247Iwobi1095.4
398Gordon10915.6
422Aina10928.9
180N.Jackson1087.7
235Pickford10818.1
17Saka1078.7
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"id\",\"web_name\",\"total_points\",\"selected_by_percent\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":100,\"ncol\":4},\"kotlin_dataframe\":[{\"id\":328,\"web_name\":\"M.Salah\",\"total_points\":271,\"selected_by_percent\":\"71.9\"},{\"id\":182,\"web_name\":\"Palmer\",\"total_points\":175,\"selected_by_percent\":\"61.7\"},{\"id\":447,\"web_name\":\"Wood\",\"total_points\":163,\"selected_by_percent\":\"44.8\"},{\"id\":351,\"web_name\":\"Haaland\",\"total_points\":154,\"selected_by_percent\":\"27.4\"},{\"id\":401,\"web_name\":\"Isak\",\"total_points\":154,\"selected_by_percent\":\"57.9\"},{\"id\":99,\"web_name\":\"Mbeumo\",\"total_points\":152,\"selected_by_percent\":\"36.1\"},{\"id\":541,\"web_name\":\"Cunha\",\"total_points\":132,\"selected_by_percent\":\"9.2\"},{\"id\":58,\"web_name\":\"Watkins\",\"total_points\":131,\"selected_by_percent\":\"20.4\"},{\"id\":71,\"web_name\":\"Kluivert\",\"total_points\":128,\"selected_by_percent\":\"27.4\"},{\"id\":311,\"web_name\":\"Alexander-Arnold\",\"total_points\":121,\"selected_by_percent\":\"32.7\"},{\"id\":327,\"web_name\":\"Luis Díaz\",\"total_points\":121,\"selected_by_percent\":\"17.4\"},{\"id\":494,\"web_name\":\"Maddison\",\"total_points\":112,\"selected_by_percent\":\"4.3\"},{\"id\":207,\"web_name\":\"Mateta\",\"total_points\":110,\"selected_by_percent\":\"8.5\"},{\"id\":443,\"web_name\":\"Sels\",\"total_points\":110,\"selected_by_percent\":\"17.7\"},{\"id\":247,\"web_name\":\"Iwobi\",\"total_points\":109,\"selected_by_percent\":\"5.4\"},{\"id\":398,\"web_name\":\"Gordon\",\"total_points\":109,\"selected_by_percent\":\"15.6\"},{\"id\":422,\"web_name\":\"Aina\",\"total_points\":109,\"selected_by_percent\":\"28.9\"},{\"id\":180,\"web_name\":\"N.Jackson\",\"total_points\":108,\"selected_by_percent\":\"7.7\"},{\"id\":235,\"web_name\":\"Pickford\",\"total_points\":108,\"selected_by_percent\":\"18.1\"},{\"id\":17,\"web_name\":\"Saka\",\"total_points\":107,\"selected_by_percent\":\"8.7\"}]}" + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 4 }, { "cell_type": "code", @@ -62,10 +738,674 @@ "upcomingFixtures.toDataFrame()" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:00.870940Z", + "start_time": "2025-02-20T21:59:00.609492Z" + } }, - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ideventkickoff_timeteam_hteam_ateam_h_scoreteam_a_scoreteam_h_difficultyteam_a_difficulty
257262025-02-21T20:00:00Z114nullnull22
254262025-02-22T12:30:00Z814nullnull33
251262025-02-22T15:00:00Z119nullnull24
253262025-02-22T15:00:00Z320nullnull23
255262025-02-22T15:00:00Z97nullnull33
256262025-02-22T15:00:00Z1018nullnull32
260262025-02-22T15:00:00Z175nullnull32
252262025-02-22T17:30:00Z26nullnull43
259262025-02-23T14:00:00Z1516nullnull34
258262025-02-23T16:30:00Z1312nullnull54
262272025-02-25T19:30:00Z53nullnull33
263272025-02-25T19:30:00Z72nullnull33
267272025-02-25T19:30:00Z209nullnull32
268272025-02-25T20:15:00Z617nullnull24
261272025-02-26T19:30:00Z48nullnull23
270272025-02-26T19:30:00Z1410nullnull23
264272025-02-26T19:30:00Z161nullnull44
265272025-02-26T19:30:00Z1813nullnull43
269272025-02-26T20:15:00Z1215nullnull35
266272025-02-27T20:00:00Z1911nullnull22
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"id\",\"event\",\"kickoff_time\",\"team_h\",\"team_a\",\"team_h_score\",\"team_a_score\",\"team_h_difficulty\",\"team_a_difficulty\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlinx.datetime.Instant\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":129,\"ncol\":9},\"kotlin_dataframe\":[{\"id\":257,\"event\":26,\"kickoff_time\":\"2025-02-21T20:00:00Z\",\"team_h\":11,\"team_a\":4,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":2},{\"id\":254,\"event\":26,\"kickoff_time\":\"2025-02-22T12:30:00Z\",\"team_h\":8,\"team_a\":14,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":3},{\"id\":251,\"event\":26,\"kickoff_time\":\"2025-02-22T15:00:00Z\",\"team_h\":1,\"team_a\":19,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":4},{\"id\":253,\"event\":26,\"kickoff_time\":\"2025-02-22T15:00:00Z\",\"team_h\":3,\"team_a\":20,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":3},{\"id\":255,\"event\":26,\"kickoff_time\":\"2025-02-22T15:00:00Z\",\"team_h\":9,\"team_a\":7,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":3},{\"id\":256,\"event\":26,\"kickoff_time\":\"2025-02-22T15:00:00Z\",\"team_h\":10,\"team_a\":18,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":2},{\"id\":260,\"event\":26,\"kickoff_time\":\"2025-02-22T15:00:00Z\",\"team_h\":17,\"team_a\":5,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":2},{\"id\":252,\"event\":26,\"kickoff_time\":\"2025-02-22T17:30:00Z\",\"team_h\":2,\"team_a\":6,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":4,\"team_a_difficulty\":3},{\"id\":259,\"event\":26,\"kickoff_time\":\"2025-02-23T14:00:00Z\",\"team_h\":15,\"team_a\":16,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":4},{\"id\":258,\"event\":26,\"kickoff_time\":\"2025-02-23T16:30:00Z\",\"team_h\":13,\"team_a\":12,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":5,\"team_a_difficulty\":4},{\"id\":262,\"event\":27,\"kickoff_time\":\"2025-02-25T19:30:00Z\",\"team_h\":5,\"team_a\":3,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":3},{\"id\":263,\"event\":27,\"kickoff_time\":\"2025-02-25T19:30:00Z\",\"team_h\":7,\"team_a\":2,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":3},{\"id\":267,\"event\":27,\"kickoff_time\":\"2025-02-25T19:30:00Z\",\"team_h\":20,\"team_a\":9,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":2},{\"id\":268,\"event\":27,\"kickoff_time\":\"2025-02-25T20:15:00Z\",\"team_h\":6,\"team_a\":17,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":4},{\"id\":261,\"event\":27,\"kickoff_time\":\"2025-02-26T19:30:00Z\",\"team_h\":4,\"team_a\":8,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":3},{\"id\":270,\"event\":27,\"kickoff_time\":\"2025-02-26T19:30:00Z\",\"team_h\":14,\"team_a\":10,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":3},{\"id\":264,\"event\":27,\"kickoff_time\":\"2025-02-26T19:30:00Z\",\"team_h\":16,\"team_a\":1,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":4,\"team_a_difficulty\":4},{\"id\":265,\"event\":27,\"kickoff_time\":\"2025-02-26T19:30:00Z\",\"team_h\":18,\"team_a\":13,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":4,\"team_a_difficulty\":3},{\"id\":269,\"event\":27,\"kickoff_time\":\"2025-02-26T20:15:00Z\",\"team_h\":12,\"team_a\":15,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":3,\"team_a_difficulty\":5},{\"id\":266,\"event\":27,\"kickoff_time\":\"2025-02-27T20:00:00Z\",\"team_h\":19,\"team_a\":11,\"team_h_score\":null,\"team_a_score\":null,\"team_h_difficulty\":2,\"team_a_difficulty\":2}]}" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 5 }, { "cell_type": "code", @@ -75,10 +1415,14 @@ "val playerHistoryDataFrame = playerHistory.toDataFrame()" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:01.394692Z", + "start_time": "2025-02-20T21:59:00.948216Z" + } }, "outputs": [], - "execution_count": null + "execution_count": 6 }, { "cell_type": "code", @@ -93,10 +1437,518 @@ "}" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:01.720906Z", + "start_time": "2025-02-20T21:59:01.403941Z" + } }, - "outputs": [], - "execution_count": null + "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", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 15\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 25\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 15\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " M.Salah\n", + " \n", + " \n", + " \n", + " \n", + " Points\n", + " \n", + " \n", + " \n", + " \n", + " Fixture\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "ggtitle": { + "text": "M.Salah" + }, + "mapping": {}, + "data": { + "round": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0, + 6.0, + 7.0, + 8.0, + 9.0, + 10.0, + 11.0, + 12.0, + 13.0, + 14.0, + 16.0, + 17.0, + 18.0, + 19.0, + 20.0, + 21.0, + 22.0, + 23.0, + 24.0, + 24.0, + 25.0, + 25.0 + ], + "total_points": [ + 14.0, + 10.0, + 17.0, + 2.0, + 6.0, + 10.0, + 3.0, + 12.0, + 10.0, + 9.0, + 14.0, + 13.0, + 13.0, + 18.0, + 5.0, + 21.0, + 9.0, + 16.0, + 7.0, + 2.0, + 3.0, + 8.0, + 16.0, + 13.0, + 8.0, + 12.0 + ] + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "x", + "name": "Fixture", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "y", + "name": "Points", + "limits": [ + null, + null + ] + } + ], + "layers": [ + { + "mapping": { + "x": "round", + "y": "total_points" + }, + "stat": "identity", + "sampling": "none", + "position": "dodge", + "geom": "bar" + } + ] + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 7 }, { "cell_type": "code", @@ -121,10 +1973,982 @@ "}" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:02.099297Z", + "start_time": "2025-02-20T21:59:01.771067Z" + } }, - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 15\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 25\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 15\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 25\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " M.Salah\n", + " \n", + " \n", + " \n", + " \n", + " total\n", + " \n", + " \n", + " \n", + " \n", + " fixture\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " stat\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " totalPoints\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " goalsScored\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " assists\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "ggtitle": { + "text": "M.Salah" + }, + "mapping": {}, + "data": { + "fixture": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0, + 6.0, + 7.0, + 8.0, + 9.0, + 10.0, + 11.0, + 12.0, + 13.0, + 14.0, + 16.0, + 17.0, + 18.0, + 19.0, + 20.0, + 21.0, + 22.0, + 23.0, + 24.0, + 24.0, + 25.0, + 25.0, + 1.0, + 2.0, + 3.0, + 4.0, + 5.0, + 6.0, + 7.0, + 8.0, + 9.0, + 10.0, + 11.0, + 12.0, + 13.0, + 14.0, + 16.0, + 17.0, + 18.0, + 19.0, + 20.0, + 21.0, + 22.0, + 23.0, + 24.0, + 24.0, + 25.0, + 25.0, + 1.0, + 2.0, + 3.0, + 4.0, + 5.0, + 6.0, + 7.0, + 8.0, + 9.0, + 10.0, + 11.0, + 12.0, + 13.0, + 14.0, + 16.0, + 17.0, + 18.0, + 19.0, + 20.0, + 21.0, + 22.0, + 23.0, + 24.0, + 24.0, + 25.0, + 25.0 + ], + "stat": [ + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists" + ], + "total": [ + 14.0, + 10.0, + 17.0, + 2.0, + 6.0, + 10.0, + 3.0, + 12.0, + 10.0, + 9.0, + 14.0, + 13.0, + 13.0, + 18.0, + 5.0, + 21.0, + 9.0, + 16.0, + 7.0, + 2.0, + 3.0, + 8.0, + 16.0, + 13.0, + 8.0, + 12.0, + 1.0, + 1.0, + 1.0, + 0.0, + 0.0, + 1.0, + 0.0, + 1.0, + 1.0, + 1.0, + 1.0, + 2.0, + 1.0, + 2.0, + 0.0, + 2.0, + 1.0, + 1.0, + 1.0, + 0.0, + 0.0, + 1.0, + 2.0, + 1.0, + 1.0, + 1.0, + 1.0, + 0.0, + 2.0, + 0.0, + 1.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 1.0, + 0.0, + 1.0, + 1.0, + 1.0, + 2.0, + 0.0, + 2.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 1.0 + ], + "&merged_groups": [ + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "totalPoints", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "goalsScored", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists", + "assists" + ] + }, + "ggsize": { + "width": 800.0, + "height": 300.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "x", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "fill", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "x": "fixture", + "y": "total", + "fill": "stat", + "group": "&merged_groups" + }, + "stat": "identity", + "sampling": "none", + "position": "stack", + "geom": "bar" + } + ] + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 8 }, { "cell_type": "code", @@ -132,10 +2956,686 @@ "staticInfo.events.toDataFrame()" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:02.186548Z", + "start_time": "2025-02-20T21:59:02.124513Z" + } }, - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
average_entry_scorechip_playsdata_checkeddeadline_timedeadline_time_epochdeadline_time_game_offsetfinishedhighest_scorehighest_scoring_entryidis_currentis_nextis_previousmost_captainedmost_selectedmost_transferred_inmost_vice_captainednametop_elementtop_element_infotransfers_made
57[ChipPlayDto(chip_name=bboost, num_pl...true2024-08-16T17:30:00Z17238294000true12735462341falsefalsefalse35140127351Gameweek 1328TopElementInfoDto(id=328, points=14)0
69[ChipPlayDto(chip_name=bboost, num_pl...true2024-08-24T10:00:00Z17244936000true15494421262falsefalsefalse351401594401Gameweek 2177TopElementInfoDto(id=177, points=20)13364453
64[ChipPlayDto(chip_name=bboost, num_pl...true2024-08-31T10:00:00Z17250984000true1304301953falsefalsefalse351351177328Gameweek 3328TopElementInfoDto(id=328, points=17)23723836
51[ChipPlayDto(chip_name=bboost, num_pl...true2024-09-14T10:00:00Z17263080000true12035607504falsefalsefalse351351129328Gameweek 4185TopElementInfoDto(id=185, points=15)25930392
58[ChipPlayDto(chip_name=bboost, num_pl...true2024-09-21T10:00:00Z17269128000true13117733365falsefalsefalse35135158351Gameweek 5180TopElementInfoDto(id=180, points=16)13036058
50[ChipPlayDto(chip_name=bboost, num_pl...true2024-09-28T10:00:00Z17275176000true14274799966falsefalsefalse351351327328Gameweek 6182TopElementInfoDto(id=182, points=25)21036913
46[ChipPlayDto(chip_name=bboost, num_pl...true2024-10-05T10:00:00Z17281224000true1307594747falsefalsefalse351351182328Gameweek 7512TopElementInfoDto(id=512, points=18)14594461
36[ChipPlayDto(chip_name=bboost, num_pl...true2024-10-19T10:00:00Z17293320000true9854822328falsefalsefalse351351491328Gameweek 8228TopElementInfoDto(id=228, points=14)11911632
54[ChipPlayDto(chip_name=bboost, num_pl...true2024-10-25T17:30:00Z17298774000true11720394949falsefalsefalse35135199182Gameweek 999TopElementInfoDto(id=99, points=15)10882045
39[ChipPlayDto(chip_name=bboost, num_pl...true2024-11-02T11:00:00Z17305452000true111168965910falsefalsefalse35135199182Gameweek 1082TopElementInfoDto(id=82, points=16)11763382
49[ChipPlayDto(chip_name=bboost, num_pl...true2024-11-09T13:30:00Z17311590000true1361066888811falsefalsefalse351351447328Gameweek 11366TopElementInfoDto(id=366, points=17)11631910
49[ChipPlayDto(chip_name=bboost, num_pl...true2024-11-23T11:00:00Z17323596000true128744080612falsefalsefalse351351366182Gameweek 12541TopElementInfoDto(id=541, points=16)13315756
60[ChipPlayDto(chip_name=bboost, num_pl...true2024-11-29T18:30:00Z17329050000true144192951113falsefalsefalse328328541182Gameweek 13106TopElementInfoDto(id=106, points=23)10651205
58[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-03T18:00:00Z17332488000true132296430714falsefalsefalse351328180328Gameweek 14328TopElementInfoDto(id=328, points=18)10912413
50[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-07T11:00:00Z17335692000true119739973715falsefalsefalse32818217182Gameweek 15182TopElementInfoDto(id=182, points=18)10409133
47[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-14T13:30:00Z17341830000true119514222116falsefalsefalse328328401182Gameweek 16585TopElementInfoDto(id=585, points=17)10586275
60[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-21T11:00:00Z17347788000true151491738417falsefalsefalse328182364182Gameweek 17328TopElementInfoDto(id=328, points=21)10405730
51[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-26T11:00:00Z17352108000true118270186618falsefalsefalse328328401182Gameweek 18403TopElementInfoDto(id=403, points=13)13895381
66[ChipPlayDto(chip_name=bboost, num_pl...true2024-12-29T13:00:00Z17354772000true142319142119falsefalsefalse328182401182Gameweek 19328TopElementInfoDto(id=328, points=16)10957444
60[ChipPlayDto(chip_name=bboost, num_pl...true2025-01-04T11:00:00Z17359884000true136124754120falsefalsefalse328328447182Gameweek 2099TopElementInfoDto(id=99, points=19)13978697
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"average_entry_score\",\"chip_plays\",\"data_checked\",\"deadline_time\",\"deadline_time_epoch\",\"deadline_time_game_offset\",\"finished\",\"highest_score\",\"highest_scoring_entry\",\"id\",\"is_current\",\"is_next\",\"is_previous\",\"most_captained\",\"most_selected\",\"most_transferred_in\",\"most_vice_captained\",\"name\",\"top_element\",\"top_element_info\",\"transfers_made\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.collections.List\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"},{\"kind\":\"ValueColumn\",\"type\":\"dev.johnoreilly.common.data.model.TopElementInfoDto?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":38,\"ncol\":21},\"kotlin_dataframe\":[{\"average_entry_score\":57,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=144974)\",\"ChipPlayDto(chip_name=3xc, num_played=221430)\"],\"data_checked\":true,\"deadline_time\":\"2024-08-16T17:30:00Z\",\"deadline_time_epoch\":1723829400,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":127,\"highest_scoring_entry\":3546234,\"id\":1,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":401,\"most_transferred_in\":27,\"most_vice_captained\":351,\"name\":\"Gameweek 1\",\"top_element\":328,\"top_element_info\":\"TopElementInfoDto(id=328, points=14)\",\"transfers_made\":0},{\"average_entry_score\":69,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=118782)\",\"ChipPlayDto(chip_name=freehit, num_played=102788)\",\"ChipPlayDto(chip_name=wildcard, num_played=217521)\",\"ChipPlayDto(chip_name=3xc, num_played=612384)\"],\"data_checked\":true,\"deadline_time\":\"2024-08-24T10:00:00Z\",\"deadline_time_epoch\":1724493600,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":154,\"highest_scoring_entry\":9442126,\"id\":2,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":401,\"most_transferred_in\":594,\"most_vice_captained\":401,\"name\":\"Gameweek 2\",\"top_element\":177,\"top_element_info\":\"TopElementInfoDto(id=177, points=20)\",\"transfers_made\":13364453},{\"average_entry_score\":64,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=87334)\",\"ChipPlayDto(chip_name=freehit, num_played=140192)\",\"ChipPlayDto(chip_name=wildcard, num_played=656652)\",\"ChipPlayDto(chip_name=3xc, num_played=186907)\"],\"data_checked\":true,\"deadline_time\":\"2024-08-31T10:00:00Z\",\"deadline_time_epoch\":1725098400,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":130,\"highest_scoring_entry\":430195,\"id\":3,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":177,\"most_vice_captained\":328,\"name\":\"Gameweek 3\",\"top_element\":328,\"top_element_info\":\"TopElementInfoDto(id=328, points=17)\",\"transfers_made\":23723836},{\"average_entry_score\":51,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=83637)\",\"ChipPlayDto(chip_name=freehit, num_played=125561)\",\"ChipPlayDto(chip_name=wildcard, num_played=940783)\",\"ChipPlayDto(chip_name=3xc, num_played=199688)\"],\"data_checked\":true,\"deadline_time\":\"2024-09-14T10:00:00Z\",\"deadline_time_epoch\":1726308000,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":120,\"highest_scoring_entry\":3560750,\"id\":4,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":129,\"most_vice_captained\":328,\"name\":\"Gameweek 4\",\"top_element\":185,\"top_element_info\":\"TopElementInfoDto(id=185, points=15)\",\"transfers_made\":25930392},{\"average_entry_score\":58,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=66447)\",\"ChipPlayDto(chip_name=freehit, num_played=79498)\",\"ChipPlayDto(chip_name=wildcard, num_played=311710)\",\"ChipPlayDto(chip_name=3xc, num_played=71288)\"],\"data_checked\":true,\"deadline_time\":\"2024-09-21T10:00:00Z\",\"deadline_time_epoch\":1726912800,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":131,\"highest_scoring_entry\":1773336,\"id\":5,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":58,\"most_vice_captained\":351,\"name\":\"Gameweek 5\",\"top_element\":180,\"top_element_info\":\"TopElementInfoDto(id=180, points=16)\",\"transfers_made\":13036058},{\"average_entry_score\":50,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=62665)\",\"ChipPlayDto(chip_name=freehit, num_played=84229)\",\"ChipPlayDto(chip_name=wildcard, num_played=663489)\",\"ChipPlayDto(chip_name=3xc, num_played=83406)\"],\"data_checked\":true,\"deadline_time\":\"2024-09-28T10:00:00Z\",\"deadline_time_epoch\":1727517600,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":142,\"highest_scoring_entry\":7479996,\"id\":6,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":327,\"most_vice_captained\":328,\"name\":\"Gameweek 6\",\"top_element\":182,\"top_element_info\":\"TopElementInfoDto(id=182, points=25)\",\"transfers_made\":21036913},{\"average_entry_score\":46,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=54778)\",\"ChipPlayDto(chip_name=freehit, num_played=81146)\",\"ChipPlayDto(chip_name=wildcard, num_played=308835)\",\"ChipPlayDto(chip_name=3xc, num_played=140205)\"],\"data_checked\":true,\"deadline_time\":\"2024-10-05T10:00:00Z\",\"deadline_time_epoch\":1728122400,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":130,\"highest_scoring_entry\":759474,\"id\":7,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":182,\"most_vice_captained\":328,\"name\":\"Gameweek 7\",\"top_element\":512,\"top_element_info\":\"TopElementInfoDto(id=512, points=18)\",\"transfers_made\":14594461},{\"average_entry_score\":36,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=65446)\",\"ChipPlayDto(chip_name=freehit, num_played=64301)\",\"ChipPlayDto(chip_name=wildcard, num_played=221063)\",\"ChipPlayDto(chip_name=3xc, num_played=111602)\"],\"data_checked\":true,\"deadline_time\":\"2024-10-19T10:00:00Z\",\"deadline_time_epoch\":1729332000,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":98,\"highest_scoring_entry\":5482232,\"id\":8,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":491,\"most_vice_captained\":328,\"name\":\"Gameweek 8\",\"top_element\":228,\"top_element_info\":\"TopElementInfoDto(id=228, points=14)\",\"transfers_made\":11911632},{\"average_entry_score\":54,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=51136)\",\"ChipPlayDto(chip_name=freehit, num_played=71811)\",\"ChipPlayDto(chip_name=wildcard, num_played=158486)\",\"ChipPlayDto(chip_name=3xc, num_played=330035)\"],\"data_checked\":true,\"deadline_time\":\"2024-10-25T17:30:00Z\",\"deadline_time_epoch\":1729877400,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":117,\"highest_scoring_entry\":2039494,\"id\":9,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":99,\"most_vice_captained\":182,\"name\":\"Gameweek 9\",\"top_element\":99,\"top_element_info\":\"TopElementInfoDto(id=99, points=15)\",\"transfers_made\":10882045},{\"average_entry_score\":39,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=75823)\",\"ChipPlayDto(chip_name=freehit, num_played=70729)\",\"ChipPlayDto(chip_name=wildcard, num_played=162964)\",\"ChipPlayDto(chip_name=3xc, num_played=85359)\"],\"data_checked\":true,\"deadline_time\":\"2024-11-02T11:00:00Z\",\"deadline_time_epoch\":1730545200,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":111,\"highest_scoring_entry\":1689659,\"id\":10,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":99,\"most_vice_captained\":182,\"name\":\"Gameweek 10\",\"top_element\":82,\"top_element_info\":\"TopElementInfoDto(id=82, points=16)\",\"transfers_made\":11763382},{\"average_entry_score\":49,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=79875)\",\"ChipPlayDto(chip_name=freehit, num_played=84689)\",\"ChipPlayDto(chip_name=wildcard, num_played=138253)\",\"ChipPlayDto(chip_name=3xc, num_played=52784)\"],\"data_checked\":true,\"deadline_time\":\"2024-11-09T13:30:00Z\",\"deadline_time_epoch\":1731159000,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":136,\"highest_scoring_entry\":10668888,\"id\":11,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":447,\"most_vice_captained\":328,\"name\":\"Gameweek 11\",\"top_element\":366,\"top_element_info\":\"TopElementInfoDto(id=366, points=17)\",\"transfers_made\":11631910},{\"average_entry_score\":49,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=59590)\",\"ChipPlayDto(chip_name=freehit, num_played=89443)\",\"ChipPlayDto(chip_name=wildcard, num_played=252772)\",\"ChipPlayDto(chip_name=3xc, num_played=111773)\"],\"data_checked\":true,\"deadline_time\":\"2024-11-23T11:00:00Z\",\"deadline_time_epoch\":1732359600,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":128,\"highest_scoring_entry\":7440806,\"id\":12,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":351,\"most_transferred_in\":366,\"most_vice_captained\":182,\"name\":\"Gameweek 12\",\"top_element\":541,\"top_element_info\":\"TopElementInfoDto(id=541, points=16)\",\"transfers_made\":13315756},{\"average_entry_score\":60,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=57138)\",\"ChipPlayDto(chip_name=freehit, num_played=71881)\",\"ChipPlayDto(chip_name=wildcard, num_played=144095)\",\"ChipPlayDto(chip_name=3xc, num_played=44722)\"],\"data_checked\":true,\"deadline_time\":\"2024-11-29T18:30:00Z\",\"deadline_time_epoch\":1732905000,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":144,\"highest_scoring_entry\":1929511,\"id\":13,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":328,\"most_transferred_in\":541,\"most_vice_captained\":182,\"name\":\"Gameweek 13\",\"top_element\":106,\"top_element_info\":\"TopElementInfoDto(id=106, points=23)\",\"transfers_made\":10651205},{\"average_entry_score\":58,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=58057)\",\"ChipPlayDto(chip_name=freehit, num_played=60749)\",\"ChipPlayDto(chip_name=wildcard, num_played=141083)\",\"ChipPlayDto(chip_name=3xc, num_played=80792)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-03T18:00:00Z\",\"deadline_time_epoch\":1733248800,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":132,\"highest_scoring_entry\":2964307,\"id\":14,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":351,\"most_selected\":328,\"most_transferred_in\":180,\"most_vice_captained\":328,\"name\":\"Gameweek 14\",\"top_element\":328,\"top_element_info\":\"TopElementInfoDto(id=328, points=18)\",\"transfers_made\":10912413},{\"average_entry_score\":50,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=46111)\",\"ChipPlayDto(chip_name=freehit, num_played=102956)\",\"ChipPlayDto(chip_name=wildcard, num_played=98439)\",\"ChipPlayDto(chip_name=3xc, num_played=72929)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-07T11:00:00Z\",\"deadline_time_epoch\":1733569200,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":119,\"highest_scoring_entry\":7399737,\"id\":15,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":182,\"most_transferred_in\":17,\"most_vice_captained\":182,\"name\":\"Gameweek 15\",\"top_element\":182,\"top_element_info\":\"TopElementInfoDto(id=182, points=18)\",\"transfers_made\":10409133},{\"average_entry_score\":47,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=72296)\",\"ChipPlayDto(chip_name=freehit, num_played=56121)\",\"ChipPlayDto(chip_name=wildcard, num_played=120570)\",\"ChipPlayDto(chip_name=3xc, num_played=100883)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-14T13:30:00Z\",\"deadline_time_epoch\":1734183000,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":119,\"highest_scoring_entry\":5142221,\"id\":16,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":328,\"most_transferred_in\":401,\"most_vice_captained\":182,\"name\":\"Gameweek 16\",\"top_element\":585,\"top_element_info\":\"TopElementInfoDto(id=585, points=17)\",\"transfers_made\":10586275},{\"average_entry_score\":60,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=80801)\",\"ChipPlayDto(chip_name=freehit, num_played=59644)\",\"ChipPlayDto(chip_name=wildcard, num_played=136974)\",\"ChipPlayDto(chip_name=3xc, num_played=55811)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-21T11:00:00Z\",\"deadline_time_epoch\":1734778800,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":151,\"highest_scoring_entry\":4917384,\"id\":17,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":182,\"most_transferred_in\":364,\"most_vice_captained\":182,\"name\":\"Gameweek 17\",\"top_element\":328,\"top_element_info\":\"TopElementInfoDto(id=328, points=21)\",\"transfers_made\":10405730},{\"average_entry_score\":51,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=97727)\",\"ChipPlayDto(chip_name=freehit, num_played=83399)\",\"ChipPlayDto(chip_name=wildcard, num_played=374001)\",\"ChipPlayDto(chip_name=3xc, num_played=202796)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-26T11:00:00Z\",\"deadline_time_epoch\":1735210800,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":118,\"highest_scoring_entry\":2701866,\"id\":18,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":328,\"most_transferred_in\":401,\"most_vice_captained\":182,\"name\":\"Gameweek 18\",\"top_element\":403,\"top_element_info\":\"TopElementInfoDto(id=403, points=13)\",\"transfers_made\":13895381},{\"average_entry_score\":66,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=83841)\",\"ChipPlayDto(chip_name=freehit, num_played=62471)\",\"ChipPlayDto(chip_name=wildcard, num_played=427439)\",\"ChipPlayDto(chip_name=3xc, num_played=67924)\"],\"data_checked\":true,\"deadline_time\":\"2024-12-29T13:00:00Z\",\"deadline_time_epoch\":1735477200,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":142,\"highest_scoring_entry\":3191421,\"id\":19,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":182,\"most_transferred_in\":401,\"most_vice_captained\":182,\"name\":\"Gameweek 19\",\"top_element\":328,\"top_element_info\":\"TopElementInfoDto(id=328, points=16)\",\"transfers_made\":10957444},{\"average_entry_score\":60,\"chip_plays\":[\"ChipPlayDto(chip_name=bboost, num_played=73435)\",\"ChipPlayDto(chip_name=freehit, num_played=67748)\",\"ChipPlayDto(chip_name=wildcard, num_played=412768)\",\"ChipPlayDto(chip_name=3xc, num_played=141464)\"],\"data_checked\":true,\"deadline_time\":\"2025-01-04T11:00:00Z\",\"deadline_time_epoch\":1735988400,\"deadline_time_game_offset\":0,\"finished\":true,\"highest_score\":136,\"highest_scoring_entry\":1247541,\"id\":20,\"is_current\":false,\"is_next\":false,\"is_previous\":false,\"most_captained\":328,\"most_selected\":328,\"most_transferred_in\":447,\"most_vice_captained\":182,\"name\":\"Gameweek 20\",\"top_element\":99,\"top_element_info\":\"TopElementInfoDto(id=99, points=19)\",\"transfers_made\":13978697}]}" + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 9 }, { "cell_type": "code", @@ -143,16 +3643,695 @@ "staticInfo.teams.toDataFrame()" ], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:02.262652Z", + "start_time": "2025-02-20T21:59:02.211372Z" + } }, - "outputs": [], - "execution_count": null + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
codedrawformidlossnameplayedpointspositionpulse_idshort_namestrengthstrength_attack_awaystrength_attack_homestrength_defence_awaystrength_defence_homestrength_overall_awaystrength_overall_homeunavailablewin
30null10Arsenal0021ARS4137012201300125013351235false0
70null20Aston Villa0092AVL3116010801270114012151110false0
910null30Bournemouth005127BOU4117011301260126012151195false0
940null40Brentford0011130BRE3108010801310112011951100false0
360null50Brighton0010131BHA3114011201160116011501140false0
80null60Chelsea0064CHE4115011501320131012351230false0
310null70Crystal Palace00136CRY3114011401120112011301130false0
110null80Everton00147EVE3114011301100107011251095false0
540null90Fulham00834FUL3115011501150115011501150false0
400null100Ipswich00188IPS3107010701080108010751075false0
130null110Leicester001926LEI3108010601090109010851075false0
140null120Liverpool00110LIV5135013401370137013601355false0
430null130Man City00411MCI4115011401350132012501230false0
10null140Man Utd001512MUN3112011201160111011401115false0
40null150Newcastle00723NEW4115011401300125012251195false0
170null160Nott'm Forest00315NFO4125012001190119012201195false0
200null170Southampton002020SOU2105010501080106010651055false0
60null180Spurs001221TOT3109010901280121011851150false0
210null190West Ham001625WHU3108010801120111011001095false0
390null200Wolves001738WOL3107010701120112010951095false0
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"code\",\"draw\",\"form\",\"id\",\"loss\",\"name\",\"played\",\"points\",\"position\",\"pulse_id\",\"short_name\",\"strength\",\"strength_attack_away\",\"strength_attack_home\",\"strength_defence_away\",\"strength_defence_home\",\"strength_overall_away\",\"strength_overall_home\",\"unavailable\",\"win\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Boolean\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":20,\"ncol\":20},\"kotlin_dataframe\":[{\"code\":3,\"draw\":0,\"form\":null,\"id\":1,\"loss\":0,\"name\":\"Arsenal\",\"played\":0,\"points\":0,\"position\":2,\"pulse_id\":1,\"short_name\":\"ARS\",\"strength\":4,\"strength_attack_away\":1370,\"strength_attack_home\":1220,\"strength_defence_away\":1300,\"strength_defence_home\":1250,\"strength_overall_away\":1335,\"strength_overall_home\":1235,\"unavailable\":false,\"win\":0},{\"code\":7,\"draw\":0,\"form\":null,\"id\":2,\"loss\":0,\"name\":\"Aston Villa\",\"played\":0,\"points\":0,\"position\":9,\"pulse_id\":2,\"short_name\":\"AVL\",\"strength\":3,\"strength_attack_away\":1160,\"strength_attack_home\":1080,\"strength_defence_away\":1270,\"strength_defence_home\":1140,\"strength_overall_away\":1215,\"strength_overall_home\":1110,\"unavailable\":false,\"win\":0},{\"code\":91,\"draw\":0,\"form\":null,\"id\":3,\"loss\":0,\"name\":\"Bournemouth\",\"played\":0,\"points\":0,\"position\":5,\"pulse_id\":127,\"short_name\":\"BOU\",\"strength\":4,\"strength_attack_away\":1170,\"strength_attack_home\":1130,\"strength_defence_away\":1260,\"strength_defence_home\":1260,\"strength_overall_away\":1215,\"strength_overall_home\":1195,\"unavailable\":false,\"win\":0},{\"code\":94,\"draw\":0,\"form\":null,\"id\":4,\"loss\":0,\"name\":\"Brentford\",\"played\":0,\"points\":0,\"position\":11,\"pulse_id\":130,\"short_name\":\"BRE\",\"strength\":3,\"strength_attack_away\":1080,\"strength_attack_home\":1080,\"strength_defence_away\":1310,\"strength_defence_home\":1120,\"strength_overall_away\":1195,\"strength_overall_home\":1100,\"unavailable\":false,\"win\":0},{\"code\":36,\"draw\":0,\"form\":null,\"id\":5,\"loss\":0,\"name\":\"Brighton\",\"played\":0,\"points\":0,\"position\":10,\"pulse_id\":131,\"short_name\":\"BHA\",\"strength\":3,\"strength_attack_away\":1140,\"strength_attack_home\":1120,\"strength_defence_away\":1160,\"strength_defence_home\":1160,\"strength_overall_away\":1150,\"strength_overall_home\":1140,\"unavailable\":false,\"win\":0},{\"code\":8,\"draw\":0,\"form\":null,\"id\":6,\"loss\":0,\"name\":\"Chelsea\",\"played\":0,\"points\":0,\"position\":6,\"pulse_id\":4,\"short_name\":\"CHE\",\"strength\":4,\"strength_attack_away\":1150,\"strength_attack_home\":1150,\"strength_defence_away\":1320,\"strength_defence_home\":1310,\"strength_overall_away\":1235,\"strength_overall_home\":1230,\"unavailable\":false,\"win\":0},{\"code\":31,\"draw\":0,\"form\":null,\"id\":7,\"loss\":0,\"name\":\"Crystal Palace\",\"played\":0,\"points\":0,\"position\":13,\"pulse_id\":6,\"short_name\":\"CRY\",\"strength\":3,\"strength_attack_away\":1140,\"strength_attack_home\":1140,\"strength_defence_away\":1120,\"strength_defence_home\":1120,\"strength_overall_away\":1130,\"strength_overall_home\":1130,\"unavailable\":false,\"win\":0},{\"code\":11,\"draw\":0,\"form\":null,\"id\":8,\"loss\":0,\"name\":\"Everton\",\"played\":0,\"points\":0,\"position\":14,\"pulse_id\":7,\"short_name\":\"EVE\",\"strength\":3,\"strength_attack_away\":1140,\"strength_attack_home\":1130,\"strength_defence_away\":1100,\"strength_defence_home\":1070,\"strength_overall_away\":1125,\"strength_overall_home\":1095,\"unavailable\":false,\"win\":0},{\"code\":54,\"draw\":0,\"form\":null,\"id\":9,\"loss\":0,\"name\":\"Fulham\",\"played\":0,\"points\":0,\"position\":8,\"pulse_id\":34,\"short_name\":\"FUL\",\"strength\":3,\"strength_attack_away\":1150,\"strength_attack_home\":1150,\"strength_defence_away\":1150,\"strength_defence_home\":1150,\"strength_overall_away\":1150,\"strength_overall_home\":1150,\"unavailable\":false,\"win\":0},{\"code\":40,\"draw\":0,\"form\":null,\"id\":10,\"loss\":0,\"name\":\"Ipswich\",\"played\":0,\"points\":0,\"position\":18,\"pulse_id\":8,\"short_name\":\"IPS\",\"strength\":3,\"strength_attack_away\":1070,\"strength_attack_home\":1070,\"strength_defence_away\":1080,\"strength_defence_home\":1080,\"strength_overall_away\":1075,\"strength_overall_home\":1075,\"unavailable\":false,\"win\":0},{\"code\":13,\"draw\":0,\"form\":null,\"id\":11,\"loss\":0,\"name\":\"Leicester\",\"played\":0,\"points\":0,\"position\":19,\"pulse_id\":26,\"short_name\":\"LEI\",\"strength\":3,\"strength_attack_away\":1080,\"strength_attack_home\":1060,\"strength_defence_away\":1090,\"strength_defence_home\":1090,\"strength_overall_away\":1085,\"strength_overall_home\":1075,\"unavailable\":false,\"win\":0},{\"code\":14,\"draw\":0,\"form\":null,\"id\":12,\"loss\":0,\"name\":\"Liverpool\",\"played\":0,\"points\":0,\"position\":1,\"pulse_id\":10,\"short_name\":\"LIV\",\"strength\":5,\"strength_attack_away\":1350,\"strength_attack_home\":1340,\"strength_defence_away\":1370,\"strength_defence_home\":1370,\"strength_overall_away\":1360,\"strength_overall_home\":1355,\"unavailable\":false,\"win\":0},{\"code\":43,\"draw\":0,\"form\":null,\"id\":13,\"loss\":0,\"name\":\"Man City\",\"played\":0,\"points\":0,\"position\":4,\"pulse_id\":11,\"short_name\":\"MCI\",\"strength\":4,\"strength_attack_away\":1150,\"strength_attack_home\":1140,\"strength_defence_away\":1350,\"strength_defence_home\":1320,\"strength_overall_away\":1250,\"strength_overall_home\":1230,\"unavailable\":false,\"win\":0},{\"code\":1,\"draw\":0,\"form\":null,\"id\":14,\"loss\":0,\"name\":\"Man Utd\",\"played\":0,\"points\":0,\"position\":15,\"pulse_id\":12,\"short_name\":\"MUN\",\"strength\":3,\"strength_attack_away\":1120,\"strength_attack_home\":1120,\"strength_defence_away\":1160,\"strength_defence_home\":1110,\"strength_overall_away\":1140,\"strength_overall_home\":1115,\"unavailable\":false,\"win\":0},{\"code\":4,\"draw\":0,\"form\":null,\"id\":15,\"loss\":0,\"name\":\"Newcastle\",\"played\":0,\"points\":0,\"position\":7,\"pulse_id\":23,\"short_name\":\"NEW\",\"strength\":4,\"strength_attack_away\":1150,\"strength_attack_home\":1140,\"strength_defence_away\":1300,\"strength_defence_home\":1250,\"strength_overall_away\":1225,\"strength_overall_home\":1195,\"unavailable\":false,\"win\":0},{\"code\":17,\"draw\":0,\"form\":null,\"id\":16,\"loss\":0,\"name\":\"Nott'm Forest\",\"played\":0,\"points\":0,\"position\":3,\"pulse_id\":15,\"short_name\":\"NFO\",\"strength\":4,\"strength_attack_away\":1250,\"strength_attack_home\":1200,\"strength_defence_away\":1190,\"strength_defence_home\":1190,\"strength_overall_away\":1220,\"strength_overall_home\":1195,\"unavailable\":false,\"win\":0},{\"code\":20,\"draw\":0,\"form\":null,\"id\":17,\"loss\":0,\"name\":\"Southampton\",\"played\":0,\"points\":0,\"position\":20,\"pulse_id\":20,\"short_name\":\"SOU\",\"strength\":2,\"strength_attack_away\":1050,\"strength_attack_home\":1050,\"strength_defence_away\":1080,\"strength_defence_home\":1060,\"strength_overall_away\":1065,\"strength_overall_home\":1055,\"unavailable\":false,\"win\":0},{\"code\":6,\"draw\":0,\"form\":null,\"id\":18,\"loss\":0,\"name\":\"Spurs\",\"played\":0,\"points\":0,\"position\":12,\"pulse_id\":21,\"short_name\":\"TOT\",\"strength\":3,\"strength_attack_away\":1090,\"strength_attack_home\":1090,\"strength_defence_away\":1280,\"strength_defence_home\":1210,\"strength_overall_away\":1185,\"strength_overall_home\":1150,\"unavailable\":false,\"win\":0},{\"code\":21,\"draw\":0,\"form\":null,\"id\":19,\"loss\":0,\"name\":\"West Ham\",\"played\":0,\"points\":0,\"position\":16,\"pulse_id\":25,\"short_name\":\"WHU\",\"strength\":3,\"strength_attack_away\":1080,\"strength_attack_home\":1080,\"strength_defence_away\":1120,\"strength_defence_home\":1110,\"strength_overall_away\":1100,\"strength_overall_home\":1095,\"unavailable\":false,\"win\":0},{\"code\":39,\"draw\":0,\"form\":null,\"id\":20,\"loss\":0,\"name\":\"Wolves\",\"played\":0,\"points\":0,\"position\":17,\"pulse_id\":38,\"short_name\":\"WOL\",\"strength\":3,\"strength_attack_away\":1070,\"strength_attack_home\":1070,\"strength_defence_away\":1120,\"strength_defence_home\":1120,\"strength_overall_away\":1095,\"strength_overall_home\":1095,\"unavailable\":false,\"win\":0}]}" + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 10 }, { "cell_type": "code", "source": [], "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-02-20T21:59:02.316991Z", + "start_time": "2025-02-20T21:59:02.315563Z" + } }, "outputs": [], "execution_count": null @@ -175,9 +4354,9 @@ }, "ktnbPluginMetadata": { "projectDependencies": [ - "FantasyPremierLeague.common.commonMain", - "FantasyPremierLeague.common.jvmMain" - ] + "github.FantasyPremierLeague.common.jvmMain" + ], + "projectLibraries": false } }, "nbformat": 4,