diff --git a/.gitignore b/.gitignore index 7807246..ea0aba3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,8 @@ __pycache__ .vscode .ipynb_checkpoints .DS_Store +.idea +models/__pycache__ +models/v3/__pycache__ +models/v3/model/__pycache__ +models/v3/model/parts/__pycache__ diff --git a/models/v3/Aragon_Conviction_Voting_Model.ipynb b/models/v3/Aragon_Conviction_Voting_Model.ipynb index 88d3290..51e2dd0 100644 --- a/models/v3/Aragon_Conviction_Voting_Model.ipynb +++ b/models/v3/Aragon_Conviction_Voting_Model.ipynb @@ -382,14 +382,51 @@ "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/home/aclarkdata/anaconda3/lib/python3.7/site-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n", - " import pandas.util.testing as tm\n" + "\n", + " ___________ ____\n", + " ________ __ ___/ / ____/ | / __ \\\n", + " / ___/ __` / __ / / / /| | / / / /\n", + "/ /__/ /_/ / /_/ / /___/ ___ |/ /_/ /\n", + "\\___/\\__,_/\\__,_/\\____/_/ |_/_____/\n", + "by cadCAD\n", + "\n", + "Execution Mode: local_proc\n", + "Configuration Count: 1\n", + "Dimensions of the first simulation: (Timesteps, Params, Runs, Vars) = (20, 11, 1, 9)\n", + "Execution Method: local_simulations\n", + "SimIDs : [0]\n", + "SubsetIDs: [0]\n", + "Ns : [0]\n", + "ExpIDs : [0]\n", + "Execution Mode: single_threaded\n", + "Total execution time: 2.32s\n" ] } ], + "source": [ + "# Debug Cell\n", + "from model import config\n", + "from model.parts.sys_params import initial_values\n", + "from model.parts.utils import *\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "from model import run\n", + "pd.options.display.float_format = '{:.2f}'.format\n", + "\n", + "%matplotlib inline\n", + "\n", + "rdf = run.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], "source": [ "from model import config\n", "from model.parts.sys_params import initial_values\n", @@ -534,7 +571,7 @@ { "data": { "text/plain": [ - "{'network': ,\n", + "{'network': ,\n", " 'funds': 4867.21,\n", " 'sentiment': 0.6,\n", " 'effective_supply': 14020.008000000002,\n", @@ -609,8 +646,8 @@ "data": { "text/plain": [ "{'type': 'participant',\n", - " 'holdings': 1297.0942803905527,\n", - " 'sentiment': 0.5338048276625109}" + " 'holdings': 6898.924984951563,\n", + " 'sentiment': 0.4474268614587007}" ] }, "execution_count": 8, @@ -640,7 +677,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -704,7 +741,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -714,11 +751,11 @@ " 'conviction': 0,\n", " 'status': 'candidate',\n", " 'age': 0,\n", - " 'funds_requested': 681.1084964231192,\n", + " 'funds_requested': 862.4400479725533,\n", " 'trigger': inf}" ] }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -744,7 +781,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -832,7 +869,9 @@ { "cell_type": "code", "execution_count": 15, - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -895,8 +934,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "metadata": { + "collapsed": true, "tags": [] }, "outputs": [ @@ -920,32 +960,40 @@ "SubsetIDs: [0]\n", "Ns : [0]\n", "ExpIDs : [0]\n", - "Execution Mode: single_threaded\n" + "Execution Mode: single_threaded\n", + "[{'alpha': 0.7937005259840998,\n", + " 'base_completion_rate': 45,\n", + " 'base_engagement_rate': 0.3,\n", + " 'base_failure_rate': 180,\n", + " 'beta': 0,\n", + " 'gamma': 0.001,\n", + " 'lowest_affinity_to_support': 0.3,\n", + " 'min_supp': 1,\n", + " 'rho': 0.0025,\n", + " 'sensitivity': 0.75,\n", + " 'tmin': 1}]\n" ] }, { - "ename": "TypeError", - "evalue": "list indices must be integers or slices, not str", + "ename": "NameError", + "evalue": "name 'exit' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'matplotlib'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'inline'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mrdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/repos/Aragon_Conviction_Voting/models/v3/model/run.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m()\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0msimulation\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExecutor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexec_context\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlocal_mode_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconfigs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0mraw_system_events\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtensor_field\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msessions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 21\u001b[0m \u001b[0;31m# Result System Events DataFrame\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mraw_system_events\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/__init__.py\u001b[0m in \u001b[0;36mexecute\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 151\u001b[0m simulations_results = self.exec_method(\n\u001b[1;32m 152\u001b[0m \u001b[0msim_executors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_lists\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs_structs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mTs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSimIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mRunIDs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 153\u001b[0;31m \u001b[0mExpIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetWindows\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moriginal_N\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 154\u001b[0m )\n\u001b[1;32m 155\u001b[0m \u001b[0mfinal_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_final_results\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msimulations_results\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpartial_state_updates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0meps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msessions\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mremote_threshold\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/execution.py\u001b[0m in \u001b[0;36mlocal_simulations\u001b[0;34m(simulation_execs, var_dict_list, states_lists, configs_structs, env_processes_list, Ts, SimIDs, Ns, ExpIDs, SubsetIDs, SubsetWindows, configured_n)\u001b[0m\n\u001b[1;32m 132\u001b[0m return single_proc_exec(\n\u001b[1;32m 133\u001b[0m \u001b[0msimulation_execs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_lists\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs_structs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mTs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSimIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 134\u001b[0;31m \u001b[0mExpIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetWindows\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigured_n\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 135\u001b[0m )\n\u001b[1;32m 136\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mconfig_amt\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# and config_amt < remote_threshold:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/execution.py\u001b[0m in \u001b[0;36msingle_proc_exec\u001b[0;34m(simulation_execs, var_dict_list, states_lists, configs_structs, env_processes_list, Ts, SimIDs, Ns, ExpIDs, SubsetIDs, SubsetWindows, configured_n)\u001b[0m\n\u001b[1;32m 34\u001b[0m )\n\u001b[1;32m 35\u001b[0m result = simulation_exec(\n\u001b[0;32m---> 36\u001b[0;31m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msim_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubset_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubset_window\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigured_n\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 37\u001b[0m )\n\u001b[1;32m 38\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36msimulation\u001b[0;34m(self, sweep_dict, states_list, configs, env_processes, time_seq, simulation_id, run, subset_id, subset_window, configured_N, additional_objs)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m pipe_run = flatten(\n\u001b[0;32m--> 251\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0mexecute_run\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 252\u001b[0m )\n\u001b[1;32m 253\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mexecute_run\u001b[0;34m(sweep_dict, states_list, configs, env_processes, time_seq, _run)\u001b[0m\n\u001b[1;32m 242\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 243\u001b[0m first_timestep_per_run: List[Dict[str, Any]] = self.run_pipeline(\n\u001b[0;32m--> 244\u001b[0;31m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list_copy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 245\u001b[0m )\n\u001b[1;32m 246\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mstates_list_copy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mrun_pipeline\u001b[0;34m(self, sweep_dict, states_list, configs, env_processes, time_seq, run, additional_objs)\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mtime_step\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m pipe_run: List[Dict[str, Any]] = self.state_update_pipeline(\n\u001b[0;32m--> 200\u001b[0;31m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msimulation_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 201\u001b[0m )\n\u001b[1;32m 202\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mstate_update_pipeline\u001b[0;34m(self, sweep_dict, simulation_list, configs, env_processes, time_step, run, additional_objs)\u001b[0m\n\u001b[1;32m 174\u001b[0m states_list: List[Dict[str, Any]] = self.partial_state_update(\n\u001b[1;32m 175\u001b[0m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msimulation_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms_conf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mp_conf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 176\u001b[0;31m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 177\u001b[0m )\n\u001b[1;32m 178\u001b[0m \u001b[0msub_step\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mpartial_state_update\u001b[0;34m(self, sweep_dict, sub_step, sL, sH, state_funcs, policy_funcs, env_processes, time_step, run, additional_objs)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[0mlast_in_obj\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDict\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdeepcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msL\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 119\u001b[0m _input: Dict[str, Any] = self.policy_update_exception(\n\u001b[0;32m--> 120\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_policy_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msH\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlast_in_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpolicy_funcs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 121\u001b[0m )\n\u001b[1;32m 122\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mget_policy_input\u001b[0;34m(self, sweep_dict, sub_step, sL, s, funcs, additional_objs)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 55\u001b[0;31m \u001b[0mcol_results\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_col_results\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfuncs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 56\u001b[0m \u001b[0mkey_set\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreduce\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcol_results\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0mnew_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkey_set\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mget_col_results\u001b[0;34m(sweep_dict, sub_step, sL, s, funcs)\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 42\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mpolicy_scope_tuner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madditional_objs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfuncs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 43\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minit_reduction_funct\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunct_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36m\u001b[0;34m(f)\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 42\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mpolicy_scope_tuner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madditional_objs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfuncs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 43\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minit_reduction_funct\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunct_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mpolicy_scope_tuner\u001b[0;34m(additional_objs, f)\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpolicy_scope_tuner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madditional_objs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0madditional_objs\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 39\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 40\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 41\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/repos/Aragon_Conviction_Voting/models/v3/model/parts/system.py\u001b[0m in \u001b[0;36mdriving_process\u001b[0;34m(params, step, sL, s)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0mnew_proposal_ct\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mmedian_affinity\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 56\u001b[0;31m \u001b[0mexpected_request\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'beta'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'funds'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 57\u001b[0m \u001b[0mnew_proposal_requested\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mexpon\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrvs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mexpected_request\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscale\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mexpected_request\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mct\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_proposal_ct\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: list indices must be integers or slices, not str" + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'matplotlib'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'inline'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mrdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/Projects/Aragon_Conviction_Voting/models/v3/model/run.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m()\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0msimulation\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExecutor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexec_context\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlocal_mode_ctx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconfigs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0mraw_system_events\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtensor_field\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msessions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msimulation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 21\u001b[0m \u001b[0;31m# Result System Events DataFrame\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mraw_system_events\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/__init__.py\u001b[0m in \u001b[0;36mexecute\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 151\u001b[0m simulations_results = self.exec_method(\n\u001b[1;32m 152\u001b[0m \u001b[0msim_executors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_lists\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs_structs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mTs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSimIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mRunIDs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 153\u001b[0;31m \u001b[0mExpIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetWindows\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moriginal_N\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 154\u001b[0m )\n\u001b[1;32m 155\u001b[0m \u001b[0mfinal_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_final_results\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msimulations_results\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpartial_state_updates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0meps\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msessions\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mremote_threshold\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/execution.py\u001b[0m in \u001b[0;36mlocal_simulations\u001b[0;34m(simulation_execs, var_dict_list, states_lists, configs_structs, env_processes_list, Ts, SimIDs, Ns, ExpIDs, SubsetIDs, SubsetWindows, configured_n)\u001b[0m\n\u001b[1;32m 133\u001b[0m return single_proc_exec(\n\u001b[1;32m 134\u001b[0m \u001b[0msimulation_execs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_lists\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs_structs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes_list\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 135\u001b[0;31m \u001b[0mTs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSimIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mExpIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetIDs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSubsetWindows\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigured_n\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 136\u001b[0m )\n\u001b[1;32m 137\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mconfig_amt\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# and config_amt < remote_threshold:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/execution.py\u001b[0m in \u001b[0;36msingle_proc_exec\u001b[0;34m(simulation_execs, var_dict_list, states_lists, configs_structs, env_processes_list, Ts, SimIDs, Ns, ExpIDs, SubsetIDs, SubsetWindows, configured_n)\u001b[0m\n\u001b[1;32m 35\u001b[0m )\n\u001b[1;32m 36\u001b[0m result = simulation_exec(\n\u001b[0;32m---> 37\u001b[0;31m \u001b[0mvar_dict_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msim_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubset_id\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubset_window\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigured_n\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 38\u001b[0m )\n\u001b[1;32m 39\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36msimulation\u001b[0;34m(self, sweep_dict, states_list, configs, env_processes, time_seq, simulation_id, run, subset_id, subset_window, configured_N, additional_objs)\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 254\u001b[0m pipe_run = flatten(\n\u001b[0;32m--> 255\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0mexecute_run\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 256\u001b[0m )\n\u001b[1;32m 257\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mexecute_run\u001b[0;34m(sweep_dict, states_list, configs, env_processes, time_seq, _run)\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m first_timestep_per_run: List[Dict[str, Any]] = self.run_pipeline(\n\u001b[0;32m--> 248\u001b[0;31m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list_copy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 249\u001b[0m )\n\u001b[1;32m 250\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mstates_list_copy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mrun_pipeline\u001b[0;34m(self, sweep_dict, states_list, configs, env_processes, time_seq, run, additional_objs)\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mtime_step\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtime_seq\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 203\u001b[0m pipe_run: List[Dict[str, Any]] = self.state_update_pipeline(\n\u001b[0;32m--> 204\u001b[0;31m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msimulation_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfigs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 205\u001b[0m )\n\u001b[1;32m 206\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mstate_update_pipeline\u001b[0;34m(self, sweep_dict, simulation_list, configs, env_processes, time_step, run, additional_objs)\u001b[0m\n\u001b[1;32m 178\u001b[0m states_list: List[Dict[str, Any]] = self.partial_state_update(\n\u001b[1;32m 179\u001b[0m \u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstates_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msimulation_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms_conf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mp_conf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 180\u001b[0;31m \u001b[0madditional_objs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 181\u001b[0m )\n\u001b[1;32m 182\u001b[0m \u001b[0msub_step\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mpartial_state_update\u001b[0;34m(self, sweep_dict, sub_step, sL, sH, state_funcs, policy_funcs, env_processes, time_step, run, additional_objs)\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0mlast_in_obj\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDict\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAny\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdeepcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msL\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 123\u001b[0m _input: Dict[str, Any] = self.policy_update_exception(\n\u001b[0;32m--> 124\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_policy_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msH\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlast_in_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpolicy_funcs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0madditional_objs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 125\u001b[0m )\n\u001b[1;32m 126\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mget_policy_input\u001b[0;34m(self, sweep_dict, sub_step, sL, s, funcs, additional_objs)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0mcol_results\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_col_results\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msub_step\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msL\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfuncs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0mkey_set\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreduce\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcol_results\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0mnew_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkey_set\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/cadCAD/engine/simulation.py\u001b[0m in \u001b[0;36mget_col_results\u001b[0;34m(sweep_dict, sub_step, sL, s, funcs)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0mpprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msweep_dict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0mexit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpolicy_scope_tuner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madditional_objs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0madditional_objs\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'exit' is not defined" ] } ], @@ -969,7 +1017,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -978,18 +1026,297 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "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", + "
networkfundssentimenteffective_supplytotal_supplyfractionOfSupplyForVotingfractionOfSupplyInPoolfractionOfProposalStagesfractionOfFundStagessimulation...age_allconviction_alltriggers_allconviction_share_of_trigger_allpercentageOfActiveProposalspercentageOfCompletedProposalspercentageOfKilledProposalspercentageOfActiveFundsRequestedpercentageOfCompletedFundsRequestedpercentageOfKilledFundsRequested
6(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...4889.600.6014020.0122414.610.634.58{'percentageOfActive': 0.0, 'percentageOfCompl...{'percentageOfActiveFundsRequested': 0.0, 'per...0...[1, 1, 1, 1, 1, 1, 1][1140.99452829493, 973.5581573746348, 238.7134...[inf, inf, inf, inf, inf, inf, inf][0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]0.000.000.140.000.000.10
12(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...4912.020.6014020.0122437.030.624.57{'percentageOfActive': 0.0, 'percentageOfCompl...{'percentageOfActiveFundsRequested': 0.0, 'per...0...[2, 2, 2, 2, 2, 2, 2, 1, 1][2178.391649954617, 1746.2717789589933, 428.18...[inf, inf, inf, inf, nan, inf, inf, inf, inf][0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, 0.0, 0.0]0.000.000.330.000.000.10
18(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...4934.450.6014020.0122459.460.624.55{'percentageOfActive': 0.0, 'percentageOfCompl...{'percentageOfActiveFundsRequested': 0.0, 'per...0...[3, 3, 3, 3, 3, 3, 3, 2, 2][3001.7742910703023, 2359.5749868455773, 576.2...[inf, inf, inf, inf, nan, inf, inf, nan, nan][0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan]0.000.000.330.000.000.10
24(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...4956.910.6014020.0122481.920.624.54{'percentageOfActive': 0.0, 'percentageOfCompl...{'percentageOfActiveFundsRequested': 0.0, 'per...0...[4, 4, 4, 4, 4, 4, 4, 3, 3][3709.455194161197, 3028.521847490869, 700.333...[inf, inf, inf, inf, nan, inf, inf, nan, nan][0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan]0.000.000.330.000.000.10
30(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...4979.400.6014020.0122504.410.624.52{'percentageOfActive': 0.0, 'percentageOfCompl...{'percentageOfActiveFundsRequested': 0.0, 'per...0...[5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1][4271.1418991733435, 3559.465322640449, 795.01...[inf, inf, inf, inf, nan, inf, inf, nan, nan, ...[0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan, ...0.000.000.360.000.000.10
\n", + "

5 rows × 43 columns

\n", + "
" + ], + "text/plain": [ + " network funds sentiment \\\n", + "6 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 4889.60 0.60 \n", + "12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 4912.02 0.60 \n", + "18 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 4934.45 0.60 \n", + "24 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 4956.91 0.60 \n", + "30 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 4979.40 0.60 \n", + "\n", + " effective_supply total_supply fractionOfSupplyForVoting \\\n", + "6 14020.01 22414.61 0.63 \n", + "12 14020.01 22437.03 0.62 \n", + "18 14020.01 22459.46 0.62 \n", + "24 14020.01 22481.92 0.62 \n", + "30 14020.01 22504.41 0.62 \n", + "\n", + " fractionOfSupplyInPool fractionOfProposalStages \\\n", + "6 4.58 {'percentageOfActive': 0.0, 'percentageOfCompl... \n", + "12 4.57 {'percentageOfActive': 0.0, 'percentageOfCompl... \n", + "18 4.55 {'percentageOfActive': 0.0, 'percentageOfCompl... \n", + "24 4.54 {'percentageOfActive': 0.0, 'percentageOfCompl... \n", + "30 4.52 {'percentageOfActive': 0.0, 'percentageOfCompl... \n", + "\n", + " fractionOfFundStages simulation ... \\\n", + "6 {'percentageOfActiveFundsRequested': 0.0, 'per... 0 ... \n", + "12 {'percentageOfActiveFundsRequested': 0.0, 'per... 0 ... \n", + "18 {'percentageOfActiveFundsRequested': 0.0, 'per... 0 ... \n", + "24 {'percentageOfActiveFundsRequested': 0.0, 'per... 0 ... \n", + "30 {'percentageOfActiveFundsRequested': 0.0, 'per... 0 ... \n", + "\n", + " age_all \\\n", + "6 [1, 1, 1, 1, 1, 1, 1] \n", + "12 [2, 2, 2, 2, 2, 2, 2, 1, 1] \n", + "18 [3, 3, 3, 3, 3, 3, 3, 2, 2] \n", + "24 [4, 4, 4, 4, 4, 4, 4, 3, 3] \n", + "30 [5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1] \n", + "\n", + " conviction_all \\\n", + "6 [1140.99452829493, 973.5581573746348, 238.7134... \n", + "12 [2178.391649954617, 1746.2717789589933, 428.18... \n", + "18 [3001.7742910703023, 2359.5749868455773, 576.2... \n", + "24 [3709.455194161197, 3028.521847490869, 700.333... \n", + "30 [4271.1418991733435, 3559.465322640449, 795.01... \n", + "\n", + " triggers_all \\\n", + "6 [inf, inf, inf, inf, inf, inf, inf] \n", + "12 [inf, inf, inf, inf, nan, inf, inf, inf, inf] \n", + "18 [inf, inf, inf, inf, nan, inf, inf, nan, nan] \n", + "24 [inf, inf, inf, inf, nan, inf, inf, nan, nan] \n", + "30 [inf, inf, inf, inf, nan, inf, inf, nan, nan, ... \n", + "\n", + " conviction_share_of_trigger_all \\\n", + "6 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] \n", + "12 [0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, 0.0, 0.0] \n", + "18 [0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan] \n", + "24 [0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan] \n", + "30 [0.0, 0.0, 0.0, 0.0, nan, 0.0, 0.0, nan, nan, ... \n", + "\n", + " percentageOfActiveProposals percentageOfCompletedProposals \\\n", + "6 0.00 0.00 \n", + "12 0.00 0.00 \n", + "18 0.00 0.00 \n", + "24 0.00 0.00 \n", + "30 0.00 0.00 \n", + "\n", + " percentageOfKilledProposals percentageOfActiveFundsRequested \\\n", + "6 0.14 0.00 \n", + "12 0.33 0.00 \n", + "18 0.33 0.00 \n", + "24 0.33 0.00 \n", + "30 0.36 0.00 \n", + "\n", + " percentageOfCompletedFundsRequested percentageOfKilledFundsRequested \n", + "6 0.00 0.10 \n", + "12 0.00 0.10 \n", + "18 0.00 0.10 \n", + "24 0.00 0.10 \n", + "30 0.00 0.10 \n", + "\n", + "[5 rows x 43 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.head(5)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEGCAYAAABrQF4qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAYl0lEQVR4nO3dfZRU9Z3n8ffHBmR8yIjScdBmB8zAHkWwAxVWYhLRWRQ1Qh4mRncykXGiY2bZ7JyNLuSYg4HJ7saJE/fMhkwOYVgysxMlYXxoI4o4oxsXQSk4BOnmwQ4yayOjPUh8iKvQ5rt/3NtMUammq6GqC37zeZ1Tp+v+7u/W/dbl8unb91bdnyICMzNL10mNLsDMzOrLQW9mljgHvZlZ4hz0ZmaJc9CbmSVuSKMLKDdy5MgYM2ZMo8swMzuhbNy48Z8iornSvOMu6MeMGUOxWGx0GWZmJxRJ/9DXPJ+6MTNLnIPezCxxDnozs8Qdd+fozSwdBw8epKuri3feeafRpSRj+PDhtLS0MHTo0KqXcdCbWd10dXVx+umnM2bMGCQ1upwTXkSwb98+urq6GDt2bNXLVXXqRtJMSTskdUqa30ef6yR1SGqX9IO87TclbZK0OW+/terKzOyE984773DWWWc55GtEEmedddaA/0Lq94heUhOwGJgBdAEbJLVFREdJn3HAV4BLImK/pPfns/YC0yLiXUmnAVvzZV8eUJVmdsJyyNfW0WzPao7opwKdEbErIg4A9wGzy/rcDCyOiP0AEfFq/vNARLyb9zm5yvWZmVkNVRO85wIvlUx35W2lxgPjJa2VtF7SzN4ZkkZL2pK/xl2VjuYl3SKpKKnY3d098HdhZlYnmzdvZtWqVYem29ra+MY3vlHXdT711FM888wzNXu9Wh1hDwHGAdOBG4DvSToDICJeiohJwG8BN0o6u3zhiFgSEYWIKDQ3V/wGr5lZQ5QH/axZs5g/v+KlypppRNDvAUaXTLfkbaW6gLaIOBgRLwI7yYL/kPxIfivw0aMv18yser/4xS+45ppruOiii7jwwgtZsWIFGzdu5NJLL2XKlClceeWV7N27F4Dp06czb948pk6dyvjx43n66ac5cOAACxYsYMWKFbS2trJixQqWL1/O3LlzAZgzZw5f/OIXufjiiznvvPN46qmnuOmmmzj//POZM2fOoToef/xxpk2bxuTJk/nMZz7DW2+9BWS3fLnzzjuZPHkyEydOZPv27ezevZvvfve73HPPPbS2tvL0008f83ao5uOVG4BxksaSBfz1wL8r6/Mg2ZH8/5Q0kuxUzi5JLcC+iPh/kkYAHwHuOeaqzeyEs/DhdjpefqOmr3nBOe/jzmsn9Dn/scce45xzzuGRRx4B4PXXX+eqq67ioYceorm5mRUrVnDHHXewbNkyAHp6enjuuedYtWoVCxcu5IknnmDRokUUi0W+/e1vA7B8+fLD1rF//37WrVtHW1sbs2bNYu3atSxdupQPfehDbN68mZaWFr7+9a/zxBNPcOqpp3LXXXfxrW99iwULFgAwcuRINm3axHe+8x3uvvtuli5dyq233sppp53GbbfdVpPt1G/QR0SPpLnAaqAJWBYR7ZIWAcWIaMvnXSGpA3gPuD0i9kmaAfyZpAAE3B0Rz9ekcjOzfkycOJEvf/nLzJs3j49//OOMGDGCrVu3MmPGDADee+89Ro0adaj/pz71KQCmTJnC7t27q1rHtddeiyQmTpzI2WefzcSJEwGYMGECu3fvpquri46ODi655BIADhw4wLRp0yqu8/777z/m91xJVV+YiohVwKqytgUlzwP4T/mjtM8aYNKxl2lmJ7ojHXnXy/jx49m0aROrVq3iq1/9KpdffjkTJkxg3bp1FfuffPLJADQ1NdHT01PVOnqXOemkkw49753u6emhqamJGTNmcO+999ZsnQPljzuaWbJefvllTjnlFD73uc9x++238+yzz9Ld3X0o6A8ePEh7e/sRX+P000/nzTffPOoaLr74YtauXUtnZyeQXTfYuXNnXddZzkFvZsl6/vnnmTp1Kq2trSxcuJBFixaxcuVK5s2bx0UXXURra2u/n2657LLL6OjoOHQxdqCam5tZvnw5N9xwA5MmTWLatGls3779iMtce+21PPDAAzW7GKvsrMvxo1AohAceMUvDtm3bOP/88xtdRnIqbVdJGyOiUKm/j+jNzBLnoDczS5yD3szq6ng7PXyiO5rt6aA3s7oZPnw4+/btc9jXSO/96IcPHz6g5TzwiJnVTUtLC11dXfhmhbXTO8LUQDjozaxuhg4dOqCRkKw+fOrGzCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEldV0EuaKWmHpE5J8/voc52kDkntkn6Qt7VKWpe3bZH02VoWb2Zm/et34BFJTcBiYAbQBWyQ1BYRHSV9xgFfAS6JiP2S3p/Pehv4fES8IOkcYKOk1RHx85q/EzMzq6iaI/qpQGdE7IqIA8B9wOyyPjcDiyNiP0BEvJr/3BkRL+TPXwZeBZprVbyZmfWvmqA/F3ipZLorbys1Hhgvaa2k9ZJmlr+IpKnAMOBnFebdIqkoqeixJc3MaqtWF2OHAOOA6cANwPckndE7U9Io4K+B34+IX5YvHBFLIqIQEYXmZh/wm5nVUjVBvwcYXTLdkreV6gLaIuJgRLwI7CQLfiS9D3gEuCMi1h97yWZmNhDVBP0GYJyksZKGAdcDbWV9HiQ7mkfSSLJTObvy/g8AfxURK2tWtZmZVa3foI+IHmAusBrYBvwwItolLZI0K++2GtgnqQN4Erg9IvYB1wEfA+ZI2pw/WuvyTszMrCJFRKNrOEyhUIhisdjoMszMTiiSNkZEodI8fzPWzCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLnIPezCxxDnozs8Q56M3MEuegNzNLXFVBL2mmpB2SOiXN76PPdZI6JLVL+kFJ+2OSfi7px7Uq2szMqjekvw6SmoDFwAygC9ggqS0iOkr6jAO+AlwSEfslvb/kJb4JnAL8YU0rNzOzqlRzRD8V6IyIXRFxALgPmF3W52ZgcUTsB4iIV3tnRMTfAW/WqF4zMxugaoL+XOClkumuvK3UeGC8pLWS1kuaOZAiJN0iqSip2N3dPZBFzcysH7W6GDsEGAdMB24AvifpjGoXjoglEVGIiEJzc3ONSjIzM6gu6PcAo0umW/K2Ul1AW0QcjIgXgZ1kwW9mZg1WTdBvAMZJGitpGHA90FbW50Gyo3kkjSQ7lbOrhnWamdlR6jfoI6IHmAusBrYBP4yIdkmLJM3Ku60G9knqAJ4Ebo+IfQCSngZ+BPy2pC5JV9bjjZiZWWWKiEbXcJhCoRDFYrHRZZiZnVAkbYyIQqV5/masmVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWuKqCXtJMSTskdUqa30ef6yR1SGqX9IOS9hslvZA/bqxV4WZmVp0h/XWQ1AQsBmYAXcAGSW0R0VHSZxzwFeCSiNgv6f15+5nAnUABCGBjvuz+2r8VMzOrpN+gB6YCnRGxC0DSfcBsoKOkz83A4t4Aj4hX8/YrgTUR8Vq+7BpgJnBvbco/3MKH2+l4+Y16vLSZWd1dcM77uPPaCTV/3WpO3ZwLvFQy3ZW3lRoPjJe0VtJ6STMHsCySbpFUlFTs7u6uvnozM+tXNUf01b7OOGA60AL8RNLEaheOiCXAEoBCoRBHW0Q9fhOamZ3oqjmi3wOMLpluydtKdQFtEXEwIl4EdpIFfzXLmplZHVUT9BuAcZLGShoGXA+0lfV5kOxoHkkjyU7l7AJWA1dIGiFpBHBF3mZmZoOk31M3EdEjaS5ZQDcByyKiXdIioBgRbfxzoHcA7wG3R8Q+AEl/QvbLAmBR74VZMzMbHIo46lPidVEoFKJYLDa6DDOzE4qkjRFRqDTP34w1M0ucg97MLHEOejOzxDnozcwS56A3M0ucg97MLHEOejOzxDnozcwS56A3M0ucg97MLHEOejOzxDnozcwS56A3M0ucg97MLHEOejOzxDnozcwS56A3M0ucg97MLHEOejOzxDnozcwS56A3M0ucg97MLHEOejOzxDnozcwSV1XQS5opaYekTknzK8yfI6lb0ub88YWSeXdJ2po/PlvL4s3MrH9D+usgqQlYDMwAuoANktoioqOs64qImFu27DXAZKAVOBl4StKjEfFGTao3M7N+VXNEPxXojIhdEXEAuA+YXeXrXwD8JCJ6IuIXwBZg5tGVamZmR6OaoD8XeKlkuitvK/dpSVskrZQ0Om/7KTBT0imSRgKXAaPLF5R0i6SipGJ3d/cA34KZmR1JrS7GPgyMiYhJwBrg+wAR8TiwCngGuBdYB7xXvnBELImIQkQUmpuba1SSmZlBdUG/h8OPwlvytkMiYl9EvJtPLgWmlMz7LxHRGhEzAAE7j61kMzMbiGqCfgMwTtJYScOA64G20g6SRpVMzgK25e1Nks7Kn08CJgGP16JwMzOrTr+fuomIHklzgdVAE7AsItolLQKKEdEGfEnSLKAHeA2Yky8+FHhaEsAbwOcioqf2b8PMzPqiiGh0DYcpFApRLBYbXYaZ2QlF0saIKFSa52/GmpklzkFvZpY4B72ZWeIc9GZmiXPQm5klzkFvZpY4B72ZWeIc9GZmiXPQm5klzkFvZpY4B72ZWeIc9GZmiXPQm5klzkFvZpY4B72ZWeIc9GZmiXPQm5klzkFvZpY4B72ZWeIc9GZmiXPQm5klzkFvZpY4B72ZWeIc9GZmiasq6CXNlLRDUqek+RXmz5HULWlz/vhCybw/ldQuaZukP5ekWr4BMzM7siH9dZDUBCwGZgBdwAZJbRHRUdZ1RUTMLVv2w8AlwKS86f8AlwJPHWPdZmZWpWqO6KcCnRGxKyIOAPcBs6t8/QCGA8OAk4GhwCtHU6iZmR2daoL+XOClkumuvK3cpyVtkbRS0miAiFgHPAnszR+rI2Jb+YKSbpFUlFTs7u4e8JswM7O+1epi7MPAmIiYBKwBvg8g6beA84EWsl8Ol0v6aPnCEbEkIgoRUWhubq5RSWZmBtUF/R5gdMl0S952SETsi4h388mlwJT8+SeB9RHxVkS8BTwKTDu2ks3MbCCqCfoNwDhJYyUNA64H2ko7SBpVMjkL6D0983+BSyUNkTSU7ELsr5y6MTOz+un3UzcR0SNpLrAaaAKWRUS7pEVAMSLagC9JmgX0AK8Bc/LFVwKXA8+TXZh9LCIerv3bMDOzvigiGl3DYQqFQhSLxUaXYWZ2QpG0MSIKleb5m7FmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniHPRmZolz0JuZJc5Bb2aWOAe9mVniqgp6STMl7ZDUKWl+hflzJHVL2pw/vpC3X1bStlnSO5I+Ues3YWZmfRvSXwdJTcBiYAbQBWyQ1BYRHWVdV0TE3NKGiHgSaM1f50ygE3i8FoWbmVl1qjminwp0RsSuiDgA3AfMPop1/Q7waES8fRTLmpnZUaom6M8FXiqZ7srbyn1a0hZJKyWNrjD/euDeSiuQdIukoqRid3d3FSWZmVm1anUx9mFgTERMAtYA3y+dKWkUMBFYXWnhiFgSEYWIKDQ3N9eoJDMzg+qCfg9QeoTekrcdEhH7IuLdfHIpMKXsNa4DHoiIg0dbqJmZHZ1qgn4DME7SWEnDyE7BtJV2yI/Ye80CtpW9xg30cdrGzMzqq99P3UREj6S5ZKddmoBlEdEuaRFQjIg24EuSZgE9wGvAnN7lJY0h+4vgf9e8ejMz65ciotE1HKZQKESxWGx0GWZmJxRJGyOiUGmevxlrZpY4B72ZWeIc9GZmiXPQm5kl7ri7GCupG/iHRtdxBCOBf2p0EUfg+o6N6zs2ru/YHEt9vxkRFb9xetwF/fFOUrGvK9vHA9d3bFzfsXF9x6Ze9fnUjZlZ4hz0ZmaJc9AP3JJGF9AP13dsXN+xcX3Hpi71+Ry9mVnifERvZpY4B72ZWeIc9GUkjZb0pKQOSe2S/mOFPtMlvV4y6PmCBtS5W9Lz+fp/5S5wyvx5PqD7FkmTB7G2f102KPwbkv64rM+gbkNJyyS9KmlrSduZktZIeiH/OaKPZW/M+7wg6cZBrO+bkrbn/34PSDqjj2WPuC/Usb6vSdpT8m94dR/LzpS0I98X5w9ifStKatstaXMfyw7G9quYK4O2D0aEHyUPYBQwOX9+OrATuKCsz3Tgxw2uczcw8gjzrwYeBQRcDDzboDqbgH8k+zJHw7Yh8DFgMrC1pO1Pgfn58/nAXRWWOxPYlf8ckT8fMUj1XQEMyZ/fVam+avaFOtb3NeC2Kv79fwacBwwDflr+/6le9ZXN/zNgQQO3X8VcGax90Ef0ZSJib0Rsyp+/STaISqUxco93s4G/isx64IyyAWIGy28DP4uIhn7bOSJ+QjZWQqnZ/POwl98HPlFh0SuBNRHxWkTsJxsqc+Zg1BcRj0dETz65nmx0t4boY/tVYyrQGRG7IuIAcB/Zdq+pI9UnSWSj3DVs8KMj5Mqg7IMO+iPIB035IPBshdnTJP1U0qOSJgxqYZkAHpe0UdItFeZXO6h7vfU5KDyN34ZnR8Te/Pk/AmdX6HO8bMebyP5Cq6S/faGe5uanlpb1cdrheNh+HwVeiYgX+pg/qNuvLFcGZR900PdB0mnA3wJ/HBFvlM3eRHYq4iLgfwAPDnZ9wEciYjJwFfDvJX2sATUckbKhJ2cBP6ow+3jYhodE9jfycflZY0l3kI3e9jd9dGnUvvAXwAeAVmAv2emR41F/Q5kO2vY7Uq7Ucx900FcgaSjZP8bfRMT95fMj4o2IeCt/vgoYKmnkYNYYEXvyn68CD5D9iVyq30HdB8FVwKaIeKV8xvGwDYFXek9n5T9frdCnodtR0hzg48Dv5kHwK6rYF+oiIl6JiPci4pfA9/pYb6O33xDgU8CKvvoM1vbrI1cGZR900JfJz+f9JbAtIr7VR5/fyPshaSrZdtw3iDWeKun03udkF+22lnVrAz6ff/rmYuD1kj8RB0ufR1KN3oa5NqD3Eww3Ag9V6LMauELSiPzUxBV5W91Jmgn8Z2BWRLzdR59q9oV61Vd6zeeTfax3AzBO0tj8L7zrybb7YPm3wPaI6Ko0c7C23xFyZXD2wXpeaT4RH8BHyP582gJszh9XA7cCt+Z95gLtZJ8gWA98eJBrPC9f90/zOu7I20trFLCY7BMPzwOFQa7xVLLg/vWStoZtQ7JfOHuBg2TnOP8AOAv4O+AF4AngzLxvAVhasuxNQGf++P1BrK+T7Nxs73743bzvOcCqI+0Lg1TfX+f71haywBpVXl8+fTXZp0x+Npj15e3Le/e5kr6N2H595cqg7IO+BYKZWeJ86sbMLHEOejOzxDnozcwS56A3M0ucg97MLHEOekuSpDMk/VH+/BxJK+u4rta+7txodjxw0FuqzgD+CCAiXo6I36njulrJPhNtdlzy5+gtSZJ675K4g+zLKOdHxIX5LQU+QfaFrnHA3WS3z/094F3g6oh4TdIHyL5w1gy8DdwcEdslfQa4E3gPeJ3sm5edwK+RfS39vwE/Jrt/z4XAUOBrEfFQvu5PAr9OdlOq/xURC+u8KcwY0ugCzOpkPnBhRLTmdwv8ccm8C8nuHjicLKTnRcQHJd0DfB7472SDNN8aES9I+jfAd4DLgQXAlRGxR9IZEXFA2aAphYiYCyDpvwJ/HxE3KRss5DlJT+Trnpqv/21gg6RHIqIug12Y9XLQ279ET0Z2T/A3Jb0OPJy3Pw9Myu8w+GHgR/nteABOzn+uBZZL+iHwKze8y10BzJJ0Wz49HPhX+fM1EbEPQNL9ZF+Nd9BbXTno7V+id0ue/7Jk+pdk/ydOAn4eEa3lC0bErfkR/jXARklTKry+gE9HxI7DGrPlys+V+typ1Z0vxlqq3iQbsm3AIrtP+Iv5+fje8Xcvyp9/ICKejYgFQDfZ7WPL17Ua+A8ld+f8YMm8Gfk4ob9Gdq1g7dHUaDYQDnpLUn56ZK2ywaK/eRQv8bvAH0jqvath7/B331Q2kPRW4Bmyux4+CVygbHDpzwJ/QnYRdouk9ny613Nk9yTfAvytz8/bYPCnbswGSf6pm0MXbc0Gi4/ozcwS5yN6M7PE+YjezCxxDnozs8Q56M3MEuegNzNLnIPezCxx/x8RWapqiPhvWgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "df.plot('timestep','sentiment')" ] @@ -1003,9 +1330,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEGCAYAAACJnEVTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dfXxV1Z3v8c/PhAQISIBERIJDtNQHKAQ4hVodpmoLglypbQUcW9F6pc6ID3dubdFelVL75NDrrQ9V0ao444iiYxtbK0K103b6UgmYQfChBAwSBjEkgshTCPzuH2flcAg5yQlJTgL7+369ziv7rL32PmtvDt/srL332ubuiIhINBzX2Q0QEZHMUeiLiESIQl9EJEIU+iIiEaLQFxGJkOzObkBzCgoKfMiQIZ3dDBGRo8qKFSu2unthU/O6dOgPGTKEsrKyzm6GiMhRxcw2pJqn7h0RkQhR6IuIRIhCX0QkQhT6IiIRklbom9n/MrM1ZrbazJ40s+5mVmxmr5lZhZk9ZWY5oW5ueF8R5g9JWs/NofxdM5vYMZskIiKptBj6ZjYIuB6IuftwIAuYAfwUuMvdPwV8BFwVFrkK+CiU3xXqYWZnhuWGARcAvzCzrPbdHBERaU663TvZQA8zywZ6ApuB84BnwvyFwJfD9NTwnjD/fDOzUL7I3fe6+3tABTC27ZsgIiLpavE6fXffZGbzgfeB3cBLwApgm7vXh2pVwKAwPQjYGJatN7PtQP9Q/mrSqpOXaX+/mwMfvNlhqxcR6VAnfgYm/aTdV5tO905f4kfpxcBJQB7x7pkOYWazzKzMzMqqq6s76mNERCIpnTtyvwi85+7VAGb278DZQL6ZZYej/SJgU6i/CRgMVIXuoD5ATVJ5g+RlEtx9AbAAIBaLHfkTXjrgN6SIyNEunT7994HPmVnP0Dd/PvAW8ArwtVBnJvDrMF0a3hPmv+zxx3OVAjPC1T3FwFDg9fbZDBERSUc6ffqvmdkzwEqgHniD+JH4b4FFZnZHKPtlWOSXwL+YWQVQS/yKHdx9jZk9TfwXRj1wrbvvb+ftERGRZlhXfkZuLBZzDbgmItI6ZrbC3WNNzdMduSIiEaLQFxGJEIW+iEiEKPRFRCJEoS8iEiEKfRGRCFHoi4hEiEJfRCRCFPoiIhGi0BcRiRCFvohIhCj0RUQiRKEvIhIhCn0RkQhR6IuIRIhCX0QkQhT6IiIRotAXEYkQhb6ISIQo9EVEIkShLyISIQp9EZEIUeiLiERIi6FvZqeZWXnS62Mzu9HM5prZpqTyyUnL3GxmFWb2rplNTCq/IJRVmNmcjtooERFpWnZLFdz9XaAEwMyygE3Ac8CVwF3uPj+5vpmdCcwAhgEnAcvM7NNh9n3Al4AqYLmZlbr7W+20LSIi0oIWQ7+R84F17r7BzFLVmQoscve9wHtmVgGMDfMq3H09gJktCnUV+iIiGdLaPv0ZwJNJ72eb2Soze8TM+oayQcDGpDpVoSxV+SHMbJaZlZlZWXV1dSubJyIizUk79M0sB7gIWByK7gdOJd71sxn4WXs0yN0XuHvM3WOFhYXtsUoREQla070zCVjp7lsAGn4CmNlDwG/C203A4KTlikIZzZSLiEgGtKZ751KSunbMbGDSvIuB1WG6FJhhZrlmVgwMBV4HlgNDzaw4/NUwI9QVEZEMSetI38zyiF91862k4jvNrARwoLJhnruvMbOniZ+grQeudff9YT2zgSVAFvCIu69pp+0QEZE0mLt3dhtSisViXlZW1tnNEBE5qpjZCnePNTVPd+SKiESIQl9EJEIU+iIiEaLQFxGJEIW+iEiEKPRFRCJEoS8iEiEKfRGRCFHoi4hEiEJfRCRCFPoiIhGi0BcRiRCFvohIhCj0RUQiRKEvIhIhCn0RkQhR6IuIRIhCX0QkQhT6IiIRotAXEYkQhb6ISIQo9EVEIkShLyISIS2GvpmdZmblSa+PzexGM+tnZkvNbG342TfUNzO728wqzGyVmY1OWtfMUH+tmc3syA0TEZHDtRj67v6uu5e4ewkwBtgFPAfMAX7v7kOB34f3AJOAoeE1C7gfwMz6AbcD44CxwO0NvyhERCQzWtu9cz6wzt03AFOBhaF8IfDlMD0VeNzjXgXyzWwgMBFY6u617v4RsBS4oM1bICIiaWtt6M8AngzTA9x9c5j+ABgQpgcBG5OWqQplqcoPYWazzKzMzMqqq6tb2TwREWlO2qFvZjnARcDixvPc3QFvjwa5+wJ3j7l7rLCwsD1WKSIiQWuO9CcBK919S3i/JXTbEH5+GMo3AYOTlisKZanKRUQkQ1oT+pdysGsHoBRouAJnJvDrpPLLw1U8nwO2h26gJcAEM+sbTuBOCGUiIpIh2elUMrM84EvAt5KKfwI8bWZXARuAaaH8BWAyUEH8Sp8rAdy91sx+ACwP9ea5e22bt0BERNJm8e74rikWi3lZWVlnN0NE5KhiZivcPdbUPN2RKyISIQp9EZEIUeiLiESIQl9EJEIU+iIiEaLQFxGJEIW+iEiEKPRFRCJEoS8iEiEKfRGRCFHoi4hEiEJfRCRCFPoiIhGS1tDKInL027dvH1VVVezZs6ezmyLtpHv37hQVFdGtW7e0l1Hoi0REVVUVvXv3ZsiQIZhZZzdH2sjdqampoaqqiuLi4rSXU/eOSETs2bOH/v37K/CPEWZG//79W/2Xm0JfJEIU+MeWI/n3VOiLiESIQl9EMubuu+/mjDPO4LLLLmvTeiorKxk+fHg7tSpadCJXRDLmF7/4BcuWLaOoqKizmxJZOtIXkYy45pprWL9+PZMmTaJPnz7Mnz8/MW/48OFUVlZSWVnJGWecwdVXX82wYcOYMGECu3fvBmDFihWMHDmSkSNHct999yWWXbNmDWPHjqWkpIQRI0awdu3ajG/b0URH+iIR9P3n1/DWf3/crus886Tjuf1/DEs5/4EHHuDFF1/klVde4d57701Zb+3atTz55JM89NBDTJs2jWeffZavf/3rXHnlldx7772MHz+em2666ZD13nDDDVx22WXU1dWxf//+dt2uY42O9EWkSykuLqakpASAMWPGUFlZybZt29i2bRvjx48H4Bvf+Eai/llnncWPfvQjfvrTn7JhwwZ69OjRKe0+WqR1pG9m+cDDwHDAgW8CE4GrgepQ7RZ3fyHUvxm4CtgPXO/uS0L5BcDPgSzgYXf/Sfttioikq7kj8kzIzs7mwIEDiffJ15rn5uYmprOyshLdO6n8/d//PePGjeO3v/0tkydP5sEHH+S8885r/0YfI9I90v858KK7nw6MBN4O5Xe5e0l4NQT+mcAMYBhwAfALM8sysyzgPmAScCZwaagrIhEzZMgQVq5cCcDKlSt57733mq2fn59Pfn4+f/7znwF44oknEvPWr1/PKaecwvXXX8/UqVNZtWpVxzX8GNBi6JtZH2A88EsAd69z923NLDIVWOTue939PaACGBteFe6+3t3rgEWhrohEzFe/+lVqa2sZNmwY9957L5/+9KdbXObRRx/l2muvpaSkBHdPlD/99NMMHz6ckpISVq9ezeWXX96RTT/qWfLOa7KCWQmwAHiL+FH+CuAG4CbgCuBjoAz43+7+kZndC7zq7v8alv8l8Luwugvc/X+G8m8A49x9dqPPmwXMAjj55JPHbNiwoR02U0TefvttzjjjjM5uhrSzpv5dzWyFu8eaqp9O9042MBq4391HATuBOcD9wKlACbAZ+Fkb2p3g7gvcPebuscLCwvZYpYiIBOmEfhVQ5e6vhffPAKPdfYu773f3A8BDxLtvADYBg5OWLwplqcpFRCRDWgx9d/8A2Ghmp4Wi84G3zGxgUrWLgdVhuhSYYWa5ZlYMDAVeB5YDQ82s2MxyiJ/sLW2n7RARkTSke3PWdcATIazXA1cCd4f+fgcqgW8BuPsaM3ua+DmAeuBad98PYGazgSXEL9l8xN3XtOO2iIhIC9IKfXcvBxqfFPhGU3VD/R8CP2yi/AXghdY0UERE2o/uyBURiRCFvohIhCj0ReSoNXfu3MRonbfddhvLli07rM4f/vAHpkyZ0ux6ysvLeeGFI+95vvTSSxkxYgR33XXXEa+jwWOPPcbs2bNbrniENMqmiBwT5s2bd8TLlpeXU1ZWxuTJk1u97AcffMDy5cupqKg44s/PJIW+SBT9bg588Gb7rvPEz8Ck5sdQfPzxx5k/fz5mxogRI5g2bRp33HEHdXV19O/fnyeeeIIBAwYwd+5c3n//fdavX8/777/PjTfeyPXXXw/AD3/4QxYuXMgJJ5zA4MGDGTNmDABXXHEFU6ZM4Wtf+xovvvgiN954Iz179uScc85JfP7rr7/ODTfcwJ49e+jRowePPvooxcXF3HbbbezevZs///nP3HzzzUyZMoXrrruO1atXs2/fPubOncvUqU2PGjNhwgQ2bdpESUkJ99xzD7feeivz588nFouxdetWYrEYlZWVPPbYY5SWlrJr1y7WrVvHxRdfzJ133gnEh5j48Y9/TH5+PiNHjkwMOrd48WK+//3vk5WVRZ8+ffjjH//Y5n8mhb6IZMSaNWu44447+Mtf/kJBQQG1tbWYGa+++ipmxsMPP8ydd97Jz34Wv7n/nXfe4ZVXXmHHjh2cdtpp/MM//AOrVq1i0aJFlJeXU19fz+jRoxOh32DPnj1cffXVvPzyy3zqU59i+vTpiXmnn346f/rTn8jOzmbZsmXccsstPPvss8ybN4+ysrLEOP+33HIL5513Ho888gjbtm1j7NixfPGLXyQvL++w7SotLWXKlCmUl5e3uA/Ky8t54403yM3N5bTTTuO6664jOzub22+/nRUrVtCnTx/OPfdcRo0aBcT/elmyZAmDBg1i27bmhjxLn0JfJIpaOCLvCC+//DKXXHIJBQUFAPTr148333yT6dOns3nzZurq6iguLk7Uv/DCC8nNzSU3N5cTTjiBLVu28Kc//YmLL76Ynj17AnDRRRcd9jnvvPMOxcXFDB06FICvf/3rLFiwAIDt27czc+ZM1q5di5mxb9++Jtv60ksvUVpamjhfsGfPHt5///02j110/vnn06dPHwDOPPNMNmzYwNatW/nCF75Aw7Az06dP569//SsAZ599NldccQXTpk3jK1/5Sps+u4FO5IpIp7nuuuuYPXs2b775Jg8++GCz4+rX19e3+fNuvfVWzj33XFavXs3zzz9/yOclc3eeffZZysvLKS8vb1XgJz8roPH6W7tNDzzwAHfccQcbN25kzJgx1NTUpNWG5ij0RSQjzjvvPBYvXpwIrtraWrZv386gQYMAWLhwYYvrGD9+PL/61a/YvXs3O3bs4Pnnnz+szumnn05lZSXr1q0D4Mknn0zMS/68xx57LFHeu3dvduzYkXg/ceJE7rnnnsQQzm+88Uba2zlkyBBWrFgBwDPPPNNi/XHjxvEf//Ef1NTUsG/fPhYvXpyYt27dOsaNG8e8efMoLCxk48aNabcjFYW+iGTEsGHD+N73vsff/d3fMXLkSP7pn/6JuXPncskllzBmzJhEt09zRo8ezfTp0xk5ciSTJk3is5/97GF1unfvzoIFC7jwwgsZPXo0J5xwQmLed77zHW6++WZGjRp1yFH2ueeey1tvvUVJSQlPPfUUt956K/v27WPEiBEMGzaMW2+9Ne3t/Pa3v83999/PqFGj2Lp1a4v1Bw4cyNy5cznrrLM4++yzD/mL4qabbuIzn/kMw4cP5/Of/zwjR45Mux2ptDiefmeKxWJeVlbW2c0QOSZoPP1jU0eMpy8iIscIXb0jIpKGJUuW8N3vfveQsuLiYp577rlOatGRUeiLRIi7Y2ad3Yyj0sSJE5k4cWJnN+MQR9I9r+4dkYjo3r07NTU1RxQU0vW4OzU1NXTv3r1Vy+lIXyQiioqKqKqqorq6urObIu2ke/fuFBUVtWoZhb5IRHTr1u2QO14lmtS9IyISIQp9EZEIUeiLiESIQl9EJEIU+iIiEaLQFxGJkLRC38zyzewZM3vHzN42s7PMrJ+ZLTWzteFn31DXzOxuM6sws1VmNjppPTND/bVmNrOjNkpERJqW7pH+z4EX3f10YCTwNjAH+L27DwV+H94DTAKGhtcs4H4AM+sH3A6MA8YCtzf8ohARkcxoMfTNrA8wHvglgLvXufs2YCrQ8NSDhcCXw/RU4HGPexXIN7OBwERgqbvXuvtHwFLggnbdGhERaVY6R/rFQDXwqJm9YWYPm1keMMDdN4c6HwADwvQgIPnxLlWhLFX5IcxslpmVmVmZbhcXEWlf6YR+NjAauN/dRwE7OdiVA4DHR3Bql1Gc3H2Bu8fcPdbwoGAREWkf6YR+FVDl7q+F988Q/yWwJXTbEH5+GOZvAgYnLV8UylKVi4hIhrQY+u7+AbDRzE4LRecDbwGlQMMVODOBX4fpUuDycBXP54DtoRtoCTDBzPqGE7gTQpmIiGRIuqNsXgc8YWY5wHrgSuK/MJ42s6uADcC0UPcFYDJQAewKdXH3WjP7AbA81Jvn7rXtshUiIpIWPRhdROQYoweji4gIoNAXEYkUhb6ISIQo9EVEIkShLyISIQp9EZEIUeiLiESIQl9EJEIU+iIiEaLQFxGJEIW+iEiEKPRFRCJEoS8iEiEKfRGRCFHoi4hEiEJfRCRCFPoiIhGi0BcRiRCFvohIhCj0RUQiRKEvIhIhCn0RkQhR6IuIREhaoW9mlWb2ppmVm1lZKJtrZptCWbmZTU6qf7OZVZjZu2Y2Man8glBWYWZz2n9zRESkOdmtqHuuu29tVHaXu89PLjCzM4EZwDDgJGCZmX06zL4P+BJQBSw3s1J3f+vImi4iIq3VmtBP11RgkbvvBd4zswpgbJhX4e7rAcxsUair0BcRyZB0+/QdeMnMVpjZrKTy2Wa2ysweMbO+oWwQsDGpTlUoS1V+CDObZWZlZlZWXV2d9oaIiEjL0g39c9x9NDAJuNbMxgP3A6cCJcBm4Gft0SB3X+DuMXePFRYWtscqRUQkSCv03X1T+Pkh8Bww1t23uPt+dz8APMTBLpxNwOCkxYtCWapyERHJkBZD38zyzKx3wzQwAVhtZgOTql0MrA7TpcAMM8s1s2JgKPA6sBwYambFZpZD/GRvafttioiItCSdE7kDgOfMrKH+v7n7i2b2L2ZWQry/vxL4FoC7rzGzp4mfoK0HrnX3/QBmNhtYAmQBj7j7mnbeHhERaYa5e2e3IaVYLOZlZWWd3QwRkaOKma1w91hT83RHrohIhCj0RUQiRKEvIhIhCn0RkQjpiGEYRETkCNTvP0Dtzjo+3LEXgOGD+rT7Zyj0RUQ6UP3+A9TsrKN6x162frKXrZ8kT8df8fd1fLSrjoYLKksG5/Ora89u9/Yo9EVEWmlfOCJvCO+G0D40xA8P8mQ9c7Io6JVLYe9cigvy+OyQfon3Bb1yKerbo0PartAXESEe5DUhuKs/2cvWHamPyj/ata/JdbQU5IW9cyjoFZ/Oy+2c+FXoi8gxq67+ADU797J1R10isKs/OXgUvjUp0FMFeV5OFgUhtIsL8hhb3C8R3A2BXtgrl4LeOfTM6fqR2vVbKCKSpK7+wCFH3lt31FF9SJfKwSP07btTB3nD0fephb0Yd8qhR+QFvY6uIG+NY2trROSotLd+/2FH3g3BfbCrJV6WKsh75WZT0CvefTL0hF6cdUr/eICHLpXEEXmvXHrkZGV4C7sOhb6IdIg9+/Y32Y3ScNIz0c2yYy8f76lvch29c7MpCGF92om9OTupW6WgV05SX3ku3btFN8hbQ6EvImnbXbf/sBOdjbtaGubvSBHkx3fPTvSRn3Hi8RR8KpzcTPSN5yaO2BXk7U+hLxJxu+rqU/SLHwzxhiP2T/Y2HeR9enRLBPUZJx3P+EZH4g2h3j8vR0HeyRT6IsegnXvrD7levDpFF8vWT/ayq25/k+vI79kt0Y3ymaL8RKgXJvWTF/TKpX+vHHKzFeRHC4W+yFHA3flkb30iqBNH5DtCoDc6Ot+97/AgN4O+PXMS4V0yOD9xorMwuXulVy798nLIydbQXMcihb5IJ3F3Pt5dn3Td+OH95MlH6HvrDxy2DjPon3fwqPtvTu6Z6Eo5eAliPNT75eWQnaUgjzqFvkg7OnDA2b5738GTnSkuQ9z6yV5qPqmjbv/hQX6cQf+kK1ROLcg75ORm8vXk/fJyyDrOOmFL5Wil0Bdpwf4Dzke76g47sVl92InOeJDXHzh8oJXs44z+SaH96QG9D3arJE50xt/37ZnDcQpy6SAKfYmk+v0HqN1Vl7hqpfHRePLJztqde2kix+mWZYnAPqF3LmcOPD7RrdLQpdLQT96nRzcFuXQJCn05ZqQaMKupSxBrU4x8mJt9XKJPvKhvj4MnO3vlJAV6PMiP75GNmYJcji4KfenSmrs9v/GR+bYUA2b16JaVuMTw5P49Gf03fSkMIV6YdNKzoFcOvXIV5HJsU+hLxrXHXZ3J46x8qrAXnzul8ciHnT+ErUhXlNb/BjOrBHYA+4F6d4+ZWT/gKWAIUAlMc/ePLH6Y9HNgMrALuMLdV4b1zAT+T1jtHe6+sP02RTqLu7Ozbv+hN/80cXTecEnizhQ3Ax1yV+fA4/nbXgdvz090sWicFZE2ac0h0LnuvjXp/Rzg9+7+EzObE95/F5gEDA2vccD9wLjwS+J2IAY4sMLMSt39o3bYDmlnrbmGvGbnXvbsa/oa8uSbgUYWHbwZKHFnZ3jfPy9XNwOJZEBb/u6dCnwhTC8E/kA89KcCj7u7A6+aWb6ZDQx1l7p7LYCZLQUuAJ5sQxukFQ4kLj1s/Fi3w7tXanbuZd/+w890HmfQL+/guCqnFOQdcv14gW4GEunS0g19B14yMwcedPcFwAB33xzmfwAMCNODgI1Jy1aFslTlhzCzWcAsgJNPPjnN5kVX8qWHhwR3OAqvTupaqd1Zx/4mrj3slmX0zzt4BH76icfTv9fh15AXhGvIdTOQyNEr3dA/x903mdkJwFIzeyd5prt7+IXQZuEXygKAWCzWLus82hz2iLcmRzyM3wiUzqWHg/K7M7KozyE3ByWf7OzTo5uuWBGJiLRC3903hZ8fmtlzwFhgi5kNdPfNofvmw1B9EzA4afGiULaJg91BDeV/aFPrjyJNXbFSk3wJYhoPlGj8rM7PDulH/1658csPdemhiKShxdA3szzgOHffEaYnAPOAUmAm8JPw89dhkVJgtpktIn4id3v4xbAE+JGZ9Q31JgA3t+vWZJC7s2Nv/WEBXp10lcrWT/ZSs7Ou2StWmnqgRPK4KwV6xJuItKN0jvQHAM+Fo8Zs4N/c/UUzWw48bWZXARuAaaH+C8Qv16wgfsnmlQDuXmtmPwCWh3rzGk7qdhUtDZZVkzjhGT8yr0sx6mFTV6wk+sg1DrmIdCLzpjqEu4hYLOZlZWVtWkeqE501iS6Vg8Feu7PpwbKyjrPE8LX9k8ZUSb5qpb+uWBGRLsLMVrh7rKl5x+StitU79nLZw6+y9ZM6PkpxojMn67hE98mJfbozfNDxhwV4Q7dLvgbLEpFjxDEZ+r27ZzOkfx6xIf0oyDt0oKyGoO+tE50iEkHHZOh375bFgsub/MtGRCTS1PksIhIhCn0RkQhR6IuIRIhCX0QkQhT6IiIRotAXEYkQhb6ISIQo9EVEIqRLj71jZtXEB3PrqgqArS3W6jxqX9uofW2j9rVNW9r3N+5e2NSMLh36XZ2ZlaUa1KgrUPvaRu1rG7WvbTqqfereERGJEIW+iEiEKPTbZkFnN6AFal/bqH1to/a1TYe0T336IiIRoiN9EZEIUeiLiESIQr8ZZjbYzF4xs7fMbI2Z3dBEnS+Y2XYzKw+v2zqhnZVm9mb4/MMeKmxxd5tZhZmtMrPRGWzbaUn7ptzMPjazGxvVyeg+NLNHzOxDM1udVNbPzJaa2drws2+KZWeGOmvNbGYG2/fPZvZO+Pd7zszyUyzb7HehA9s318w2Jf0bTk6x7AVm9m74Ls7JYPueSmpbpZmVp1g2E/uvyVzJ2HfQ3fVK8QIGAqPDdG/gr8CZjep8AfhNJ7ezEihoZv5k4HeAAZ8DXuukdmYBHxC/caTT9iEwHhgNrE4quxOYE6bnAD9tYrl+wPrws2+Y7puh9k0AssP0T5tqXzrfhQ5s31zg22n8+68DTgFygP9q/P+po9rXaP7PgNs6cf81mSuZ+g7qSL8Z7r7Z3VeG6R3A28Cgzm3VEZkKPO5xrwL5ZjawE9pxPrDO3Tv1Lmt3/yNQ26h4KrAwTC8EvtzEohOBpe5e6+4fAUuBCzLRPnd/yd3rw9tXgaL2/tx0pdh/6RgLVLj7enevAxYR3+/tqrn2WfzB2NOAJ9v7c9PVTK5k5Duo0E+TmQ0BRgGvNTH7LDP7LzP7nZkNy2jD4hx4ycxWmNmsJuYPAjYmva+ic355zSD1f7bO3ocD3H1zmP4AGNBEna6yH79J/C+3prT0XehIs0P30yMpuia6wv77W2CLu69NMT+j+69RrmTkO6jQT4OZ9QKeBW50948bzV5JvLtiJHAP8KtMtw84x91HA5OAa81sfCe0oVlmlgNcBCxuYnZX2IcJHv87uktey2xm3wPqgSdSVOms78L9wKlACbCZeBdKV3QpzR/lZ2z/NZcrHfkdVOi3wMy6Ef+HecLd/73xfHf/2N0/CdMvAN3MrCCTbXT3TeHnh8BzxP+MTrYJGJz0viiUZdIkYKW7b2k8oyvsQ2BLQ5dX+PlhE3U6dT+a2RXAFOCyEAqHSeO70CHcfYu773f3A8BDKT63s/dfNvAV4KlUdTK1/1LkSka+gwr9ZoT+v18Cb7v7/01R58RQDzMbS3yf1mSwjXlm1rthmvgJv9WNqpUCl4ereD4HbE/6MzJTUh5hdfY+DEqBhishZgK/bqLOEmCCmfUN3RcTQlmHM7MLgO8AF7n7rhR10vkudFT7ks8RXZzic5cDQ82sOPzlN4P4fs+ULwLvuHtVUzMztf+ayZXMfAc78iz10f4CziH+J9YqoDy8JgPXANeEOrOBNcSvRHgV+HyG23hK+Oz/Cu34XihPbqMB9xG/cuJNIJbhNuYRD/E+SWWdtg+J//LZDOwj3id6FdAf+D2wFlgG9CyvugMAAAKtSURBVAt1Y8DDSct+E6gIrysz2L4K4n25Dd/DB0Ldk4AXmvsuZKh9/xK+W6uIh9fAxu0L7ycTv1plXSbbF8ofa/jOJdXtjP2XKlcy8h3UMAwiIhGi7h0RkQhR6IuIRIhCX0QkQhT6IiIRotAXEYkQhb4c88ws38z+MUyfZGbPdOBnlaQaYVKkK1DoSxTkA/8I4O7/7e5f68DPKiF+zbVIl6Tr9OWYZ2YNozm+S/zGlzPcfXgY1uDLxG8eGwrMJz7k7zeAvcBkd681s1OJ39xWCOwCrnb3d8zsEuB2YD+wnfgdnxVAD+K3xv8Y+A3x8YSGA92Aue7+6/DZFwN9iA+Y9a/u/v0O3hUiZHd2A0QyYA4w3N1LwqiGv0maN5z4KIfdiQf2d919lJndBVwO/D/iD6i+xt3Xmtk44BfAecBtwER332Rm+e5eZ/EHwMTcfTaAmf0IeNndv2nxB5+8bmbLwmePDZ+/C1huZr919w55cIdIA4W+RN0rHh/TfIeZbQeeD+VvAiPCSIifBxaH4YEAcsPP/wQeM7OngcMG4wsmABeZ2bfD++7AyWF6qbvXAJjZvxO/PV+hLx1KoS9Rtzdp+kDS+wPE/38cB2xz95LGC7r7NeHI/0JghZmNaWL9BnzV3d89pDC+XOO+VfW1SofTiVyJgh3EH0vXah4f5/y90H/f8LzhkWH6VHd/zd1vA6qJD3nb+LOWANcljSI6Kmnel8JzUXsQP7fwn0fSRpHWUOjLMS90ofynxR+U/c9HsIrLgKvMrGH0xYZH/P2zxR+ivRr4C/HRGV8BzrT4g7WnAz8gfgJ3lZmtCe8bvE58TPVVwLPqz5dM0NU7Ip0gXL2TOOErkik60hcRiRAd6YuIRIiO9EVEIkShLyISIQp9EZEIUeiLiESIQl9EJEL+P8nZlbJlj+LkAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "df.plot('timestep',['funds', 'candidate_funds'])" ] @@ -1019,9 +1369,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'affinities_plot' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m-----------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0maffinities_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'affinities_plot' is not defined" + ] + } + ], "source": [ "affinities_plot(df)" ] @@ -1218,7 +1580,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.5" + "version": "3.6.8" } }, "nbformat": 4, diff --git a/models/v3/debug.py b/models/v3/debug.py new file mode 100644 index 0000000..630e8b0 --- /dev/null +++ b/models/v3/debug.py @@ -0,0 +1,12 @@ +from model import config +from model.parts.sys_params import initial_values +from model.parts.utils import * + +import numpy as np +import pandas as pd +from model import run +pd.options.display.float_format = '{:.2f}'.format + +# %matplotlib inline + +rdf = run.run() \ No newline at end of file diff --git a/models/v3/model/__pycache__/config.cpython-37.pyc b/models/v3/model/__pycache__/config.cpython-37.pyc deleted file mode 100644 index e58725d..0000000 Binary files a/models/v3/model/__pycache__/config.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/config.cpython-38.pyc b/models/v3/model/__pycache__/config.cpython-38.pyc deleted file mode 100644 index db97c19..0000000 Binary files a/models/v3/model/__pycache__/config.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/economyconfig.cpython-36.pyc b/models/v3/model/__pycache__/economyconfig.cpython-36.pyc deleted file mode 100644 index f045427..0000000 Binary files a/models/v3/model/__pycache__/economyconfig.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/economyconfig.cpython-37.pyc b/models/v3/model/__pycache__/economyconfig.cpython-37.pyc deleted file mode 100644 index 112bd5d..0000000 Binary files a/models/v3/model/__pycache__/economyconfig.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/genesis_states.cpython-36.pyc b/models/v3/model/__pycache__/genesis_states.cpython-36.pyc deleted file mode 100644 index 80bc331..0000000 Binary files a/models/v3/model/__pycache__/genesis_states.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/genesis_states.cpython-37.pyc b/models/v3/model/__pycache__/genesis_states.cpython-37.pyc deleted file mode 100644 index 199384e..0000000 Binary files a/models/v3/model/__pycache__/genesis_states.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/partial_state_update_block.cpython-36.pyc b/models/v3/model/__pycache__/partial_state_update_block.cpython-36.pyc deleted file mode 100644 index e3f4fe9..0000000 Binary files a/models/v3/model/__pycache__/partial_state_update_block.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/partial_state_update_block.cpython-37.pyc b/models/v3/model/__pycache__/partial_state_update_block.cpython-37.pyc deleted file mode 100644 index 8849d99..0000000 Binary files a/models/v3/model/__pycache__/partial_state_update_block.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/partial_state_update_block.cpython-38.pyc b/models/v3/model/__pycache__/partial_state_update_block.cpython-38.pyc deleted file mode 100644 index d25584b..0000000 Binary files a/models/v3/model/__pycache__/partial_state_update_block.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/run.cpython-36.pyc b/models/v3/model/__pycache__/run.cpython-36.pyc deleted file mode 100644 index d15f2b7..0000000 Binary files a/models/v3/model/__pycache__/run.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/run.cpython-37.pyc b/models/v3/model/__pycache__/run.cpython-37.pyc deleted file mode 100644 index 389e1b1..0000000 Binary files a/models/v3/model/__pycache__/run.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/state_variables.cpython-37.pyc b/models/v3/model/__pycache__/state_variables.cpython-37.pyc deleted file mode 100644 index dc9573a..0000000 Binary files a/models/v3/model/__pycache__/state_variables.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/__pycache__/state_variables.cpython-38.pyc b/models/v3/model/__pycache__/state_variables.cpython-38.pyc deleted file mode 100644 index 0e867ca..0000000 Binary files a/models/v3/model/__pycache__/state_variables.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/config.py b/models/v3/model/config.py index 0d2dbbe..d21ceae 100644 --- a/models/v3/model/config.py +++ b/models/v3/model/config.py @@ -15,7 +15,8 @@ from .parts.utils import * sim_config = config_sim({ - 'T': range(100), #day + # 'T': range(100), #day + 'T': range(20), #day 'N': 1, 'M': params, }) diff --git a/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-36.pyc b/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-36.pyc deleted file mode 100644 index 29eba1a..0000000 Binary files a/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-37.pyc b/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-37.pyc deleted file mode 100644 index 8ada600..0000000 Binary files a/models/v3/model/parts/__pycache__/conviction_helper_functions.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/designed.cpython-36.pyc b/models/v3/model/parts/__pycache__/designed.cpython-36.pyc deleted file mode 100644 index 3a90629..0000000 Binary files a/models/v3/model/parts/__pycache__/designed.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/designed.cpython-37.pyc b/models/v3/model/parts/__pycache__/designed.cpython-37.pyc deleted file mode 100644 index 99d2f46..0000000 Binary files a/models/v3/model/parts/__pycache__/designed.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-36.pyc b/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-36.pyc deleted file mode 100644 index 0359756..0000000 Binary files a/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-37.pyc b/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-37.pyc deleted file mode 100644 index a7ccb55..0000000 Binary files a/models/v3/model/parts/__pycache__/exogenousProcesses.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/initialization.cpython-36.pyc b/models/v3/model/parts/__pycache__/initialization.cpython-36.pyc deleted file mode 100644 index 546751d..0000000 Binary files a/models/v3/model/parts/__pycache__/initialization.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/initialization.cpython-37.pyc b/models/v3/model/parts/__pycache__/initialization.cpython-37.pyc deleted file mode 100644 index a9f9c0b..0000000 Binary files a/models/v3/model/parts/__pycache__/initialization.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/kpis.cpython-36.pyc b/models/v3/model/parts/__pycache__/kpis.cpython-36.pyc deleted file mode 100644 index c490e1b..0000000 Binary files a/models/v3/model/parts/__pycache__/kpis.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/kpis.cpython-37.pyc b/models/v3/model/parts/__pycache__/kpis.cpython-37.pyc deleted file mode 100644 index 76885e4..0000000 Binary files a/models/v3/model/parts/__pycache__/kpis.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/metrics.cpython-37.pyc b/models/v3/model/parts/__pycache__/metrics.cpython-37.pyc deleted file mode 100644 index d02c403..0000000 Binary files a/models/v3/model/parts/__pycache__/metrics.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/operatorentity.cpython-37.pyc b/models/v3/model/parts/__pycache__/operatorentity.cpython-37.pyc deleted file mode 100644 index e74920f..0000000 Binary files a/models/v3/model/parts/__pycache__/operatorentity.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/participants.cpython-36.pyc b/models/v3/model/parts/__pycache__/participants.cpython-36.pyc deleted file mode 100644 index dc3dac1..0000000 Binary files a/models/v3/model/parts/__pycache__/participants.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/participants.cpython-37.pyc b/models/v3/model/parts/__pycache__/participants.cpython-37.pyc deleted file mode 100644 index 5a281ba..0000000 Binary files a/models/v3/model/parts/__pycache__/participants.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/participants.cpython-38.pyc b/models/v3/model/parts/__pycache__/participants.cpython-38.pyc deleted file mode 100644 index 5dc05a0..0000000 Binary files a/models/v3/model/parts/__pycache__/participants.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/proposals.cpython-36.pyc b/models/v3/model/parts/__pycache__/proposals.cpython-36.pyc deleted file mode 100644 index e6739e3..0000000 Binary files a/models/v3/model/parts/__pycache__/proposals.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/proposals.cpython-37.pyc b/models/v3/model/parts/__pycache__/proposals.cpython-37.pyc deleted file mode 100644 index c3718e6..0000000 Binary files a/models/v3/model/parts/__pycache__/proposals.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/proposals.cpython-38.pyc b/models/v3/model/parts/__pycache__/proposals.cpython-38.pyc deleted file mode 100644 index 2f9ee28..0000000 Binary files a/models/v3/model/parts/__pycache__/proposals.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/subpopulation_clusters.cpython-37.pyc b/models/v3/model/parts/__pycache__/subpopulation_clusters.cpython-37.pyc deleted file mode 100644 index 13c38d8..0000000 Binary files a/models/v3/model/parts/__pycache__/subpopulation_clusters.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/supportingFunctions.cpython-37.pyc b/models/v3/model/parts/__pycache__/supportingFunctions.cpython-37.pyc deleted file mode 100644 index 27b89f6..0000000 Binary files a/models/v3/model/parts/__pycache__/supportingFunctions.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/sys_params.cpython-37.pyc b/models/v3/model/parts/__pycache__/sys_params.cpython-37.pyc deleted file mode 100644 index 6199b02..0000000 Binary files a/models/v3/model/parts/__pycache__/sys_params.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/sys_params.cpython-38.pyc b/models/v3/model/parts/__pycache__/sys_params.cpython-38.pyc deleted file mode 100644 index 052d906..0000000 Binary files a/models/v3/model/parts/__pycache__/sys_params.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/system.cpython-36.pyc b/models/v3/model/parts/__pycache__/system.cpython-36.pyc deleted file mode 100644 index ce252f5..0000000 Binary files a/models/v3/model/parts/__pycache__/system.cpython-36.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/system.cpython-37.pyc b/models/v3/model/parts/__pycache__/system.cpython-37.pyc deleted file mode 100644 index d16351b..0000000 Binary files a/models/v3/model/parts/__pycache__/system.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/system.cpython-38.pyc b/models/v3/model/parts/__pycache__/system.cpython-38.pyc deleted file mode 100644 index 85b1356..0000000 Binary files a/models/v3/model/parts/__pycache__/system.cpython-38.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/utils.cpython-37.pyc b/models/v3/model/parts/__pycache__/utils.cpython-37.pyc deleted file mode 100644 index 616f935..0000000 Binary files a/models/v3/model/parts/__pycache__/utils.cpython-37.pyc and /dev/null differ diff --git a/models/v3/model/parts/__pycache__/utils.cpython-38.pyc b/models/v3/model/parts/__pycache__/utils.cpython-38.pyc deleted file mode 100644 index 4e681f6..0000000 Binary files a/models/v3/model/parts/__pycache__/utils.cpython-38.pyc and /dev/null differ