{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 1;\n", " var nbb_unformatted_code = \"%load_ext nb_black\\nimport pandas as pd\\nimport numpy as np\\nimport altair as alt\";\n", " var nbb_formatted_code = \"%load_ext nb_black\\nimport pandas as pd\\nimport numpy as np\\nimport altair as alt\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%load_ext nb_black\n", "import pandas as pd\n", "import numpy as np\n", "import altair as alt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
players_foundplayers_totalplayers_capturedextra_players_capturedstartstopversioncommentcomment_2length...top200_cutofftop64_cutoffrichnessshannon_diversitydominancesimpsonpro_players_per_daytop2860_matches_per_dayseason_readableYear
season
M2_01 Wolf 20202905299796.93026432.8467152020-01-082020-02-045.0Release Merchants of OfirMerchant of Ofir was released before this season27...987210061792.9114510.1097160.89028492.48148125888.740741Wolf 20202020
M2_02 Love 20203984488381.58918755.5610482020-02-042020-03-035.1Balance patch28...995210117732.7849070.1245850.875415156.53571427452.571429Love 20202020
M2_03 Bear 20204772663271.95416250.6892902020-03-032020-04-025.2/5.2.9/6.0Balance patchThe Android release happend the end of the season30...999510204742.7703970.1238290.876171204.40000028726.100000Bear 20202020
M2_04 Elf 202060701020959.45734243.6794122020-04-022020-05-056.1New Leader Abilities & Start Geralt JourneyHidden Cache, ...33...1008710293782.9216090.1052080.894792294.21212130427.363636Elf 20202020
M2_05 Viper 202059771007959.30151843.1777252020-05-052020-06-026.2Balance patch28...1002810255822.9750210.1069550.893045342.10714330683.571429Viper 20202020
M2_06 Magic 20206104991961.53846245.9555182020-06-022020-06-306.3Bug Fixes only28...1000210191793.0282160.1004040.899596336.39285728304.035714Magic 20202020
M2_07 Griffin 202073721479149.84112037.8174502020-06-302020-08-047.0Release Master Mirror35...1010010289803.0856210.0923510.907649408.31428628457.600000Griffin 20202020
M2_08 Draconid 202070371380050.99275438.1809872020-08-042020-09-017.1Start Ciri Journey28...1006110246833.0435510.0972570.902743475.00000029894.464286Draconid 20202020
M2_09 Dryad 202070561455448.48151735.8816492020-09-012020-10-017.2Overhaul leader abilitiesRemoval of Second Wind, Call to Harmony, ... I...30...1004610183833.0710020.0936580.906342468.46666728469.766667Dryad 20202020
M2_10 Cat 202069871601143.63874831.3816442020-10-012020-10-287.3Overhaul scenariosAll scenarios have doomed27...1006710176823.0284270.1013740.898626574.48148134383.148148Cat 20202020
M2_11 Mahakam 202066441675239.66093627.2386992020-10-282020-12-087.4Start Alzur Journey41...1009010216832.9816760.1109160.889084396.39024423967.073171Mahakam 20202020
M2_12 Wild Hunt 202078062246434.74893225.2295452020-12-082021-01-188.0Release Way of the Witcher41...1017210313763.0406270.0994880.900512535.70731728825.682927Wild Hunt 20202020
M3_01 Wolf 202161971342846.14983631.5764572021-01-182021-02-098.1Added MadocSingle New Card Added22...1004410295863.0882990.0980810.901919587.63636436734.136364Wolf 20212021
M3_02 Love 202171191601644.44930132.3730622021-02-092021-03-098.2Start Yen JourneyFew minor balance changes28...1009710325843.0450430.1012610.898739554.14285732733.107143Love 20212021
M3_03 Bear 202170121363651.42270538.5300672021-03-092021-04-018.312 New Legendary Cards addedPowerful new cards added and balance changes23...1002610230863.0868690.0905330.909467571.13043533304.434783Bear 20212021
M3_04 Elf 2021101071604962.97588654.9473052021-04-012021-05-068.4Only minor balance changes/bug fixes35...1010210323833.1245640.0911770.908823444.25714326966.371429Elf 20212021
M3_05 Viper 202177711762344.09578433.2655962021-05-062021-06-088.5Start Triss Journey33...1010610300823.1472690.0861370.913863518.87878828969.212121Viper 20212021
M3_06 Magic 2021108991744262.48710055.1296122021-06-082021-07-069.0Price of Power part 1 released28...1008210278823.1627250.0848160.915184605.07142931027.214286Magic 20212021
M3_07 Griffin 202177711677246.33317435.3004602021-07-062021-08-039.1Sunset WanderersBalance patch28...1006710287843.0839370.0980900.901910581.14285730557.250000Griffin 20212021
M3_08 Draconid 202183331752347.55464237.3252402021-08-032021-09-029.2Price of Power part 2 releasedStart Tissaia Journey30...1007910281823.0231760.1038060.896194567.43333330359.100000Draconid 20212021
M3_09 Dryad 202175611748643.24030732.1413922021-09-022021-10-059.3Only balance changes/bug fixes33...1007810250863.0098230.1085510.891449514.72727328489.545455Dryad 20212021
M3_10 Cat 202180231404857.11133346.1476582021-10-052021-10-289.4New Expansion! Harvest of Sorrow23...997410083893.1328420.0918850.908115589.04347831269.391304Cat 20212021
M3_11 Mahakam 202191471990245.96020536.8912102021-10-282021-12-079.5Start Regis Journey40...1012210252822.9896440.1102780.889722485.05000025418.900000Mahakam 20212021
M3_12 Wild Hunt 202195662165144.18271735.6872972021-12-072022-01-139.612 New Legendary Cards added37...1014010271803.1014390.0928630.907137571.64864928228.135135Wild Hunt 20212021
M4_01 Wolf 202276071552049.01417537.4960512022-01-132022-02-0810.1Draft out of early access26...1009310340843.0126100.1128930.887107577.69230833976.192308Wolf 20222022
M4_02 Love 202229721479420.0892250.9384952022-02-082022-03-0810.2Start Dandelion Journey28...1006810312793.0305340.1041490.895851510.50000030441.678571Love 20222022
\n", "

26 rows × 24 columns

\n", "
" ], "text/plain": [ " players_found players_total players_captured \\\n", "season \n", "M2_01 Wolf 2020 2905 2997 96.930264 \n", "M2_02 Love 2020 3984 4883 81.589187 \n", "M2_03 Bear 2020 4772 6632 71.954162 \n", "M2_04 Elf 2020 6070 10209 59.457342 \n", "M2_05 Viper 2020 5977 10079 59.301518 \n", "M2_06 Magic 2020 6104 9919 61.538462 \n", "M2_07 Griffin 2020 7372 14791 49.841120 \n", "M2_08 Draconid 2020 7037 13800 50.992754 \n", "M2_09 Dryad 2020 7056 14554 48.481517 \n", "M2_10 Cat 2020 6987 16011 43.638748 \n", "M2_11 Mahakam 2020 6644 16752 39.660936 \n", "M2_12 Wild Hunt 2020 7806 22464 34.748932 \n", "M3_01 Wolf 2021 6197 13428 46.149836 \n", "M3_02 Love 2021 7119 16016 44.449301 \n", "M3_03 Bear 2021 7012 13636 51.422705 \n", "M3_04 Elf 2021 10107 16049 62.975886 \n", "M3_05 Viper 2021 7771 17623 44.095784 \n", "M3_06 Magic 2021 10899 17442 62.487100 \n", "M3_07 Griffin 2021 7771 16772 46.333174 \n", "M3_08 Draconid 2021 8333 17523 47.554642 \n", "M3_09 Dryad 2021 7561 17486 43.240307 \n", "M3_10 Cat 2021 8023 14048 57.111333 \n", "M3_11 Mahakam 2021 9147 19902 45.960205 \n", "M3_12 Wild Hunt 2021 9566 21651 44.182717 \n", "M4_01 Wolf 2022 7607 15520 49.014175 \n", "M4_02 Love 2022 2972 14794 20.089225 \n", "\n", " extra_players_captured start stop \\\n", "season \n", "M2_01 Wolf 2020 32.846715 2020-01-08 2020-02-04 \n", "M2_02 Love 2020 55.561048 2020-02-04 2020-03-03 \n", "M2_03 Bear 2020 50.689290 2020-03-03 2020-04-02 \n", "M2_04 Elf 2020 43.679412 2020-04-02 2020-05-05 \n", "M2_05 Viper 2020 43.177725 2020-05-05 2020-06-02 \n", "M2_06 Magic 2020 45.955518 2020-06-02 2020-06-30 \n", "M2_07 Griffin 2020 37.817450 2020-06-30 2020-08-04 \n", "M2_08 Draconid 2020 38.180987 2020-08-04 2020-09-01 \n", "M2_09 Dryad 2020 35.881649 2020-09-01 2020-10-01 \n", "M2_10 Cat 2020 31.381644 2020-10-01 2020-10-28 \n", "M2_11 Mahakam 2020 27.238699 2020-10-28 2020-12-08 \n", "M2_12 Wild Hunt 2020 25.229545 2020-12-08 2021-01-18 \n", "M3_01 Wolf 2021 31.576457 2021-01-18 2021-02-09 \n", "M3_02 Love 2021 32.373062 2021-02-09 2021-03-09 \n", "M3_03 Bear 2021 38.530067 2021-03-09 2021-04-01 \n", "M3_04 Elf 2021 54.947305 2021-04-01 2021-05-06 \n", "M3_05 Viper 2021 33.265596 2021-05-06 2021-06-08 \n", "M3_06 Magic 2021 55.129612 2021-06-08 2021-07-06 \n", "M3_07 Griffin 2021 35.300460 2021-07-06 2021-08-03 \n", "M3_08 Draconid 2021 37.325240 2021-08-03 2021-09-02 \n", "M3_09 Dryad 2021 32.141392 2021-09-02 2021-10-05 \n", "M3_10 Cat 2021 46.147658 2021-10-05 2021-10-28 \n", "M3_11 Mahakam 2021 36.891210 2021-10-28 2021-12-07 \n", "M3_12 Wild Hunt 2021 35.687297 2021-12-07 2022-01-13 \n", "M4_01 Wolf 2022 37.496051 2022-01-13 2022-02-08 \n", "M4_02 Love 2022 0.938495 2022-02-08 2022-03-08 \n", "\n", " version \\\n", "season \n", "M2_01 Wolf 2020 5.0 \n", "M2_02 Love 2020 5.1 \n", "M2_03 Bear 2020 5.2/5.2.9/6.0 \n", "M2_04 Elf 2020 6.1 \n", "M2_05 Viper 2020 6.2 \n", "M2_06 Magic 2020 6.3 \n", "M2_07 Griffin 2020 7.0 \n", "M2_08 Draconid 2020 7.1 \n", "M2_09 Dryad 2020 7.2 \n", "M2_10 Cat 2020 7.3 \n", "M2_11 Mahakam 2020 7.4 \n", "M2_12 Wild Hunt 2020 8.0 \n", "M3_01 Wolf 2021 8.1 \n", "M3_02 Love 2021 8.2 \n", "M3_03 Bear 2021 8.3 \n", "M3_04 Elf 2021 8.4 \n", "M3_05 Viper 2021 8.5 \n", "M3_06 Magic 2021 9.0 \n", "M3_07 Griffin 2021 9.1 \n", "M3_08 Draconid 2021 9.2 \n", "M3_09 Dryad 2021 9.3 \n", "M3_10 Cat 2021 9.4 \n", "M3_11 Mahakam 2021 9.5 \n", "M3_12 Wild Hunt 2021 9.6 \n", "M4_01 Wolf 2022 10.1 \n", "M4_02 Love 2022 10.2 \n", "\n", " comment \\\n", "season \n", "M2_01 Wolf 2020 Release Merchants of Ofir \n", "M2_02 Love 2020 Balance patch \n", "M2_03 Bear 2020 Balance patch \n", "M2_04 Elf 2020 New Leader Abilities & Start Geralt Journey \n", "M2_05 Viper 2020 Balance patch \n", "M2_06 Magic 2020 Bug Fixes only \n", "M2_07 Griffin 2020 Release Master Mirror \n", "M2_08 Draconid 2020 Start Ciri Journey \n", "M2_09 Dryad 2020 Overhaul leader abilities \n", "M2_10 Cat 2020 Overhaul scenarios \n", "M2_11 Mahakam 2020 Start Alzur Journey \n", "M2_12 Wild Hunt 2020 Release Way of the Witcher \n", "M3_01 Wolf 2021 Added Madoc \n", "M3_02 Love 2021 Start Yen Journey \n", "M3_03 Bear 2021 12 New Legendary Cards added \n", "M3_04 Elf 2021 Only minor balance changes/bug fixes \n", "M3_05 Viper 2021 Start Triss Journey \n", "M3_06 Magic 2021 Price of Power part 1 released \n", "M3_07 Griffin 2021 Sunset Wanderers \n", "M3_08 Draconid 2021 Price of Power part 2 released \n", "M3_09 Dryad 2021 Only balance changes/bug fixes \n", "M3_10 Cat 2021 New Expansion! Harvest of Sorrow \n", "M3_11 Mahakam 2021 Start Regis Journey \n", "M3_12 Wild Hunt 2021 12 New Legendary Cards added \n", "M4_01 Wolf 2022 Draft out of early access \n", "M4_02 Love 2022 Start Dandelion Journey \n", "\n", " comment_2 \\\n", "season \n", "M2_01 Wolf 2020 Merchant of Ofir was released before this season \n", "M2_02 Love 2020 \n", "M2_03 Bear 2020 The Android release happend the end of the season \n", "M2_04 Elf 2020 Hidden Cache, ... \n", "M2_05 Viper 2020 \n", "M2_06 Magic 2020 \n", "M2_07 Griffin 2020 \n", "M2_08 Draconid 2020 \n", "M2_09 Dryad 2020 Removal of Second Wind, Call to Harmony, ... I... \n", "M2_10 Cat 2020 All scenarios have doomed \n", "M2_11 Mahakam 2020 \n", "M2_12 Wild Hunt 2020 \n", "M3_01 Wolf 2021 Single New Card Added \n", "M3_02 Love 2021 Few minor balance changes \n", "M3_03 Bear 2021 Powerful new cards added and balance changes \n", "M3_04 Elf 2021 \n", "M3_05 Viper 2021 \n", "M3_06 Magic 2021 \n", "M3_07 Griffin 2021 Balance patch \n", "M3_08 Draconid 2021 Start Tissaia Journey \n", "M3_09 Dryad 2021 \n", "M3_10 Cat 2021 \n", "M3_11 Mahakam 2021 \n", "M3_12 Wild Hunt 2021 \n", "M4_01 Wolf 2022 \n", "M4_02 Love 2022 \n", "\n", " length ... top200_cutoff top64_cutoff richness \\\n", "season ... \n", "M2_01 Wolf 2020 27 ... 9872 10061 79 \n", "M2_02 Love 2020 28 ... 9952 10117 73 \n", "M2_03 Bear 2020 30 ... 9995 10204 74 \n", "M2_04 Elf 2020 33 ... 10087 10293 78 \n", "M2_05 Viper 2020 28 ... 10028 10255 82 \n", "M2_06 Magic 2020 28 ... 10002 10191 79 \n", "M2_07 Griffin 2020 35 ... 10100 10289 80 \n", "M2_08 Draconid 2020 28 ... 10061 10246 83 \n", "M2_09 Dryad 2020 30 ... 10046 10183 83 \n", "M2_10 Cat 2020 27 ... 10067 10176 82 \n", "M2_11 Mahakam 2020 41 ... 10090 10216 83 \n", "M2_12 Wild Hunt 2020 41 ... 10172 10313 76 \n", "M3_01 Wolf 2021 22 ... 10044 10295 86 \n", "M3_02 Love 2021 28 ... 10097 10325 84 \n", "M3_03 Bear 2021 23 ... 10026 10230 86 \n", "M3_04 Elf 2021 35 ... 10102 10323 83 \n", "M3_05 Viper 2021 33 ... 10106 10300 82 \n", "M3_06 Magic 2021 28 ... 10082 10278 82 \n", "M3_07 Griffin 2021 28 ... 10067 10287 84 \n", "M3_08 Draconid 2021 30 ... 10079 10281 82 \n", "M3_09 Dryad 2021 33 ... 10078 10250 86 \n", "M3_10 Cat 2021 23 ... 9974 10083 89 \n", "M3_11 Mahakam 2021 40 ... 10122 10252 82 \n", "M3_12 Wild Hunt 2021 37 ... 10140 10271 80 \n", "M4_01 Wolf 2022 26 ... 10093 10340 84 \n", "M4_02 Love 2022 28 ... 10068 10312 79 \n", "\n", " shannon_diversity dominance simpson \\\n", "season \n", "M2_01 Wolf 2020 2.911451 0.109716 0.890284 \n", "M2_02 Love 2020 2.784907 0.124585 0.875415 \n", "M2_03 Bear 2020 2.770397 0.123829 0.876171 \n", "M2_04 Elf 2020 2.921609 0.105208 0.894792 \n", "M2_05 Viper 2020 2.975021 0.106955 0.893045 \n", "M2_06 Magic 2020 3.028216 0.100404 0.899596 \n", "M2_07 Griffin 2020 3.085621 0.092351 0.907649 \n", "M2_08 Draconid 2020 3.043551 0.097257 0.902743 \n", "M2_09 Dryad 2020 3.071002 0.093658 0.906342 \n", "M2_10 Cat 2020 3.028427 0.101374 0.898626 \n", "M2_11 Mahakam 2020 2.981676 0.110916 0.889084 \n", "M2_12 Wild Hunt 2020 3.040627 0.099488 0.900512 \n", "M3_01 Wolf 2021 3.088299 0.098081 0.901919 \n", "M3_02 Love 2021 3.045043 0.101261 0.898739 \n", "M3_03 Bear 2021 3.086869 0.090533 0.909467 \n", "M3_04 Elf 2021 3.124564 0.091177 0.908823 \n", "M3_05 Viper 2021 3.147269 0.086137 0.913863 \n", "M3_06 Magic 2021 3.162725 0.084816 0.915184 \n", "M3_07 Griffin 2021 3.083937 0.098090 0.901910 \n", "M3_08 Draconid 2021 3.023176 0.103806 0.896194 \n", "M3_09 Dryad 2021 3.009823 0.108551 0.891449 \n", "M3_10 Cat 2021 3.132842 0.091885 0.908115 \n", "M3_11 Mahakam 2021 2.989644 0.110278 0.889722 \n", "M3_12 Wild Hunt 2021 3.101439 0.092863 0.907137 \n", "M4_01 Wolf 2022 3.012610 0.112893 0.887107 \n", "M4_02 Love 2022 3.030534 0.104149 0.895851 \n", "\n", " pro_players_per_day top2860_matches_per_day \\\n", "season \n", "M2_01 Wolf 2020 92.481481 25888.740741 \n", "M2_02 Love 2020 156.535714 27452.571429 \n", "M2_03 Bear 2020 204.400000 28726.100000 \n", "M2_04 Elf 2020 294.212121 30427.363636 \n", "M2_05 Viper 2020 342.107143 30683.571429 \n", "M2_06 Magic 2020 336.392857 28304.035714 \n", "M2_07 Griffin 2020 408.314286 28457.600000 \n", "M2_08 Draconid 2020 475.000000 29894.464286 \n", "M2_09 Dryad 2020 468.466667 28469.766667 \n", "M2_10 Cat 2020 574.481481 34383.148148 \n", "M2_11 Mahakam 2020 396.390244 23967.073171 \n", "M2_12 Wild Hunt 2020 535.707317 28825.682927 \n", "M3_01 Wolf 2021 587.636364 36734.136364 \n", "M3_02 Love 2021 554.142857 32733.107143 \n", "M3_03 Bear 2021 571.130435 33304.434783 \n", "M3_04 Elf 2021 444.257143 26966.371429 \n", "M3_05 Viper 2021 518.878788 28969.212121 \n", "M3_06 Magic 2021 605.071429 31027.214286 \n", "M3_07 Griffin 2021 581.142857 30557.250000 \n", "M3_08 Draconid 2021 567.433333 30359.100000 \n", "M3_09 Dryad 2021 514.727273 28489.545455 \n", "M3_10 Cat 2021 589.043478 31269.391304 \n", "M3_11 Mahakam 2021 485.050000 25418.900000 \n", "M3_12 Wild Hunt 2021 571.648649 28228.135135 \n", "M4_01 Wolf 2022 577.692308 33976.192308 \n", "M4_02 Love 2022 510.500000 30441.678571 \n", "\n", " season_readable Year \n", "season \n", "M2_01 Wolf 2020 Wolf 2020 2020 \n", "M2_02 Love 2020 Love 2020 2020 \n", "M2_03 Bear 2020 Bear 2020 2020 \n", "M2_04 Elf 2020 Elf 2020 2020 \n", "M2_05 Viper 2020 Viper 2020 2020 \n", "M2_06 Magic 2020 Magic 2020 2020 \n", "M2_07 Griffin 2020 Griffin 2020 2020 \n", "M2_08 Draconid 2020 Draconid 2020 2020 \n", "M2_09 Dryad 2020 Dryad 2020 2020 \n", "M2_10 Cat 2020 Cat 2020 2020 \n", "M2_11 Mahakam 2020 Mahakam 2020 2020 \n", "M2_12 Wild Hunt 2020 Wild Hunt 2020 2020 \n", "M3_01 Wolf 2021 Wolf 2021 2021 \n", "M3_02 Love 2021 Love 2021 2021 \n", "M3_03 Bear 2021 Bear 2021 2021 \n", "M3_04 Elf 2021 Elf 2021 2021 \n", "M3_05 Viper 2021 Viper 2021 2021 \n", "M3_06 Magic 2021 Magic 2021 2021 \n", "M3_07 Griffin 2021 Griffin 2021 2021 \n", "M3_08 Draconid 2021 Draconid 2021 2021 \n", "M3_09 Dryad 2021 Dryad 2021 2021 \n", "M3_10 Cat 2021 Cat 2021 2021 \n", "M3_11 Mahakam 2021 Mahakam 2021 2021 \n", "M3_12 Wild Hunt 2021 Wild Hunt 2021 2021 \n", "M4_01 Wolf 2022 Wolf 2022 2022 \n", "M4_02 Love 2022 Love 2022 2022 \n", "\n", "[26 rows x 24 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 2;\n", " var nbb_unformatted_code = \"count_df = pd.read_excel(\\\"./output/seasonal_popularity.xlsx\\\", index_col=0).fillna(\\\"\\\")\\ncount_df[\\\"Year\\\"] = count_df[\\\"season_readable\\\"].apply(lambda x: x.split()[-1])\\ncount_df\";\n", " var nbb_formatted_code = \"count_df = pd.read_excel(\\\"./output/seasonal_popularity.xlsx\\\", index_col=0).fillna(\\\"\\\")\\ncount_df[\\\"Year\\\"] = count_df[\\\"season_readable\\\"].apply(lambda x: x.split()[-1])\\ncount_df\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "count_df = pd.read_excel(\"./output/seasonal_popularity.xlsx\", index_col=0).fillna(\"\")\n", "count_df[\"Year\"] = count_df[\"season_readable\"].apply(lambda x: x.split()[-1])\n", "count_df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.Chart(...)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 3;\n", " var nbb_unformatted_code = \"popularity_chart = (\\n alt.Chart(count_df)\\n .mark_bar()\\n .transform_calculate(combined_comment=\\\"datum.comment + ', ' + datum.comment_2\\\")\\n .encode(\\n x=alt.X(\\\"season_readable\\\", title=\\\"Season\\\", sort=list(count_df.season_readable)),\\n y=alt.Y(\\\"pro_players_per_day\\\", title=\\\"Popularity (# Pro Player/Season Length)\\\"),\\n color=\\\"Year\\\",\\n tooltip=[\\n alt.Tooltip(\\\"pro_players_per_day\\\", title=\\\"Popularity\\\", format=\\\".2f\\\"),\\n alt.Tooltip(\\\"length\\\", title=\\\"Season Length\\\"),\\n alt.Tooltip(\\\"combined_comment:N\\\", title=\\\"Info\\\"),\\n ],\\n )\\n)\\npopularity_chart.properties(width=\\\"container\\\").save(\\\"./output/popularity_chart.json\\\")\\npopularity_chart\";\n", " var nbb_formatted_code = \"popularity_chart = (\\n alt.Chart(count_df)\\n .mark_bar()\\n .transform_calculate(combined_comment=\\\"datum.comment + ', ' + datum.comment_2\\\")\\n .encode(\\n x=alt.X(\\\"season_readable\\\", title=\\\"Season\\\", sort=list(count_df.season_readable)),\\n y=alt.Y(\\\"pro_players_per_day\\\", title=\\\"Popularity (# Pro Player/Season Length)\\\"),\\n color=\\\"Year\\\",\\n tooltip=[\\n alt.Tooltip(\\\"pro_players_per_day\\\", title=\\\"Popularity\\\", format=\\\".2f\\\"),\\n alt.Tooltip(\\\"length\\\", title=\\\"Season Length\\\"),\\n alt.Tooltip(\\\"combined_comment:N\\\", title=\\\"Info\\\"),\\n ],\\n )\\n)\\npopularity_chart.properties(width=\\\"container\\\").save(\\\"./output/popularity_chart.json\\\")\\npopularity_chart\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "popularity_chart = (\n", " alt.Chart(count_df)\n", " .mark_bar()\n", " .transform_calculate(combined_comment=\"datum.comment + ', ' + datum.comment_2\")\n", " .encode(\n", " x=alt.X(\"season_readable\", title=\"Season\", sort=list(count_df.season_readable)),\n", " y=alt.Y(\"pro_players_per_day\", title=\"Popularity (# Pro Player/Season Length)\"),\n", " color=\"Year\",\n", " tooltip=[\n", " alt.Tooltip(\"pro_players_per_day\", title=\"Popularity\", format=\".2f\"),\n", " alt.Tooltip(\"length\", title=\"Season Length\"),\n", " alt.Tooltip(\"combined_comment:N\", title=\"Info\"),\n", " ],\n", " )\n", ")\n", "popularity_chart.properties(width=\"container\").save(\"./output/popularity_chart.json\")\n", "popularity_chart" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "" ], "text/plain": [ "alt.Chart(...)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/javascript": [ "\n", " setTimeout(function() {\n", " var nbb_cell_id = 4;\n", " var nbb_unformatted_code = \"player_chart = (\\n alt.Chart(count_df)\\n .mark_bar()\\n .transform_calculate(combined_comment=\\\"datum.comment + ', ' + datum.comment_2\\\")\\n .encode(\\n x=alt.X(\\\"season_readable\\\", title=\\\"Season\\\", sort=list(count_df.season_readable)),\\n y=alt.Y(\\\"players_total\\\", title=\\\"Pro Ranked Players\\\"),\\n color=\\\"Year\\\",\\n tooltip=[\\n alt.Tooltip(\\\"players_total\\\", title=\\\"# Pro Players\\\"),\\n alt.Tooltip(\\\"length\\\", title=\\\"Season Length\\\"),\\n alt.Tooltip(\\\"combined_comment:N\\\", title=\\\"Info\\\"),\\n ],\\n )\\n)\\nplayer_chart.properties(width=\\\"container\\\").save(\\\"./output/pro_player_chart.json\\\")\\nplayer_chart\";\n", " var nbb_formatted_code = \"player_chart = (\\n alt.Chart(count_df)\\n .mark_bar()\\n .transform_calculate(combined_comment=\\\"datum.comment + ', ' + datum.comment_2\\\")\\n .encode(\\n x=alt.X(\\\"season_readable\\\", title=\\\"Season\\\", sort=list(count_df.season_readable)),\\n y=alt.Y(\\\"players_total\\\", title=\\\"Pro Ranked Players\\\"),\\n color=\\\"Year\\\",\\n tooltip=[\\n alt.Tooltip(\\\"players_total\\\", title=\\\"# Pro Players\\\"),\\n alt.Tooltip(\\\"length\\\", title=\\\"Season Length\\\"),\\n alt.Tooltip(\\\"combined_comment:N\\\", title=\\\"Info\\\"),\\n ],\\n )\\n)\\nplayer_chart.properties(width=\\\"container\\\").save(\\\"./output/pro_player_chart.json\\\")\\nplayer_chart\";\n", " var nbb_cells = Jupyter.notebook.get_cells();\n", " for (var i = 0; i < nbb_cells.length; ++i) {\n", " if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n", " if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n", " nbb_cells[i].set_text(nbb_formatted_code);\n", " }\n", " break;\n", " }\n", " }\n", " }, 500);\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "player_chart = (\n", " alt.Chart(count_df)\n", " .mark_bar()\n", " .transform_calculate(combined_comment=\"datum.comment + ', ' + datum.comment_2\")\n", " .encode(\n", " x=alt.X(\"season_readable\", title=\"Season\", sort=list(count_df.season_readable)),\n", " y=alt.Y(\"players_total\", title=\"Pro Ranked Players\"),\n", " color=\"Year\",\n", " tooltip=[\n", " alt.Tooltip(\"players_total\", title=\"# Pro Players\"),\n", " alt.Tooltip(\"length\", title=\"Season Length\"),\n", " alt.Tooltip(\"combined_comment:N\", title=\"Info\"),\n", " ],\n", " )\n", ")\n", "player_chart.properties(width=\"container\").save(\"./output/pro_player_chart.json\")\n", "player_chart" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }