diff --git a/02_activities/assignments/assignment_1.ipynb b/02_activities/assignments/assignment_1.ipynb index 45cfc9cd7..abdd1ebc7 100644 --- a/02_activities/assignments/assignment_1.ipynb +++ b/02_activities/assignments/assignment_1.ipynb @@ -26,21 +26,34 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The dotenv extension is already loaded. To reload it, use:\n", + " %reload_ext dotenv\n" + ] + } + ], "source": [ "# Write your code below.\n", - "\n" + "\n", + "%load_ext dotenv\n", + "%dotenv" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "import dask.dataframe as dd" + "import dask.dataframe as dd\n", + "## to get this to work, I changed modified np.str_ and np.unicode_ to both be np.str_ in dask/dataframe/utils.py\n", + "## Used google to troubleshoot" ] }, { @@ -55,15 +68,1031 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['../../05_src/data/prices\\\\ACN\\\\ACN_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ACN\\\\ACN_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALDX\\\\ALDX_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1993\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1993\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1994\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1994\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ALL\\\\ALL_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMAL\\\\AMAL_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AMH\\\\AMH_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\AQMS\\\\AQMS_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ARAY\\\\ARAY_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ASML\\\\ASML_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BGS\\\\BGS_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BLPH\\\\BLPH_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BNTC\\\\BNTC_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPMX\\\\BPMX_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BPYPN\\\\BPYPN_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BPYPN\\\\BPYPN_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BRQS\\\\BRQS_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWEN\\\\BWEN_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\BWG\\\\BWG_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1980\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1980\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1981\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1981\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1982\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1982\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1983\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1983\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1984\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1984\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1985\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1985\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1986\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1986\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1987\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1987\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1988\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1988\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1989\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1989\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1990\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1990\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1991\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1991\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1992\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1992\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1993\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1993\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1994\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1994\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CBB\\\\CBB_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CCD\\\\CCD_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CGEN\\\\CGEN_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CIZ\\\\CIZ_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CMCTP\\\\CMCTP_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1987\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1987\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1988\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1988\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1989\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1989\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1990\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1990\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1991\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1991\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1992\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1992\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1993\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1993\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1994\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1994\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRMT\\\\CRMT_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1989\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1989\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1990\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1990\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1991\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1991\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1992\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1992\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1993\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1993\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1994\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1994\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CRUS\\\\CRUS_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\CSSE\\\\CSSE_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\DEW\\\\DEW_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EARN\\\\EARN_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\EOLS\\\\EOLS_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ERH\\\\ERH_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ESGR\\\\ESGR_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\ETJ\\\\ETJ_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FAMI\\\\FAMI_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FINV\\\\FINV_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FIXX\\\\FIXX_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\FPXE\\\\FPXE_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GAZ\\\\GAZ_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLADD\\\\GLADD_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLUU\\\\GLUU_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1981\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1982\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1982\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1983\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1983\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1984\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1984\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1985\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1985\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1986\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1986\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1987\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1987\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1988\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1988\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1989\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1989\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1990\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1990\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1991\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1991\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1992\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1992\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1993\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1993\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1994\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1994\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1995\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1995\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1996\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1996\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2004\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2004\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2005\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2005\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2006\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2006\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2007\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2007\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2008\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2008\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2009\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2009\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2010\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2010\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2011\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2011\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2012\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2012\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2013\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2013\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2014\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2014\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2015\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2015\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2016\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2016\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2017\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2017\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2018\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2018\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2019\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2019\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2020\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GLW\\\\GLW_2020\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1997\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1997\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1998\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1998\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1999\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_1999\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2000\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2000\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2001\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2001\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2002\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2002\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2003\\\\part.0.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2003\\\\part.1.parquet',\n", + " '../../05_src/data/prices\\\\GPI\\\\GPI_2004\\\\part.0.parquet',\n", + " ...]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import os\n", "from glob import glob\n", "\n", "# Write your code below.\n", - "\n" + "\n", + "PRICE_DATA = os.getenv('PRICE_DATA')\n", + "parquet_files = glob(os.path.join(PRICE_DATA, \"**\", \"*.parquet\"), recursive=True)\n", + "dd_px = dd.read_parquet(parquet_files)\n", + "\n", + "parquet_files" ] }, { @@ -88,14 +1117,87 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\karma\\AppData\\Local\\Temp\\ipykernel_13248\\284795827.py:8: UserWarning: `meta` is not specified, inferred from partial data.\n", + "Please provide `meta` if the result is unexpected.\n", + " Before: .apply(func)\n", + " After: .apply(func, meta={'x': 'f8', 'y': 'f8'}) for dataframe result\n", + " or: .apply(func, meta=('x', 'f8')) for series result\n", + "\n", + " .apply(lambda x: x.assign(AdjClose_lag_1 = x['Adj Close'].shift(1)))\n" + ] + } + ], "source": [ "# Write your code below.\n", + "temp = os.getenv(\"TEMP_DATA\")\n", + "\n", + "parquet_dir = os.path.join(temp, \"parquet\")\n", + "os.makedirs(parquet_dir, exist_ok=True)\n", + "\n", + "dd_feat = (dd_px.groupby('ticker', group_keys=False)\n", + " .apply(lambda x: x.assign(AdjClose_lag_1 = x['Adj Close'].shift(1)))\n", + " .assign(\n", + " returns = (lambda x: x['Adj Close']/x['AdjClose_lag_1'] - 1),\n", + " hi_lo_range = (lambda x: x['High'] - x['Low'])\n", + " ))\n", "\n" ] }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "Dask diagnostics requirements are not installed.\n\nPlease either conda or pip install as follows:\n\n conda install dask # either conda install\n python -m pip install \"dask[diagnostics]\" --upgrade # or python -m pip install", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mModuleNotFoundError\u001b[39m Traceback (most recent call last)", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\dask\\widgets\\__init__.py:4\u001b[39m\n\u001b[32m 3\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mdask\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mwidgets\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mwidgets\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[32m 5\u001b[39m FILTERS,\n\u001b[32m 6\u001b[39m TEMPLATE_PATHS,\n\u001b[32m 7\u001b[39m get_environment,\n\u001b[32m 8\u001b[39m get_template,\n\u001b[32m 9\u001b[39m )\n\u001b[32m 11\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\dask\\widgets\\widgets.py:7\u001b[39m\n\u001b[32m 5\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mos\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mpath\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m7\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mjinja2\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m Environment, FileSystemLoader, Template\n\u001b[32m 8\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mjinja2\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mexceptions\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m TemplateNotFound\n", + "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'jinja2'", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[31mImportError\u001b[39m Traceback (most recent call last)", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\IPython\\core\\formatters.py:406\u001b[39m, in \u001b[36mBaseFormatter.__call__\u001b[39m\u001b[34m(self, obj)\u001b[39m\n\u001b[32m 404\u001b[39m method = get_real_method(obj, \u001b[38;5;28mself\u001b[39m.print_method)\n\u001b[32m 405\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m method \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m406\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 407\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 408\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\dask\\dataframe\\dask_expr\\_collection.py:2800\u001b[39m, in \u001b[36mDataFrame._repr_html_\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 2799\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_repr_html_\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[32m-> \u001b[39m\u001b[32m2800\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mto_html\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\dask\\dataframe\\dask_expr\\_collection.py:4046\u001b[39m, in \u001b[36mDataFrame.to_html\u001b[39m\u001b[34m(self, max_rows)\u001b[39m\n\u001b[32m 4044\u001b[39m data = \u001b[38;5;28mself\u001b[39m._repr_data().to_html(max_rows=max_rows, show_dimensions=\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[32m 4045\u001b[39m n_expr = \u001b[38;5;28mlen\u001b[39m({e._name \u001b[38;5;28;01mfor\u001b[39;00m e \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m.walk()})\n\u001b[32m-> \u001b[39m\u001b[32m4046\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mget_template\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mdataframe.html.j2\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m.render(\n\u001b[32m 4047\u001b[39m data=data,\n\u001b[32m 4048\u001b[39m name=\u001b[38;5;28mself\u001b[39m._name,\n\u001b[32m 4049\u001b[39m layers=maybe_pluralize(n_expr, \u001b[33m\"\u001b[39m\u001b[33mexpression\u001b[39m\u001b[33m\"\u001b[39m),\n\u001b[32m 4050\u001b[39m )\n", + "\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\karma\\miniconda3\\Lib\\site-packages\\dask\\widgets\\__init__.py:26\u001b[39m, in \u001b[36mget_template\u001b[39m\u001b[34m(name)\u001b[39m\n\u001b[32m 25\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mget_template\u001b[39m(name: \u001b[38;5;28mstr\u001b[39m):\n\u001b[32m---> \u001b[39m\u001b[32m26\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(msg) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mexception\u001b[39;00m\n", + "\u001b[31mImportError\u001b[39m: Dask diagnostics requirements are not installed.\n\nPlease either conda or pip install as follows:\n\n conda install dask # either conda install\n python -m pip install \"dask[diagnostics]\" --upgrade # or python -m pip install" + ] + }, + { + "data": { + "text/plain": [ + "Dask DataFrame Structure:\n", + " Date Open High Low Close Adj Close Volume source ticker Year AdjClose_lag_1 returns hi_lo_range\n", + "npartitions=2941 \n", + " datetime64[ns] float64 float64 float64 float64 float64 float64 string string int32 float64 float64 float64\n", + " ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + " ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + " ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "Dask Name: assign, 13 expressions\n", + "Expr=Assign(frame=Assign(frame=Assign(frame=Assign(frame=GroupByApply(frame=ReadParquetFSSpec(1311231), observed=False, group_keys=False, func= at 0x000001ACB7CC9C60>, meta=, args=(), kwargs={})))))" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dd_feat" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -108,12 +1210,33 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# Write your code below.\n", - "\n" + "PD_DF = dd_feat.compute()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\karma\\AppData\\Local\\Temp\\ipykernel_13248\\3337203782.py:3: FutureWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", + " .apply(lambda x: x.assign(ma_return = x['returns'].rolling(10).mean()))\n" + ] + } + ], + "source": [ + "PD_DF = (PD_DF\n", + " .groupby('ticker', group_keys = False)\n", + " .apply(lambda x: x.assign(ma_return = x['returns'].rolling(10).mean()))\n", + " )" ] }, { @@ -125,7 +1248,10 @@ "+ Was it necessary to convert to pandas to calculate the moving average return?\n", "+ Would it have been better to do it in Dask? Why?\n", "\n", - "(1 pt)" + "(1 pt)\n", + "\n", + "+ Not neccesary to covert to pandas dataframe to calculate moving average\n", + "+ It would be better to complete in Dask - for larger datasets Dask manages better - My conversion took 1m 9.3s to complete" ] }, { @@ -154,10 +1280,10 @@ " * Open a private window in your browser. Copy and paste the link to your pull request into the address bar. Make sure you can see your pull request properly. This helps the technical facilitator and learning support staff review your submission easily.\n", "\n", "Checklist:\n", - "- [ ] Created a branch with the correct naming convention.\n", - "- [ ] Ensured that the repository is public.\n", - "- [ ] Reviewed the PR description guidelines and adhered to them.\n", - "- [ ] Verify that the link is accessible in a private browser window.\n", + "- [Y] Created a branch with the correct naming convention.\n", + "- [Y] Ensured that the repository is public.\n", + "- [Y] Reviewed the PR description guidelines and adhered to them.\n", + "- [Y] Verify that the link is accessible in a private browser window.\n", "\n", "If you encounter any difficulties or have questions, please don't hesitate to reach out to our team via our Slack at `#cohort-3-help`. Our Technical Facilitators and Learning Support staff are here to help you navigate any challenges." ] @@ -165,7 +1291,7 @@ ], "metadata": { "kernelspec": { - "display_name": "env", + "display_name": "base", "language": "python", "name": "python3" }, @@ -179,7 +1305,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.0" + "version": "3.13.5" } }, "nbformat": 4, diff --git a/02_activities/assignments/assignment_2.ipynb b/02_activities/assignments/assignment_2.ipynb index 29d661c57..384c8acc9 100644 --- a/02_activities/assignments/assignment_2.ipynb +++ b/02_activities/assignments/assignment_2.ipynb @@ -97,18 +97,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "# Load the libraries as required." + "# Load environment variables\n", + "%reload_ext dotenv\n", + "%dotenv \n", + "\n", + "sys.path.append(os.getenv('SRC_DIR'))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], + "source": [ + "# Load the libraries as required.\n", + "import pandas as pd\n", + "import dask.dataframe as dd\n", + "import numpy as np\n", + "import os\n", + "import sys\n", + "import seaborn as sns\n", + "from glob import glob\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import StandardScaler, OneHotEncoder, FunctionTransformer\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn.neighbors import KNeighborsRegressor\n", + "from sklearn.metrics import root_mean_squared_error\n", + "from sklearn.model_selection import train_test_split, cross_validate, GridSearchCV\n", + "from sklearn.metrics import mean_squared_error, make_scorer, max_error\n", + "import pickle\n", + "import shap" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 517 entries, 0 to 516\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 coord_x 517 non-null int64 \n", + " 1 coord_y 517 non-null int64 \n", + " 2 month 517 non-null object \n", + " 3 day 517 non-null object \n", + " 4 ffmc 517 non-null float64\n", + " 5 dmc 517 non-null float64\n", + " 6 dc 517 non-null float64\n", + " 7 isi 517 non-null float64\n", + " 8 temp 517 non-null float64\n", + " 9 rh 517 non-null int64 \n", + " 10 wind 517 non-null float64\n", + " 11 rain 517 non-null float64\n", + " 12 area 517 non-null float64\n", + "dtypes: float64(8), int64(3), object(2)\n", + "memory usage: 52.6+ KB\n" + ] + } + ], "source": [ "# Load data\n", "columns = [\n", @@ -129,17 +186,286 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": {}, - "outputs": [], - "source": [] + "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", + "
coord_xcoord_ymonthdayffmcdmcdcisitemprhwindrain
075marfri86.226.294.35.18.2516.70.0
174octtue90.635.4669.16.718.0330.90.0
274octsat90.643.7686.96.714.6331.30.0
386marfri91.733.377.59.08.3974.00.2
486marsun89.351.3102.29.611.4991.80.0
.......................................
51243augsun81.656.7665.61.927.8322.70.0
51324augsun81.656.7665.61.921.9715.80.0
51474augsun81.656.7665.61.921.2706.70.0
51514augsat94.4146.0614.711.325.6424.00.0
51663novtue79.53.0106.71.111.8314.50.0
\n", + "

517 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " coord_x coord_y month day ffmc dmc dc isi temp rh wind \\\n", + "0 7 5 mar fri 86.2 26.2 94.3 5.1 8.2 51 6.7 \n", + "1 7 4 oct tue 90.6 35.4 669.1 6.7 18.0 33 0.9 \n", + "2 7 4 oct sat 90.6 43.7 686.9 6.7 14.6 33 1.3 \n", + "3 8 6 mar fri 91.7 33.3 77.5 9.0 8.3 97 4.0 \n", + "4 8 6 mar sun 89.3 51.3 102.2 9.6 11.4 99 1.8 \n", + ".. ... ... ... ... ... ... ... ... ... .. ... \n", + "512 4 3 aug sun 81.6 56.7 665.6 1.9 27.8 32 2.7 \n", + "513 2 4 aug sun 81.6 56.7 665.6 1.9 21.9 71 5.8 \n", + "514 7 4 aug sun 81.6 56.7 665.6 1.9 21.2 70 6.7 \n", + "515 1 4 aug sat 94.4 146.0 614.7 11.3 25.6 42 4.0 \n", + "516 6 3 nov tue 79.5 3.0 106.7 1.1 11.8 31 4.5 \n", + "\n", + " rain \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.2 \n", + "4 0.0 \n", + ".. ... \n", + "512 0.0 \n", + "513 0.0 \n", + "514 0.0 \n", + "515 0.0 \n", + "516 0.0 \n", + "\n", + "[517 rows x 12 columns]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = fires_dt.drop('area', axis=1)\n", + "x" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.00\n", + "1 0.00\n", + "2 0.00\n", + "3 0.00\n", + "4 0.00\n", + " ... \n", + "512 6.44\n", + "513 54.29\n", + "514 11.16\n", + "515 0.00\n", + "516 0.00\n", + "Name: area, Length: 517, dtype: float64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = fires_dt['area']\n", + "y" + ] }, { "cell_type": "markdown", @@ -180,10 +506,463 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
ColumnTransformer(transformers=[('num', StandardScaler(),\n",
+       "                                 ['coord_x', 'coord_y', 'ffmc', 'dmc', 'dc',\n",
+       "                                  'isi', 'temp', 'rh', 'wind', 'rain']),\n",
+       "                                ('cat', OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                 ['month', 'day'])])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "ColumnTransformer(transformers=[('num', StandardScaler(),\n", + " ['coord_x', 'coord_y', 'ffmc', 'dmc', 'dc',\n", + " 'isi', 'temp', 'rh', 'wind', 'rain']),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'),\n", + " ['month', 'day'])])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num_cols = ['coord_x', 'coord_y', 'ffmc', 'dmc', 'dc', 'isi', 'temp', 'rh', 'wind', 'rain']\n", + "\n", + "cat_cols = ['month', 'day']\n", + "\n", + "preproc1 = ColumnTransformer(\n", + " transformers=[\n", + " ('num', StandardScaler(), num_cols),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'), cat_cols)\n", + " ]\n", + ")\n", + "preproc1" + ] }, { "cell_type": "markdown", @@ -199,10 +978,491 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
ColumnTransformer(transformers=[('log_num',\n",
+       "                                 Pipeline(steps=[('log',\n",
+       "                                                  FunctionTransformer(func=<ufunc 'log1p'>,\n",
+       "                                                                      validate=True)),\n",
+       "                                                 ('scaler', StandardScaler())]),\n",
+       "                                 ['rain', 'isi', 'dc']),\n",
+       "                                ('num',\n",
+       "                                 Pipeline(steps=[('scaler', StandardScaler())]),\n",
+       "                                 ['ffmc', 'coord_y', 'temp', 'dmc', 'rh',\n",
+       "                                  'wind', 'coord_x']),\n",
+       "                                ('cat', OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                 ['month', 'day'])])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "ColumnTransformer(transformers=[('log_num',\n", + " Pipeline(steps=[('log',\n", + " FunctionTransformer(func=,\n", + " validate=True)),\n", + " ('scaler', StandardScaler())]),\n", + " ['rain', 'isi', 'dc']),\n", + " ('num',\n", + " Pipeline(steps=[('scaler', StandardScaler())]),\n", + " ['ffmc', 'coord_y', 'temp', 'dmc', 'rh',\n", + " 'wind', 'coord_x']),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'),\n", + " ['month', 'day'])])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "log_transform_cols = ['rain', 'isi', 'dc']\n", + "other_num_cols = list(set(num_cols) - set(log_transform_cols))\n", + "\n", + "log_pipeline = Pipeline(steps=[\n", + " ('log', FunctionTransformer(np.log1p, validate=True)),\n", + " ('scaler', StandardScaler())\n", + "])\n", + "\n", + "num_pipeline = Pipeline(steps=[\n", + " ('scaler', StandardScaler())\n", + "])\n", + "\n", + "preproc2 = ColumnTransformer(transformers=[\n", + " ('log_num', log_pipeline, log_transform_cols),\n", + " ('num', num_pipeline, other_num_cols),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'), cat_cols)\n", + "])\n", + "preproc2" + ] }, { "cell_type": "markdown", @@ -227,39 +1487,55 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ - "# Pipeline A = preproc1 + baseline\n" + "# Pipeline A = preproc1 + baseline\n", + "# Pipeline A = preproc1 + baseline\n", + "pipelineA = Pipeline(steps=[\n", + " ('preprocessing', preproc1),\n", + " ('regressor', KNeighborsRegressor())\n", + "])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ - "# Pipeline B = preproc2 + baseline\n" + "# Pipeline B = preproc2 + baseline\n", + "pipelineB = Pipeline(steps=[\n", + " ('preprocessing', preproc2),\n", + " ('regressor', KNeighborsRegressor())\n", + "])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ - "# Pipeline C = preproc1 + advanced model\n" + "# Pipeline C = preproc1 + advanced model\n", + "pipelineC = Pipeline(steps=[\n", + " ('preprocessing', preproc1), \n", + " ('regressor', GradientBoostingRegressor())\n", + "])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Pipeline D = preproc2 + advanced model\n", - "\n", + "pipelineD = Pipeline(steps=[\n", + " ('preprocessing', preproc2), \n", + " ('regressor', GradientBoostingRegressor())\n", + "])\n", " " ] }, @@ -276,38 +1552,2296 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "{'memory': None,\n", + " 'steps': [('preprocessing',\n", + " ColumnTransformer(transformers=[('num', StandardScaler(),\n", + " ['coord_x', 'coord_y', 'ffmc', 'dmc', 'dc',\n", + " 'isi', 'temp', 'rh', 'wind', 'rain']),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'),\n", + " ['month', 'day'])])),\n", + " ('regressor', GradientBoostingRegressor())],\n", + " 'transform_input': None,\n", + " 'verbose': False,\n", + " 'preprocessing': ColumnTransformer(transformers=[('num', StandardScaler(),\n", + " ['coord_x', 'coord_y', 'ffmc', 'dmc', 'dc',\n", + " 'isi', 'temp', 'rh', 'wind', 'rain']),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'),\n", + " ['month', 'day'])]),\n", + " 'regressor': GradientBoostingRegressor(),\n", + " 'preprocessing__force_int_remainder_cols': True,\n", + " 'preprocessing__n_jobs': None,\n", + " 'preprocessing__remainder': 'drop',\n", + " 'preprocessing__sparse_threshold': 0.3,\n", + " 'preprocessing__transformer_weights': None,\n", + " 'preprocessing__transformers': [('num',\n", + " StandardScaler(),\n", + " ['coord_x',\n", + " 'coord_y',\n", + " 'ffmc',\n", + " 'dmc',\n", + " 'dc',\n", + " 'isi',\n", + " 'temp',\n", + " 'rh',\n", + " 'wind',\n", + " 'rain']),\n", + " ('cat', OneHotEncoder(handle_unknown='ignore'), ['month', 'day'])],\n", + " 'preprocessing__verbose': False,\n", + " 'preprocessing__verbose_feature_names_out': True,\n", + " 'preprocessing__num': StandardScaler(),\n", + " 'preprocessing__cat': OneHotEncoder(handle_unknown='ignore'),\n", + " 'preprocessing__num__copy': True,\n", + " 'preprocessing__num__with_mean': True,\n", + " 'preprocessing__num__with_std': True,\n", + " 'preprocessing__cat__categories': 'auto',\n", + " 'preprocessing__cat__drop': None,\n", + " 'preprocessing__cat__dtype': numpy.float64,\n", + " 'preprocessing__cat__feature_name_combiner': 'concat',\n", + " 'preprocessing__cat__handle_unknown': 'ignore',\n", + " 'preprocessing__cat__max_categories': None,\n", + " 'preprocessing__cat__min_frequency': None,\n", + " 'preprocessing__cat__sparse_output': True,\n", + " 'regressor__alpha': 0.9,\n", + " 'regressor__ccp_alpha': 0.0,\n", + " 'regressor__criterion': 'friedman_mse',\n", + " 'regressor__init': None,\n", + " 'regressor__learning_rate': 0.1,\n", + " 'regressor__loss': 'squared_error',\n", + " 'regressor__max_depth': 3,\n", + " 'regressor__max_features': None,\n", + " 'regressor__max_leaf_nodes': None,\n", + " 'regressor__min_impurity_decrease': 0.0,\n", + " 'regressor__min_samples_leaf': 1,\n", + " 'regressor__min_samples_split': 2,\n", + " 'regressor__min_weight_fraction_leaf': 0.0,\n", + " 'regressor__n_estimators': 100,\n", + " 'regressor__n_iter_no_change': None,\n", + " 'regressor__random_state': None,\n", + " 'regressor__subsample': 1.0,\n", + " 'regressor__tol': 0.0001,\n", + " 'regressor__validation_fraction': 0.1,\n", + " 'regressor__verbose': 0,\n", + " 'regressor__warm_start': False}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipelineC.get_params()" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "scoring = ['neg_log_loss', 'roc_auc', 'f1', 'accuracy', 'precision', 'recall']\n", + "refit_score = 'neg_root_mean_squared_error'\n", + "\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 42)\n", + "\n", + "param_grid_base = {\n", + " 'regressor__n_neighbors': [3, 5, 7, 9] \n", + "}\n", + "\n", + "param_grid_adv = {\n", + " 'regressor__n_estimators': [100, 150],\n", + " 'regressor__learning_rate': [0.05, 0.1]\n", + "}" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "scoring = make_scorer(max_error, greater_is_better=False)" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\karma\\miniconda3\\envs\\dsi_participant\\lib\\site-packages\\threadpoolctl.py:1226: RuntimeWarning: \n", + "Found Intel OpenMP ('libiomp') and LLVM OpenMP ('libomp') loaded at\n", + "the same time. Both libraries are known to be incompatible and this\n", + "can cause random crashes or deadlocks on Linux when loaded in the\n", + "same Python program.\n", + "Using threadpoolctl may cause crashes or deadlocks. For more\n", + "information and possible workarounds, please see\n", + " https://github.com/joblib/threadpoolctl/blob/master/multiple_openmp.md\n", + "\n", + " warnings.warn(msg, RuntimeWarning)\n" + ] + }, + { + "data": { + "text/html": [ + "
GridSearchCV(cv=5,\n",
+       "             estimator=Pipeline(steps=[('preprocessing',\n",
+       "                                        ColumnTransformer(transformers=[('num',\n",
+       "                                                                         StandardScaler(),\n",
+       "                                                                         ['coord_x',\n",
+       "                                                                          'coord_y',\n",
+       "                                                                          'ffmc',\n",
+       "                                                                          'dmc',\n",
+       "                                                                          'dc',\n",
+       "                                                                          'isi',\n",
+       "                                                                          'temp',\n",
+       "                                                                          'rh',\n",
+       "                                                                          'wind',\n",
+       "                                                                          'rain']),\n",
+       "                                                                        ('cat',\n",
+       "                                                                         OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                                                         ['month',\n",
+       "                                                                          'day'])])),\n",
+       "                                       ('regressor', KNeighborsRegressor())]),\n",
+       "             param_grid={'regressor__n_neighbors': [3, 5, 7, 9]},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=Pipeline(steps=[('preprocessing',\n", + " ColumnTransformer(transformers=[('num',\n", + " StandardScaler(),\n", + " ['coord_x',\n", + " 'coord_y',\n", + " 'ffmc',\n", + " 'dmc',\n", + " 'dc',\n", + " 'isi',\n", + " 'temp',\n", + " 'rh',\n", + " 'wind',\n", + " 'rain']),\n", + " ('cat',\n", + " OneHotEncoder(handle_unknown='ignore'),\n", + " ['month',\n", + " 'day'])])),\n", + " ('regressor', KNeighborsRegressor())]),\n", + " param_grid={'regressor__n_neighbors': [3, 5, 7, 9]},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_cvA = GridSearchCV(\n", + " estimator=pipelineA,\n", + " param_grid=param_grid_base,\n", + " scoring='neg_mean_squared_error', \n", + " cv=5,\n", + " refit=True \n", + ")\n", + "\n", + "grid_cvA.fit(x_train, y_train)" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
GridSearchCV(cv=5,\n",
+       "             estimator=Pipeline(steps=[('preprocessing',\n",
+       "                                        ColumnTransformer(transformers=[('log_num',\n",
+       "                                                                         Pipeline(steps=[('log',\n",
+       "                                                                                          FunctionTransformer(func=<ufunc 'log1p'>,\n",
+       "                                                                                                              validate=True)),\n",
+       "                                                                                         ('scaler',\n",
+       "                                                                                          StandardScaler())]),\n",
+       "                                                                         ['rain',\n",
+       "                                                                          'isi',\n",
+       "                                                                          'dc']),\n",
+       "                                                                        ('num',\n",
+       "                                                                         Pipeline(steps=[('scaler',\n",
+       "                                                                                          StandardScaler())]),\n",
+       "                                                                         ['ffmc',\n",
+       "                                                                          'coord_y',\n",
+       "                                                                          'temp',\n",
+       "                                                                          'dmc',\n",
+       "                                                                          'rh',\n",
+       "                                                                          'wind',\n",
+       "                                                                          'coord_x']),\n",
+       "                                                                        ('cat',\n",
+       "                                                                         OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                                                         ['month',\n",
+       "                                                                          'day'])])),\n",
+       "                                       ('regressor', KNeighborsRegressor())]),\n",
+       "             param_grid={'regressor__n_neighbors': [3, 5, 7, 9]},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=Pipeline(steps=[('preprocessing',\n", + " ColumnTransformer(transformers=[('log_num',\n", + " Pipeline(steps=[('log',\n", + " FunctionTransformer(func=,\n", + " validate=True)),\n", + " ('scaler',\n", + " StandardScaler())]),\n", + " ['rain',\n", + " 'isi',\n", + " 'dc']),\n", + " ('num',\n", + " Pipeline(steps=[('scaler',\n", + " StandardScaler())]),\n", + " ['ffmc',\n", + " 'coord_y',\n", + " 'temp',\n", + " 'dmc',\n", + " 'rh',\n", + " 'wind',\n", + " 'coord_x']),\n", + " ('cat',\n", + " OneHotEncoder(handle_unknown='ignore'),\n", + " ['month',\n", + " 'day'])])),\n", + " ('regressor', KNeighborsRegressor())]),\n", + " param_grid={'regressor__n_neighbors': [3, 5, 7, 9]},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_cvB = GridSearchCV(\n", + " estimator=pipelineB,\n", + " param_grid=param_grid_base,\n", + " scoring='neg_mean_squared_error', \n", + " cv=5,\n", + " refit=True \n", + ")\n", + "\n", + "grid_cvB.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
GridSearchCV(cv=5,\n",
+       "             estimator=Pipeline(steps=[('preprocessing',\n",
+       "                                        ColumnTransformer(transformers=[('num',\n",
+       "                                                                         StandardScaler(),\n",
+       "                                                                         ['coord_x',\n",
+       "                                                                          'coord_y',\n",
+       "                                                                          'ffmc',\n",
+       "                                                                          'dmc',\n",
+       "                                                                          'dc',\n",
+       "                                                                          'isi',\n",
+       "                                                                          'temp',\n",
+       "                                                                          'rh',\n",
+       "                                                                          'wind',\n",
+       "                                                                          'rain']),\n",
+       "                                                                        ('cat',\n",
+       "                                                                         OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                                                         ['month',\n",
+       "                                                                          'day'])])),\n",
+       "                                       ('regressor',\n",
+       "                                        GradientBoostingRegressor())]),\n",
+       "             param_grid={'regressor__learning_rate': [0.05, 0.1],\n",
+       "                         'regressor__n_estimators': [100, 150]},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=Pipeline(steps=[('preprocessing',\n", + " ColumnTransformer(transformers=[('num',\n", + " StandardScaler(),\n", + " ['coord_x',\n", + " 'coord_y',\n", + " 'ffmc',\n", + " 'dmc',\n", + " 'dc',\n", + " 'isi',\n", + " 'temp',\n", + " 'rh',\n", + " 'wind',\n", + " 'rain']),\n", + " ('cat',\n", + " OneHotEncoder(handle_unknown='ignore'),\n", + " ['month',\n", + " 'day'])])),\n", + " ('regressor',\n", + " GradientBoostingRegressor())]),\n", + " param_grid={'regressor__learning_rate': [0.05, 0.1],\n", + " 'regressor__n_estimators': [100, 150]},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_cvC = GridSearchCV(\n", + " estimator=pipelineC,\n", + " param_grid=param_grid_adv,\n", + " scoring='neg_mean_squared_error', # or 'r2'\n", + " cv=5,\n", + " refit=True\n", + ")\n", + "\n", + "grid_cvC.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
GridSearchCV(cv=5,\n",
+       "             estimator=Pipeline(steps=[('preprocessing',\n",
+       "                                        ColumnTransformer(transformers=[('log_num',\n",
+       "                                                                         Pipeline(steps=[('log',\n",
+       "                                                                                          FunctionTransformer(func=<ufunc 'log1p'>,\n",
+       "                                                                                                              validate=True)),\n",
+       "                                                                                         ('scaler',\n",
+       "                                                                                          StandardScaler())]),\n",
+       "                                                                         ['rain',\n",
+       "                                                                          'isi',\n",
+       "                                                                          'dc']),\n",
+       "                                                                        ('num',\n",
+       "                                                                         Pipeline(steps=[('scaler',\n",
+       "                                                                                          StandardScaler())]),\n",
+       "                                                                         ['ffmc',\n",
+       "                                                                          'coord_y',\n",
+       "                                                                          'temp',\n",
+       "                                                                          'dmc',\n",
+       "                                                                          'rh',\n",
+       "                                                                          'wind',\n",
+       "                                                                          'coord_x']),\n",
+       "                                                                        ('cat',\n",
+       "                                                                         OneHotEncoder(handle_unknown='ignore'),\n",
+       "                                                                         ['month',\n",
+       "                                                                          'day'])])),\n",
+       "                                       ('regressor',\n",
+       "                                        GradientBoostingRegressor())]),\n",
+       "             param_grid={'regressor__learning_rate': [0.05, 0.1],\n",
+       "                         'regressor__n_estimators': [100, 150]},\n",
+       "             scoring='neg_mean_squared_error')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=Pipeline(steps=[('preprocessing',\n", + " ColumnTransformer(transformers=[('log_num',\n", + " Pipeline(steps=[('log',\n", + " FunctionTransformer(func=,\n", + " validate=True)),\n", + " ('scaler',\n", + " StandardScaler())]),\n", + " ['rain',\n", + " 'isi',\n", + " 'dc']),\n", + " ('num',\n", + " Pipeline(steps=[('scaler',\n", + " StandardScaler())]),\n", + " ['ffmc',\n", + " 'coord_y',\n", + " 'temp',\n", + " 'dmc',\n", + " 'rh',\n", + " 'wind',\n", + " 'coord_x']),\n", + " ('cat',\n", + " OneHotEncoder(handle_unknown='ignore'),\n", + " ['month',\n", + " 'day'])])),\n", + " ('regressor',\n", + " GradientBoostingRegressor())]),\n", + " param_grid={'regressor__learning_rate': [0.05, 0.1],\n", + " 'regressor__n_estimators': [100, 150]},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid_cvD = GridSearchCV(\n", + " estimator=pipelineD,\n", + " param_grid=param_grid_adv,\n", + " scoring='neg_mean_squared_error', # or 'r2'\n", + " cv=5,\n", + " refit=True\n", + ")\n", + "\n", + "grid_cvD.fit(x_train, y_train)" + ] }, { "cell_type": "markdown", @@ -319,27 +3853,136 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 26, "metadata": {}, + "outputs": [], "source": [ - "# Export\n", + "best_model_A = grid_cvA.best_estimator_\n", + "best_model_B = grid_cvB.best_estimator_\n", + "best_model_C = grid_cvC.best_estimator_\n", + "best_model_D = grid_cvD.best_estimator_" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "y_pred_A = best_model_A.predict(x_test)\n", + "y_pred_B = best_model_B.predict(x_test)\n", + "y_pred_C = best_model_C.predict(x_test)\n", + "y_pred_D = best_model_D.predict(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "rmse_A = np.sqrt(mean_squared_error(y_test, y_pred_A))\n", + "rmse_B = np.sqrt(mean_squared_error(y_test, y_pred_B))\n", + "rmse_C = np.sqrt(mean_squared_error(y_test, y_pred_C))\n", + "rmse_D = np.sqrt(mean_squared_error(y_test, y_pred_D))" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline A RMSE: 108.87388907135558\n", + "Pipeline B RMSE: 108.5897384635607\n", + "Pipeline C RMSE: 108.97109528406757\n", + "Pipeline D RMSE: 108.13067881759166\n" + ] + } + ], + "source": [ + "print(\"Pipeline A RMSE:\", rmse_A)\n", + "print(\"Pipeline B RMSE:\", rmse_B)\n", + "print(\"Pipeline C RMSE:\", rmse_C)\n", + "print(\"Pipeline D RMSE:\", rmse_D)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "rmse_scores = {\n", + " 'Pipeline A': rmse_A,\n", + " 'Pipeline B': rmse_B,\n", + " 'Pipeline C': rmse_C,\n", + " 'Pipeline D': rmse_D\n", + "}\n", "\n", - "+ Save the best performing model to a pickle file." + "best_pipeline_name = min(rmse_scores, key=rmse_scores.get)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best pipeline based on RMSE is: Pipeline D with RMSE = 108.13067881759166\n" + ] + }, + { + "data": { + "text/plain": [ + "'Pipeline D'" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(\"Best pipeline based on RMSE is:\", best_pipeline_name, \"with RMSE =\", rmse_scores[best_pipeline_name])\n", + "\n", + "best_pipeline_name" + ] + }, + { + "cell_type": "code", + "execution_count": 44, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "best_model = grid_cvD.best_estimator_\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Export\n", + "\n", + "+ Save the best performing model to a pickle file." + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "with open('best_pipelineD_model.pkl', 'wb') as file:\n", + " pickle.dump(grid_cvD.best_estimator_, file)" + ] }, { "cell_type": "markdown", @@ -358,17 +4001,87 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "data_transform = best_model.named_steps['preprocessing'].transform(x)\n", + "\n", + "preprocessor = best_model.named_steps['preprocessing']\n", + "\n", + "feature_names = []\n", + "\n", + "for name, transformer, cols in preprocessor.transformers_:\n", + " # Skip dropped columns\n", + " if transformer == 'drop':\n", + " continue\n", + "\n", + " # Passthrough\n", + " if transformer == 'passthrough':\n", + " feature_names.extend(cols)\n", + " continue\n", + "\n", + " # Pipelines (e.g., might include 'log', scaler, etc.)\n", + " if isinstance(transformer, Pipeline):\n", + " last_step = transformer.steps[-1][1]\n", + " if hasattr(last_step, 'get_feature_names_out'):\n", + " try:\n", + " names = last_step.get_feature_names_out(cols)\n", + " feature_names.extend(names)\n", + " except:\n", + " feature_names.extend(cols)\n", + " else:\n", + " feature_names.extend(cols)\n", + "\n", + " # Single transformers (e.g., OneHotEncoder)\n", + " elif hasattr(transformer, 'get_feature_names_out'):\n", + " try:\n", + " names = transformer.get_feature_names_out(cols)\n", + " feature_names.extend(names)\n", + " except:\n", + " feature_names.extend(cols)\n", + " else:\n", + " feature_names.extend(cols)" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2IAAAHxCAYAAAAPwg9WAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAADKQUlEQVR4nOzdd3xUVfrH8c+dlknvhEBI6E0EFCzYALssiAIWXAtgw+7a1l0L4rrq/tZ17QooKgoWUNeGYgNsgIIgHaQFElIgvU69vz8CCUMmSAJp8n3vaxbuueee89wJzuS559xzDdM0TURERERERKTJWJo7ABERERERkSONEjEREREREZEmpkRMRERERESkiSkRExERERERaWJKxERERERERJqYEjEREREREZEmpkRMRERERESkiSkRExERERERaWJKxERERERERJqYEjEREREREWkxHnroISIiIg5qn2EYPPHEE/Xuo6HHHU62Zu1dRERERESkgRYtWkRaWlpzh9EgSsRERERERKRVOvHEE5s7hAbT1EQREREREWmV9p9iaJomDz/8MG3btiUiIoJRo0Yxd+5cDMNgwYIFAcf6/X4mTZpEUlISCQkJjB8/nrKysiaLXYmYiIiIiIi0OF6vt9bL7/cf8Jhnn32Whx56iHHjxvH+++/TrVs3Jk6cGLTuc889x6ZNm3j99dd54IEHmDVrFv/4xz8a41SC0tREEZHDwOPx8OqrrwIwfvx47HZ7M0ckIiLSQhijgpeb79d5SFlZWZ3fpeHh4UHLfT4fjz/+OOPHj+fxxx8H4OyzzyYnJ4fXX3+9Vv22bdsyc+ZMAM4991x+/vln5syZU31sY9OImIiIiIiItCihoaH8/PPPtV7XXnttncdkZGSQlZXF+eefH1A+cuTIoPXPPvvsgO3evXuTkZFx6MEfJI2IiYiIiIhIIzLqfYTFYmHgwIG1yj/55JM6j8nKygIgMTExoLxNmzZB68fExARsOxwOXC5XPSNtOI2IiYiIiIhIq5ecnAzArl27Aspzc3ObI5zfpURMREREREQakVHH6/BKSUmhbdu2fPjhhwHl//vf/w57X4eDpiaKiIiIiEgjOvxJVzBWq5W//e1v3H777SQlJTF06FC++eYb5s+fD1RNd2xJWlY0IiIiIiIiDXTLLbcwadIkpk+fzoUXXsi6dev417/+BUB0dHQz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nnPOOYd58+bx6quvMmvWLPr06cOJJ57I2WefXd1HQUEBRUVF/PTTT5x55plB27FYal8H6dixY62yTp06ATXvnxx+fxlo5cR2fp782c8X26B4z+ryMSEwb7SFLrEGic/7OLiPXZNHPn/nwFWSomHonhHbiFBY8jjM/hF2FsDI46FX4LRapkyEMYPg501wfFc4q3+9zk9ERKQ5taYVEoNZt24d06dPZ+bMmcyZM4fk5GSuuuoqxo0bR7du3RrcrhIxqbdgCQSA1drw+V11XVmoq68DHVOXutqqbzt2u51nn32WtWvXsmjRIpYvX860adOYNm0aDz74IOeee251mwMHDmT8+PEH3bZxgKtDB9onh25QOwuzR1b9G9lVblLihs4xNe/5sissXPeFn6U5v9+W1WEFt6/uChufD9wODYErh9Zd3zDg7P5VLxEREWlSPXr04F//+hePPfYYn3/+Oa+99hpPPvkkjz/+OCeddBITJkyo1+97eykRkyazd/GMzZs3M2jQoIB9W7ZsCahTX82RpPTu3ZvevXsDVavpXH755Tz33HOce+65xMbGEhkZSWlpafX9awdj69atDB48uFYZBB/Rk8aRGGaQGBZYdkyShZ+vsNDhRS8ZZQc+3kxrA7/VMTf/0T9DVFjwfSIiIn9ArWmp+gOxWCzVaxEUFhYya9YsHn/8ca699toGJWK6R0yazAknnEBoaCizZ8+mtLS0utzlcvHmm29itVo57bTTGtR2WFjVL7bFxcWHJdYDKSwsrFW2dzWdvf1bLBbOPfdc1q9fz7x584K2k5+fX6tszpw5Ae9NaWkp7733HpGRkQwcOPDwnIAcktN+51qBDR/m1XU8Ryw+Av42+vAHJSIiIk2muLiYd999lzfeeIOMjAycTmeD2tGImDSZyMhIbr/9dh577DGuvPJKzj//fGw2G3PnzmXjxo3ceOONtG3btkFtd+rUibCwMObMmUNoaCjh4eG0b9+ePn36HOazgFdeeYXFixdzyimnVI9S/fDDD6xfv56LLrqout5NN93Er7/+yv3338+CBQs4+uijsdvtZGVl8cMPP9CrVy8eeuihgLZjYmK46qqrOP/88zFNk48//pjs7Gzuv/9+QkODrK4nTS70dz41r7IvxLzuHHjoHaj01OywWmDrS40bnIiISAvU2pev3+vrr7/m1Vdf5YMPPqCiooIT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BpGRkQ1uV4mYiIiIiIg0mtY+IhZMVFTUIbehxTpERA7BT98V8NK5C5g+9BsKVuvh3SIiIvtr7Yt1AKxfv56xY8eSnJyMw+Hgl19+AWDy5MnMnz+/QW0qERMRaaBFn+awatw32DflY8suI+FTE8/MuOYOS0RERA6jFStWcNxxx7Fw4UKGDBmCz+er3ldaWspLL73UoHaViImINNBvd/0A+17RMwycGQa7Vxc2W0wiIiItTWsfEbv33nvp27cvmzZt4o033sA0zep9xx9/PD///HOD2lUiJiLSQF6Xr3ahYfD9PcuaPhgRERFpFD/88AP33HMPYWFhGPslkElJSWRnZzeoXS3WISLSQPlREbQtLKZDYQGmAQ6fj5zwSHanN3dkIiIiLYfZega/gjJNE4fDEXRfQUEBISEhDWpXI2IiIg0U7nUTU1HOpoQ2bI5vw7o2yTh9XkK93uYOTUREpMVo7VMT+/btywcffBB03+eff169tH19aURMRKQBTJ+f7hmZbItPCijfGRVDkqukmaISERGRw+22227jsssuIzw8nCuuuAKA7du388033zB9+nTmzJnToHaViImINMCPF87FZXdgNf34DGvAvhKns5miEhERaXla0+hXMJdccgmbN2/moYce4plnngFg9OjR2Gw2Jk+ezIgRIxrUrhIxEZF6Kv9iC3GfrSW9XSo+S2ASZvH5cOBppshERESkMfz973/niiuu4IsvviAnJ4eEhATOOecc0tLSGtymEjERkXpaet0CIq02KuxVN+46PW4iXS6KnU48hgWft3Vf+RMRETmc/K1wROyee+7h1ltvJSUlpbqsffv2XH311YetDy3WISJSTyG7SolxVRLi9dCxYDcnb99Cv5xMTk7fTLvS4uoETURERMDECPpqyf7zn/+wc+fO6m2fz4fdbueXX345bH0oERM5zKZMmcLAgQMD/uOVP5YodyUW4KicnXTJ3139VWIBuuXlYvjNAxwtIiIiLd2+D20+UNmhUCImIlJPIXuWp4+rrKh1Pc9qmoR5KuHNBeAKfq9YYaWJT8maiIgcIVr78vWNRfeIiciRxzRh6peQVwzXnAkRoRBW8zBG7/YivBlF5CbHgw86dAgBmwXP+jzW/vdXwg0LVtOP12JhZ2Q0LquNhPJSYisr8BlwdvZXrLglhX5XPINpwK8dOuFqG8/Uvqcyo8tA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "explainer = shap.explainers.Tree(\n", + " best_model.named_steps['regressor'],\n", + " data_transform,\n", + " feature_names = feature_names\n", + ")\n", + "\n", + "shap_values = explainer(data_transform, check_additivity=False)\n", + "\n", + "shap.plots.waterfall(shap_values[1])\n", + "shap.plots.beeswarm(shap_values)" + ] }, { "cell_type": "markdown", @@ -423,7 +4136,7 @@ ], "metadata": { "kernelspec": { - "display_name": "env", + "display_name": "dsi_participant", "language": "python", "name": "python3" }, @@ -437,7 +4150,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.9.19" } }, "nbformat": 4,