From 9e0a221cf049f77e4858a7125a171501dbfada00 Mon Sep 17 00:00:00 2001 From: GeorgiosEfstathiadis <54844705+GeorgeEfstathiadis@users.noreply.github.com> Date: Thu, 30 Mar 2023 10:21:47 -0400 Subject: [PATCH] Update forest tutorial with mano, venv and forest updates (#161) --- tutorials/forest_usage.ipynb | 682 +++++++++------------------------- tutorials/helper_functions.py | 221 +++++++++++ tutorials/keyring_studies.py | 10 + 3 files changed, 401 insertions(+), 512 deletions(-) create mode 100644 tutorials/helper_functions.py create mode 100644 tutorials/keyring_studies.py diff --git a/tutorials/forest_usage.ipynb b/tutorials/forest_usage.ipynb index a18325a2..b64466d5 100644 --- a/tutorials/forest_usage.ipynb +++ b/tutorials/forest_usage.ipynb @@ -59,14 +59,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "3.8.12\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/bin/python\n" + "3.9.6\n" ] } ], "source": [ "print(python_version()) ## Prints your version of python\n", - "print(sys.executable) ## Prints your current python installation" + "# print(sys.executable) ## Prints your current python installation" ] }, { @@ -80,10 +79,148 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "- You may need to install git, pip, and forest. To do so, enter the lines below in a command-line shell. If not, you can skip to the next step. " + "### Create a virtual environment" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run in command line or terminal:\n", + "\n", + "```bash\n", + "python3 -m venv forest_env\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Activate the virtual environment\n", + "\n", + "On Mac/Linux:\n", + "\n", + "```bash\n", + "source forest_env/bin/activate\n", + "```\n", + "\n", + "or on Windows:\n", + "\n", + "```bash\n", + "forest_env\\Scripts\\activate.bat\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Install forest:\n", + "\n", + "```bash\n", + "pip install git+https://github.com/onnela-lab/forest\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download Study Data" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First we need to install the `mano` package. This package is used to download data from the Beiwe server. \n", + "\n", + "```bash\n", + "pip install mano\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import mano" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- For **study_id**, enter the \"study ID, found in the top right corner of the study page\". \n", + "- For **direc**, the current working directory will be used. If you want data to be stored in another directory, change this variable to another string with the desired filepath. \n", + "- For **dest_folder_name**, enter the \"name of the folder you want raw data stored in\". \n", + "- For **server**, enter the server where data is located. If your Beiwe website URL starts with studies.beiwe.org, enter \"studies\"\n", + "- For **time_start**, enter the earliest date you want to download data for, in YYYY-MM-DD format.\n", + "- For **time_end**, enter the latest date you want to download data for, in YYYY-MM-DD format. If this is None, mano will download all data available (up until today at midnight). \n", + "- For **data_streams**, enter a list of data streams you want to download. Forest currently analyzes `gps`, `survey_timings`, `calls`, and `texts` data streams. A full list of data types can be found under the \"Download Data\" tab of the Beiwe website. If this is None, all possible data streams will be downloaded. \n", + "- For **beiwe_ids**, enter a list of Beiwe IDs you want to download data for. If you leave this as an empty list, mano will attempt to download data for all user IDs" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "study_id = \"INPUT_STUDY_ID_HERE\"\n", + "direc = os.getcwd() #current working directory\n", + "dest_folder_name = \"raw_data\"\n", + "server = \"studies\"\n", + "time_start = \"2022-12-05\"\n", + "time_end = None\n", + "data_streams = [\"gps\", \"accelerometer\"]\n", + "beiwe_ids = [\"2sgai21o\"]\n", + "\n", + "dest_dir = os.path.join(direc, dest_folder_name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this next cell, we will import our keyring_studies.py file which includes download credentials. If you haven't already done this, open the keyring_studies.py file and paste your credentials inside. \n", + "\n", + "If your keyring_studies.py file is in a different directory than the one which includes this notebook, replace `sys.path.insert(0, '')` with `sys.path.insert(0, 'path/to/dir/containing/file/')`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# import .py file located in another directory if needed\n", + "import sys\n", + "sys.path.insert(0, '')\n", + "\n", + "import keyring_studies\n", + "kr = mano.keyring(None)\n", + "kr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This next cell will download your data. Downloading your data will probably be the most time-consuming part of the whole process, so if you've already downloaded the data, you will save time by not running this cell." ] }, { @@ -92,8 +229,10 @@ "metadata": {}, "outputs": [], "source": [ - "# conda install git pip\n", - "# pip install git+git://github.com/onnela-lab/forest.git@main" + "import os\n", + "\n", + "from helper_functions import download_data\n", + "download_data(kr, study_id, dest_dir, beiwe_ids, time_start, time_end, data_streams)" ] }, { @@ -110,9 +249,21 @@ "For this tutorial, we will be using publically released data from the Beiwe Research Platform that is available through Zenodo. The Beiwe Research Platform collects high-density data from a variety of smartphone sensors including GPS, WiFi, Bluetooth, and accelerometer. Further information on the dataset and Beiwe can be found https://github.com/mkiang/beiwe_data_sample." ] }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First install wget:\n", + "\n", + "```bash\n", + "pip install wget\n", + "```" + ] + }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -131,17 +282,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100% [..................................................] 775681924 / 775681924" - ] - } - ], + "outputs": [], "source": [ "source_url = \"https://zenodo.org/record/1188879/files/data.zip?download=1\"\n", "dest_dir = os.getcwd()\n", @@ -197,7 +340,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -250,504 +393,19 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "User: 6b38vskd\n", - "Read in the csv files ...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n", - "/Volumes/SanDisk/opt/anaconda3/envs/python_3_8/lib/python3.8/site-packages/forest/poplar/legacy/common_funcs.py:136: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n", - " df = df.append(hour_data,ignore_index=True)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collapse data within 10 second intervals ...\n", - "Extract flights and pauses ...\n", - "Infer unclassified windows ...\n", - "Merge consecutive pauses and bridge gaps ...\n", - "Selecting basis vectors ...\n", - "Imputing missing trajectories ...\n", - "Tidying up the trajectories...\n", - "Calculating the daily summary stats...\n" - ] - } - ], + "outputs": [], "source": [ - "import forest.jasmine.traj2stats\n", + "from forest.jasmine.traj2stats import Frequency, gps_stats_main\n", "\n", "data_dir = \"data/onnela_lab_gps_testing\"\n", "output_dir = \"gps_output\"\n", "tz_str = \"America/New_York\"\n", - "option = \"daily\"\n", + "frequency = Frequency.DAILY\n", "save_traj = True \n", "\n", - "forest.jasmine.traj2stats.gps_stats_main(data_dir, output_dir, tz_str, option, save_traj)" + "gps_stats_main(data_dir, output_dir, tz_str, frequency, save_traj)" ] }, { @@ -807,7 +465,7 @@ "data_dir = \"data/onnela_lab_gps_testing\"\n", "output_dir = \"comm_output\"\n", "tz_str = \"America/New_York\"\n", - "option = \"daily\"\n", + "option = Frequency.DAILY\n", "\n", "forest.willow.log_stats.log_stats_main(data_dir, output_dir, tz_str, option)\n" ] @@ -1097,7 +755,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEWCAYAAAB1xKBvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABFF0lEQVR4nO3dd3hb53n38e8N7iVSFCkOcYpLpLZEbdmSZUuesZ3GaabjpE2ctEkz6o6k42060qYjs2mTOE1iO7HjxI6nvORYy9p7kuKQRIoURYoUp0hx4nn/wJFDyxygBOAA4P25LlwEDs55zg84IG6c9RwxxqCUUkqNx2F3AKWUUoFBC4ZSSim3aMFQSinlFi0YSiml3KIFQymllFu0YCillHKLFgyllFJu0YIRxETkpIistTvHRInIj0Tk7304v6+LyC99NK9VIlIlIpdF5H43xn9MRP7Fun+TiFR4PaQPiYgRkXxfT6uujxaMAGZ96Vy9OUXkyrDHHzPGzDbGbPVBjgQR+ZmINIpIl4hUishfX297xpjPGWP+2cMZHxORfuu9aRWRN0Vk1nW0UyMit91AlH8CfmCMiTXGvDCRCY0xbxtjisYbbyIFUES2isinJ5JDTV5aMAKY9aUTa4yJBc4B7xs27EkfRvkOEAsUA/HAvcDp62lIREI8mOta/2G9VxnAReAxL85rNNnASRvme11EJNTuDMp/aMEIYsN/DVu/Op8RkV9aawHHRaRQRL4mIhdFpE5ENgybNl5EfioiF0TkvIj8yxhf5kuAp4wxbcYYpzHmlDHm2WFtzbJ+0beKSIWI/OGw5x4TkR+KyKsi0g3cMnwzjDXOPSJyRETaRWSXiMwb9txfW/m6rLZvHe99Mcb0AE8Bc0Z53+61Nue1W7/Ai63hvwCygJetNZW/GmX6z4hItfV6XxKRdGv4aWDmsOkjRph2oYgcsl7Pr4HIYc+tFZH6sV67iNwB/A3wIWseR0d7H0TkG8BNwA+scX9gDTci8nkRqQKqrGHfsz4jnSJyUERusoanW2u2ide8hhYRCbMe/5GIlItIm4i8ISLZo+SJEJH/EpFzItIkrk2TUcOe/0vr89ggIn802utSXmSM0VsQ3IAa4LbRhgFfB3qB24FQ4AngLPC3QBjwGeDssGlfAH4MxADTgX3AZ0eZ9//h+tX8KaDgmudigDrruVBgEdACzLaefwzoAFbh+gETaQ37F+v5RbjWBpYBIcBD1uuKAIqsttOtcXOAvFEyDm8zFlfBeHvYe/NL634h0A2st96XvwKqgfDR3udr5rPOen2LrIz/DWwfazkNey4cqAW+Ys37AWBgWO61QL11f9TXPvz1uPG52Qp8+pphBngTSASirGEfB6ZZy/ARoBGItJ7bDHxm2PT/CfzIun+/9f4VW9P+HbDrmnnlW/e/C7xkzTcOeBn4N+u5O4AmXEU+xlp+70yrN9/cdA1jcnnbGPOGMWYQeAZIBr5pjBkAngZyrP0RKcCdwJeNMd3GmIu4Njt9eJR2/wx4EvgCUGb9ur7Teu4eoMYY83NjzKAx5hDwW1xfhle9aIzZaVxrJ73XtP0Z4MfGmL3GmCFjzONAH7AcGML1pVwiImHGmBpjzFibwv5CRNpxfYHFAp8cYZwPAa8YY9603pf/AqKAlWO0O9zHgJ8ZYw4ZY/qArwErRCTHjWmX4yoU3zXGDBjXWtr+Ucad6GufqH8zxrQaY64AGGN+aYy5ZC3Db/H7gg2uL++PAIiI4PqcPGU991mrrXLrc/evwIJr1zKs6T4DfMWab5c17tXP3B8CPzfGnDDGdOMqisrHtGBMLk3D7l8BWowxQ8Meg+uLNBvXF9cFa7NMO661jekjNWqMuWKM+VdjzGJcv0J/AzxjbabIBpZdbcdq62NA6rAm6sbInA08cs30mbh+WVcDX8b15XFRRJ6+uvlnFP9ljEkwxqQaY+4d5Qs2Hdev/KuvzWnlmzFGu2NNfxm45Ob06cB5Y8zwLqRrRxrxOl77RL1rmYjII9ZmpQ5rGcQDSdbTz+IqiunAzbh++b9tPZcNfG/YsmsFhPe+H8lANHBw2LivW8PB9d4MzzTi+6K8SwuGGkkdrl/xSdYXbIIxZooxZvZ4ExpjOnH9MowBcq22tg1rJ8G4dsr/yfDJxsnyjWumjzbG/Mqa31PGmNW4vpgM8O/X9Yp/r8FqC3jnl28mcN6NrCNNH4OriJ4fdYrfuwDMsOZ5VdZoI4/x2idyzYLRxn1nuLW/4q9x/cqfaoxJwLUZUawc7cAm6/mPAr8aVvTqcG3KHL78oowxu66ZXwuuHy2zh40Xb1wHKYDrvckcNv6o74vyHi0Y6j2MMRdwfQF8S0SmiIhDRPJEZM1I44vI34vIEhEJF5FI4EtAO1ABbAQKReRBEQmzbkuu7kh2w0+Az4nIMnGJEZG7RSRORIpEZJ2187gX1xfO0NjNjes3wN3WDuQwXNvr+4CrX3BNuHZcj+Yp4FMissDK9a/AXmNMjRvz3g0MAl8UkVAR+QNg6UgjjvPam3BtXnTn/3u81wOu/QmDQDMQKiL/D5hyzThPAZ8APsDvN0cB/Aj4mojMtnLHi8gHr52BtSb3E+A7IjLdGneGiNxujfIb4JMiUiIi0cA/uPHalIdpwVCj+QSunbBlQBuuzQ5po4xrgJ/j+pXYgGuH8d3GmMvWtugNuLZFN+DaWfrvuLaBj8sYcwDXtu0fWDmq+f2+hwjgm9Z8G3FtMvubCbzGkeZXgWsH739b7b4P1+HK/dYo/wb8nbXZ5C9GmP4t4O9x7ae5AOQx+r6fa6ftB/4A1+trw7U/5blRRh/rtT9j/b0kIofGme33gAesI5i+P8o4bwCvAZW4NgX18t7NiC8BBUCTMeadI7OMMc/jWt5Pi0gncALX/rGR/DWu5bvHGvd3WPtJjDGv4dopvtkaZ/M4r0t5gbx7c6lSSik1Ml3DUEop5RY9i1OpICcil0d56k5jzNujPKfUe+gmKaWUUm4JiDWMpKQkk5OTY3cMpZQKKAcPHmwxxiSPP6Z7AqJg5OTkcODAAbtjKKVUQBERj57g6PWd3iISIiKHRWSj9ThRXB3RVVl/p3o7g1JKqRvni6OkvgSUD3v8VeAtY0wB8Jb1WCmllJ/zasEQkQzgbly9mV51H/C4df9xXL1ZKqWU8nPeXsP4Lq7uoZ3DhqVYXU9c7YJixA7tRORhETkgIgeam5u9HFMppdR4vFYwROQe4KIx5uD1TG+MedQYU2qMKU1O9thOfqWUUtfJm0dJrQLuFZG7cF0UZ4q4rjPcJCJpxpgLIpKG6+I4Siml/JzX1jCMMV8zxmQYY3Jwdb622RjzcVydlD1kjfYQ8KK3MiillPIcO/qS+iawXlzXC15vPVZKecnRzU9TU67nMakb55MT94wxW3FdOxhjzCXgVl/MV6nJrrP9EsXbPk9tWC7mb/YhDu1vVF0//fQoFcQqtj5NuAxSMFhF+b5NdsdRAU4LhlJBLLziRZqYRhtx9G3/nt1xVIDTgqFUkOpobaa45wBnU++gIuMPmd+9m7rq43bHUgFMC4ZSQapy61OEyxCJSz9E/j1fZpAQGl7/tt2xVAALiN5qlVITF1H5EuclhYIFNyEOB/umbmBe80baWxpJSEq1O54KQLqGoVQQamu+QMmVQ5xLu/2dI6Om3/4IUdJP+cbv2htOBSwtGEoFocqtTxEqTqYv/8g7w3KKSzkWuYSCml/R19tjYzoVqLRgKBWEYqpfok7SmTln+buGy8rPk0Q7R1/7qU3JVCDTgqFUkGlprKO49yj1M+54z4l6c1bfxxlHDsnH/w/jdI7SglIj04KhVJA5ve0pQsSQuvKj73lOHA4uzfsMuc4aTrz9gu/DqYCmBUOpIBN7+mVqHZnkzFo84vPz7/w0zUzF7P6Bj5OpQKcFQ6kg0txQQ3HfCRoy7hy136jwiEhO53yUeb0HOVu238cJVSDTgqFUEDm97UkcYkhf+ZExxyt+35foMRE0b9IT+ZT7tGAoFUQSzmzkrCOH7FmLxhwvfloKx5PvZkHbJloaz/konQp0WjCUChKNddXMGiijMetOt8afcccjhDJE1cu6lqHcowVDqSBRs/1JADJXf9yt8TPy53A0ZiXF55/hSneXN6OpIKEFQ6kgkXh2I9UheWTkz3F7msg1XyKByxx75YdeTKaChRYMpYJAQ00FhYOVNGffPaHpZi1ZT2VoIenlP8c5NOSldCpYeK1giEikiOwTkaMiclJE/tEa/nUROS8iR6zbXd7KoNRkcW77LwHIvuljE5pOHA66Fn6WTNPAsc2/9kY0FUS8uYbRB6wzxswHFgB3iMjVjm2+Y4xZYN1e9WIGpSaFpNpXXGsKubMmPO38DZ/gAsmE7/9fLyRTwcRrBcO4XLYehlk34635KTVZ1VefIH/oNK05E9scdVVoWDi1BZ+gpP84VYe3ezidCiZe3YchIiEicgS4CLxpjNlrPfUFETkmIj8TkamjTPuwiBwQkQPNzc3ejKlUQKvf8RQAOWvcOzpqJLPv+QJdJorOzd/xVCwVhLxaMIwxQ8aYBUAGsFRE5gA/BPJwbaa6AHxrlGkfNcaUGmNKk5OTvRlTqYA2/dwrnAorITUz/7rbiItP5GTq/czv3ErjuSoPplPBxCdHSRlj2oGtwB3GmCarkDiBnwBLfZFBqWBUW3GEmc4a2nOvb3PUcDl3PwJAzSsj/oZTyqtHSSWLSIJ1Pwq4DTglImnDRns/cMJbGZQKdg07n8JphLy117856qrUrAKOTLmF2Y0v0NXR6oF0Kth4cw0jDdgiIseA/bj2YWwE/kNEjlvDbwG+4sUMSgW1tPpXORUxh+T0HI+0F7/uy8TJFU5u/G+PtKeCS6i3GjbGHAMWjjD8QW/NU6nJ5GzZfnKddezNu/G1i6sKFt5M2Wtzyan6BYMDXyM0LNxjbavAp2d6KxWgmnb9iiEj5K2Z2Ml64+lf8qek0szRTU94tF0V+LRgKBWAjNPJjPOvUR45n6TUTI+2PW/dh6iTdOIO/1iv+63eRQuGUgHozIk9ZJoGuvPv9XjbjpAQGor/iMLBSsr3bfJ4+ypwacFQKgBd3PM0g8ZB4dqPeqX9eXd/jjbi6Nv+fa+0rwKTFgylAoxxOsm68DplUQuZmpw2/gTXISomjlMZH2R+9y7qqo97ZR4q8GjBUCrAVB/dwQzTRF/hfV6dT8E9X2GQEBpe1yvyKRctGEoFmEt7n2bAhFC45sNenU9SahZHpm5gXvNG2lsavTovFRi0YCgVQIzTSXbjJsqiFxM/LcXr80ve8OdEST+nNuq+DKUFQ6mAUnFoC2k00190v0/ml1uyhGORpeTXPElfb49P5qn8lxYMpQJI+/7f0G9CKVrr3c1Rw8nKL5BEO0df+6nP5qn8kxYMpQKEc2iImU2bOBmzlCkJ03w23zmr7+OsI4fk4/+nJ/JNclowlAoQFQd+x3RaGSq+36fzFYeD5rmfJtdZw4kdL/p03sq/aMFQKkB07v81vSaMWWv+0Ofznn/nH9NCAmbXD3w+b+U/tGAoFQCGBgfJa3mLstjlxE4Z8arGXhURGU11zseY13uAs2X7fT5/5R+0YCgVAE7tfYMk2jGz329bhln3fJErJpzmTXoi32SlBUOpAHD50G/oMREU3/yAbRkSklI5lnwPC9o20dJ4zrYcyj5aMJTyc4MD/RRc2kx53AqiY+NtzTLjjkcIZYiqjd+xNYeyhzev6R0pIvtE5KiInBSRf7SGJ4rImyJSZf31/QZZpQJI+e7XSKQTx9w/sDsKGflzOBqzkln1z3Clu8vuOMrHvLmG0QesM8bMBxYAd4jIcuCrwFvGmALgLeuxUmoUVw7/hm4TSfFNH7A7CgARN3+RqXRx7JUf2R1F+ZjXCoZxuWw9DLNuBrgPeNwa/jhwv7cyKBXoBvr7KGzbSnn8aiKjY+2OA0Dx0g1UhhaSXv4znENDdsdRPuTVfRgiEiIiR4CLwJvGmL1AijHmAoD1d7o3MygVyMp3vkwClwmd6x9rF+A6ka9r4WfJNA0c2/xru+MoH/JqwTDGDBljFgAZwFIRmePutCLysIgcEJEDzc3NXsuolD/rO/osXSaK4pvutzvKu8zf8AkaSSZ8///aHUX5kE+OkjLGtANbgTuAJhFJA7D+XhxlmkeNMaXGmNLk5GRfxFTKr/T39VLUvo1TCTcTERltd5x3CQ0Lp6bgQUr6j1N1eLvdcZSPePMoqWQRSbDuRwG3AaeAl4CHrNEeArRzGqVGULbjBabQQ/h8+869GMvse/6MLhNFx+bv2h1F+Yg31zDSgC0icgzYj2sfxkbgm8B6EakC1luPlVLXGDz6LB3EULzqXrujjCguPpGTqfezoHMLjeeq7I6jfMCbR0kdM8YsNMbMM8bMMcb8kzX8kjHmVmNMgfW31VsZlApUvVe6mdWxg4qENYRHRNodZ1Q5dz8CQM0r37I5ifIFPdNbKT9U/vbzxMoVohZ+0O4oY0rNKuDolLXMbnyBrg797RfstGAo5Yecx39LG1MoXnmP3VHGNWXdV4iTK5zcqF2fBzstGEr5mSvdXRR37qRy2i2EhoXbHWdcBQtvpix8LtlVTzA40G93HOVFWjCU8jPl258lWvqIWeifR0eNpK/0c6TRzNFNT9gdRXmRFgyl/M3J52ghgeLld9mdxG3zb/0IdZJO3OEf63W/g5gWDKX8SHdXO8VdezidtI6Q0FC747jNERJCQ/GnKBys5NT+N+2Oo7xEC4ZSfqR8+zNEST9xi31/3e4bNe/uP6GdWHq3fc/uKMpLtGAo5UdCTj7PRRKZtXSD3VEmLComjvIZH2R+9y7OnzlpdxzlBVowlPITXR2tlHTv48z023CEhNgd57rMvPPPcIjh3NtP2R1FeYEWDKX8RMW2XxMhAySUBt7mqKtSMvKoCi0gse53dkdRXqAFQyk/EVr+Ao0kUbh4nd1RbkjLjFspGjxFS0Ot3VGUh2nBUMoPdLQ2U9Kzn5qU9QG7Oeqq1GWu80dO73zW5iTK07RgKOUHKrY9TbgMkbjsw3ZHuWE5sxZzXlKIPPO63VGUh2nBUMoPRFa8SIOkULDgZruj3DBxOKibfguzeg5zubPN7jjKg7RgKGWz9pZGiq8cojb1dsQRHP+ScfPvI0IGqNz5gt1RlAcFx6dTqQBWufUpwmSI5OWBvznqqqIlt9FGHM7yV+yO4lGTvdsTLRhK2Syq6iXqJY28uSvsjuIxoWHhVMevoqBzFwP9fXbH8QjjdHLmG4vZ/ZMv2x3FNlowlLLRpaZ6SnqPUJd+R9BsjroqpOQe4ummYv8mu6N4ROWhreQNnSG5cbvdUWzjtU+oiGSKyBYRKReRkyLyJWv410XkvIgcsW6B0yWnH+m53MHun/4FBzY+SkvjObvjqOtUve0pQsSQuvIjdkfxuFmr7qXXhHH5yIt2R/GItn1PA5AzeJYr3V02p7GHN7vDHAQeMcYcEpE44KCIXO3G8jvGmP/y4ryD3vFXf8yKup9AHXDgL6lxZNKUuJTwgjXMLL2D+GkpdkdUboitfplaRwY5xUvsjuJx0bHxHIkpJbt5K8bpDOg1KOfQEDMvvkkbcUyVLiqP76Rk+R12x/I5ry1BY8wFY8wh634XUA7M8Nb8JpspVc9T48ik6r6X2ZP3JTrDU5nbvJGFu79I3PeLqP7nRez54ec4uvk3emijn2ppqKW47zgNM+4M6C/TsfTn3UEazZw5uc/uKDfk1L5NTKeViqI/BaCzapfNiezhkw73RSQHWAjsBVYBXxCRTwAHcK2FvOcbTUQeBh4GyMrK8kXMgHH+TDnFA2Xszv08KxbeTMFC17H7/X29nDqynbayt5hyYTcLG58loulXDG5zUBFWSGvKcuJmrSN/8a1ERsfa/CpU9bYnWS6G9CDcHHXVzFUfwHns61zc/1vy5i63O8516zrwND0mgnnv+zz1lY8T3njI7ki28HrBEJFY4LfAl40xnSLyQ+CfAWP9/RbwR9dOZ4x5FHgUoLS01Hg7ZyA5t+0xZgA5ax961/DwiEhmLdsAy1xdY/f2XObEoc10lW9matMeltQ/Qej5x+j/XSgnI4rpTF1JwuxbyVuwhvCISBteyeQWf2YjZx3Z5BYvtjuK1ySlZlIeXkzy+bfsjnLdBgf6Kby0mfIpK1kcG09Z3ByyOrVgeJyIhOEqFk8aY54DMMY0DXv+J8BGb2YINsbpJL1uI2XhcynJLhpz3MjoWOasvhdW3wvA5c42Th/8HVcqtpDUvIdltY/iOPdjel6N4FTUXLrTVzJtzm3kzVsVUFd7C0RN9acpHjjJ7uzPkWt3GC/ryFrP8tPfo/FcFalZBXbHmbDyXRuZSyeOua4+sgbTFjO983c01Z8mJSPP5nS+5bVvBRER4KdAuTHm28OGpxljLlgP3w+c8FaGYFR9bCcFznr2FrxnpWxcsVOmMv+WD8ItHwSg41ITZw6+SX/VFlIu7WPeme/Dme/T+VI0p6MX0JexkunzNpBTXBrwHeL5m7PbniQFyLjp43ZH8boZyz8Ap79H7a5nSc36mt1xJuzK4WfoMlEU3/R+ABKLVkEFnD++XQuGB60CHgSOi8gRa9jfAB8RkQW4NknVAJ/1Yoagc2n3L8k2ocy69RM33Fb8tBQWbvg4bHB9abU01lF78A0GT29jRtt+Mip3QeV/0cYUzsYuJLT0Ieat/cANz1fB1LOvUB2SR37+XLujeF1mwXxqHRnEnH0dCKyC0dfbw6z2bZxKuJklUTEA5MxeRt+LYfTX7gc+ZW9AH/NawTDG7ABkhKde9dY8g93gQD/5Ta9zMnY5CxOTPd5+UmomSXd/Gvg0AI111dQdfAPObie3Yw9xWz5LT+ltRMfGe3zek8mF2gqKBk+xO/cL5NsdxkcaUtdRev5JOtpaiJ+aZHcct5XveJEFdBO+4IPvDAuPiORUWD7xl47YF8wmwXksX5Aq37WRJNoxcz84/sgekJqZz5L7P8+Sr/yaC+u+S4QMUBUkZ+3aqda6fGnWJNgcddXURfcTJkNU7fit3VEmZPDYs7QTS8mqe981vH3afHL7K4Om2xN3acEIIL2HnqaTaErW+KZgDFewZAO9Jowr5VowblR87ZtUh+QxY2ax3VF8pnDhWlpIQCoCZwPDle4uSjrepiJxHWHhEe96LixrCZEyQE1ZYJ9fMlFaMAJEz+UOStq3cWrqLURa21J9KTIqhsqo+aS17Pb5vINJe0sjhf1lNKffYncUn3KEhHAm8SZmde2hr7fH7jhuKdv2LNHSR8zi915jPX3OTQC0VkyuE/i0YASIsq2/JkZ6iSn9mG0ZejLXkO2so7Gu2rYMga561wuEiGHawnvHHznIRMy5lxjppWJ3YKxlyMnnaCGB4mV3vue51MwCWkjA0XDAhmT20YIRIMJOPksT0yi2sf+a1EWufiLP7dNTZ66XVL1OCwnkz19tdxSfK1pxNz0mgisnXrY7yri6Olopubyb08m3jXhOkjgc1EWXkNo5uc4K0IIRAFovnmd2z37OpN1p6/kQ2UWLuEgioWc325YhkA3091HQtZczCSsn5XktkVExnIpdRu6l7TiHhuyOM6aKbb8mUgaIXzL6Ra16UxaRaRpob2n0YTJ7acEIAFVbfkGoOEldfePnXtwIcTioSVhO3uUDDA0O2polEFXu/x1T6CG0ePL26D9UeCfTaaX66Nt2RxlTWPnzNJJM4eJ1o44zJX8lALXH/fu1eJIWjACQUPU8Zxw55M5eZncUQgpuJZ5uqo9M3ovIXK+uYy/Tb0IpWvk+u6PYpnD1Bxg0Di4dfN7uKKPquNRESc8BalI3jLkmmDNvFUNG6Dmzx4fp7KUFw8/VV5+gaPAUF3P8YyfpzKV34zRC6/E37I4ScNKbt3MqagExcQl2R7FN/LQUKiLmknbBfzdrVmz9FWEyxLTlY/ciHBOXQG1INjHNR3wTzA9owfBzddufwGmEnFseGn9kH5ianMbpsHwSGnQNYyLqqo+T5TzPlZzb7I5iu66cDeQ4z1Ff7Z87jKMqX6Be0sift2rccZsT5pHTW+73+2Q8RQuGHzNOJxl1L1MeMY/UTP/pRKIlZTUF/afobL9kd5SAcX6vaxNM5rL325zEflkrXSee1u951uYk79XSWOe6xrqbF7VyZJQyhW7qqo/7IJ39tGD4saoj28k0DXQX/YHdUd4lfs7thIqT0/tesztKwIg99xY1jizSc2fZHcV26TlFnA7JZUrtm+OP7GOntz1JiBjSVrl3vtP0Ytfh0RfLd3gzlt/QguHHWnf/kj4TRtE6/+pzqGDxOrpNJP0V/vcP74862y9R1HucCylr7Y7iNy6m30pR/0laL563O8q7TKl+ibOObHKKS90aP7NwAV0mCmfdfi8n8w9aMPzU4EA/Bc2bOBm7wu969wwLj6AyZhEZrdpNiDuqdr1EmAyRsOAeu6P4jeTS9xMihuqd/tMZYWNdNcUDJ2nMcv+wZ0dICDWRs0hqP+bFZP7DrYIhIgki8kUR+baIfP/qzdvhJrOyHS8xjQ5k/ofsjjKi/uy1zDBNfrvj0p84K16jnVgKFk2u/qPGkjd3JY0kEVblP5s1a7Y/CUDm6omt0V9OXkj2YA09lzu8EcuvuLuG8SqQAxwHDg67KS/pP/wrOoih5Gb/2n9x1YzFdwNw/uArNifxb0ODg+R37KZ6ynJCw8LtjuM3xOGgNmkNs7oPcKW7y+44ACSe3UhVSD4Z+XMmNF30zGWEipOa48HfEaG7BSPSGPPnxpifG2Mev3rzarJJrLurnZKOtzmVeCsRkdF2xxlRRv4czksK4bVb7Y7i16oOb2UqnUjRezuwm+yi591HlPRTscv+vqXOnzlJ4WAll3Invtkw0+q5trNKC8ZVvxCRz4hImogkXr15NdkkVr7laaKlj7il9vVM6476xBUUdh+adBeRmYi2wy8xaBzkr7zf7ih+Z9byO+gkmv6T9heMOmtzVM7NEz/AJHH6DOollfCmw56O5XfcLRj9wH8Cu/n95qgx+/UVkUwR2SIi5SJyUkS+ZA1PFJE3RaTK+jv1Rl5AMAove5YLJDNryXq7o4wprPA2YqSXqoP+e9au3VIbt1ERMcfvDlzwB2HhEVROWUl++w7b+yZLOfcK5WElpGYVXNf0jXFzyOw+gXE6PZzMv7hbMP4cyDfG5Bhjcq3bzHGmGQQeMcYUA8uBz4tICfBV4C1jTAHwlvVYWVoa65h95QA16Xf5fY+m+cvuYtA46Dih3YSM5EJtBbnOGrqybrU7it+SWXeRSCeVB9+yLUNt+UFynTV0zLz+Pr4G0xaTTBtN5894MJn/cbdgnAQmdJksY8wFY8wh634XUA7MAO4Dru7/eBy4fyLtBrvqLU8QIob0m/yjK5CxTEmYRlX4LJKaJsdJSxN1bs8LAKQvvd/WHP6scNX76TchdBx+0bYMDbueYsgI+bdc//lOiUWubkQaTgR3z7XuFowh4IiI/Ph6DqsVkRxgIbAXSDHGXABXUQGmjzLNwyJyQEQONDc3uzurgJd4+gWqQ/LILl5sdxS3tKffTN5ANW3NF+yO4nciz75JvaSRmT/P7ih+Ky4+kVNRC8lo2mzL5hzjdJJR/yrlkfNJSs267nZyZi+jz4TRX7PXg+n8j7sFYyfwDWAXv9+HUeXOhCISC/wW+LIxptPdYMaYR40xpcaY0uTkZHcnC2h1VUcpHKykJdc/eqZ1R+Lc23GI4bRehe9dei53MOvKEeqTb3arT6LJ7MrMO8gwFzhX4fudxqeP7ybTNNBTcN8NtRMeEcnZsHziW496KJl/cveT/FHg0LDDafuBcdffRCQMV7F40hjznDW4SUTSrOfTgIsTjx2c6q2eafPWfdLuKG7LX3AzHcTgrNId38NV7n6FCBkgdp6e3T2ematdnRE27PP9Wd/Ne55iwIRQuPajN9xW+7T55PZXBfVRg+4WjAeAx0WkWEQ+A/wpsGGsCUREgJ8C5caYbw976iXg6gb6hwD7Nl76EeN0klX/MmWR80lOz7E7jttCQkM5HVtKTvueoD9CZCL6y16hy0RRuGTMfxMFJKfnUBlayLQ63/ZNZpxOci68QVnUIhKSUm+4vbDspUTKADVl+zyQzj+5VTCMMWeAD+NaW3gA2GCMGe88+FXAg8A6ETli3e4CvgmsF5EqYL31eNKrOLSFGaaJnlkP2B1lwgZz1zGdVmorDtkdxS84h4bIbdtJVdxSwiMi7Y4TEC5l3ErhYCXNDTU+m2fFoS2k0Uz/LM90OZ8+29VzbWvFTo+054/GLBgiclxEjonIMeBZIBFXFyF7rWGjMsbsMMaIMWaeMWaBdXvVGHPJGHOrMabA+tvqsVcTwDr2/JJeE0bxOv8+WW8kWUtc3YQ0HnrV5iT+4fTxXSTTxlD+7XZHCRhpy1w/lM7s9N01Mtr3Pe3qDXrthz3SXmpmAS0k4GgI3l6TQsd5XjfA+sBAfx+FLb/jZNwqFscH3gn0qVkF1DoyiK7bZncUv9By6CXyjJCnZ3e7LbtoEfWSSuTp14G/8Pr8hgYHybv4JmWxy1iYMM0jbYrDQV30bFI7g7dDzjHXMIwxtWPdfBXyRnS0tdgdYVxlO55nKp2ELPDMLx07XEhaSeGVo/Re6bY7iu2SGrZQGTaLxOkz7I4SMMThoH76LRRfOczlzjavz+/U3jdIpg3nbM927tmbspBM00B7S6NH2/UXQX28354ffo72/15Lb89lu6OMafDwr2kjjpKbAvfynVGz1hMpA1Tt32R3FFu1NNRSMFhFe8Y6u6MEnCkL7iNcBqnY8YLX53X50G/oMREU3+zZfYZT8lcCUHssOK95H9QFI2b27WQ76zjy8y/bHWVUlzvbKOncQeW0WwN6B2nB0tvpN6F0l03uq/Cd2e26dnfKkhs7rn8yKiy9lTamYE5595yegf4+Ci9tpnzKKqJj4z3ads68VQwZoedscJ7AF9QFY+7N72dP8gdZ3vwMx7c/b3ecEZVvfooo6Sd+mX9dhnWiomPjqYycQ8rF4D1CxB1hp9+gkWRyipfYHSXghIaFU52wisLO3V49l6F810am0olj7gc83nZMXAK1IdnENAdnz7VBXTAAFnzqu9Q6MknZ/Od0XGqyO857RJY/S4OkUFQa+B3UXZ5xM7nOGloaAmL3lsf1XummqPsgtUk36dnd1ym05B6m0E3F3te9No++I8/QSbTXLk7WnDCPnN5ynENDXmnfTkH/qY6MjmXgvh8x1XRQ/fOH/erkspaGWkp6D1M74+6g+IJJXuC6SNDZffZf38AOlXteI1r6iJzt/jWh1bsVrXwfvSaM7mMveaX9vt4eZrVtpSJhjdcuTiaZS5hCD3XVx73Svp0C/1vKDfnzV3Ng5udYfHkrBzc+anecd1RveTxgeqZ1R+7sZbSQgJzZYncUW1w5+Qo9JoKi5Vowrld0bDzlMUvIbt7mlR93ZdufI06uELHggx5v+6qUWa6ea5vKgq/n2klRMACWfuyfKA8rofDQP9J4zq1+E70u6cwLVIXkk120wO4oHuEICaFmyhLyOvcF5er4WIzTSVbL21TELCYyKsbuOAFtMP8OUmnm9PHdHm976PhztBFH8UrvnWKWWbiALhOFqd/vtXnYZdIUjJDQUKZ85GeEGCeXfvlHtn+h1Z46RP7QaS7l3W9rDk8zeeuYSidnTnj+n92f1Zw6SBrNDMz076skBoKZqz6A0wjNBzx7oErP5Q7riMR1hIVHeLTt4RwhIdREFpPUrpukAtqMmcWUzf8bZvcfY9+v/tnWLA1vP+G6aMu64NgcdVXuMtcvt+Yjr9mcxLca978AQO5K7+xInUympWRQEV7C9AbPXoWvfPuzREsfsYs+5NF2R3I5eQE5g2fpuTxel3uBZVIVDIDS+/+Mw9GrWFT135w9ac+x0sbpJLvhFU5GLbqhi7b4o6TULE6H5DLlfHCeuDSaqfWbqQrJD6iehv1ZR/Z68obOcKG2wmNtOk4+RzNTmbXM+318Rc9cRogYzh4LrsPMJ13BEIeD7E/+hE6Jhd8+TF/vhK486xEV+39HurlIX3Hg9UzrjovTV1HQd5Lurna7o/hEW/MFCvvLaUm/xe4oQWPGctf/Ru0uz3RG2NXRSsnlvZyevp6Q0PG60LtxWXPXuOZbHVybZiddwQBInD6D8zf/O7nOGg4/5v2Ozq7Vse9JekwEJetu/KIt/iiuZAPhMkTVPu8dS+9Pqnc9j0MMSYsC50qJ/i4zfy61jkxiazzT1cyprU8TIQMkLPH+5iiAqclp1EsqEU3B1eX/pCwYAPPXfZi90+5n6YWnOLnLd91y9/f1UnTpd5RNWU1MXILP5utLBUvWc8WE03dqcnQT4qh6gxYSyJu3yu4oQaUhdR2zeo/R0dp8w22Fn3qeCyRTtNh3fXw1xs0ho/ukX537daMmbcEAmPup73Pekca0TV+ks/2ST+ZZtv05ErhM2MLA7Zl2PBGR0VRGzSe9ZZfdUbxuoL+Pwq69nJm6CkdIiN1xgkriovsJFSdVO27s0q3tLY2U9BykJu12n54gO5ReSjJtNJ0/47N5etukLhjRsfH03P0/JJlLVPz8cz6Zp/Po07QyhZLVwd053ZWstWSaBhpqPLfT0h9V7N9EnFwhrFhP1vO0goVraGYqjspXbqidyq1PESZDJC/37SbgxCLXGuf548FzAt+kLhgARaXr2J/1xyzp2MTBV3/u1Xl1tl+ipGsXVUnrvXocuD9IW+T6Aq3b792eR+12+dhG+kwYhSv0WmOe5ggJ4UziTRR17buhg1Oiq16kTtLJm7vCg+nGl12ylD4TxkBt8PRc67WCISI/E5GLInJi2LCvi8j5a67xbbvSB79BZWghefv+zqvXFD615UkiZYCE5YHdM607sgoX0EgSYTVb7Y7iVTMubqciakHQ7o+yW+Tce4mRXk7tvr61jJbGcxT3HqU+4y6f99cWHhHJ2fAC4luP+nS+3uTNd/Ax4I4Rhn9n+DW+vTh/t4WFRxD1of8j3Axw4QnvnQUefeq31EsahYvWeqV9fyIOB+emLiO/+wCDA/12x/GKuqqjZJoGruTeZneUoDVrxd10m0h6T1xfh5antz7p6q9tpT1HJLYnzie3v4r+vl5b5u9pXisYxpjtQKu32ve0zIL5HJ/9l8zrPcj+Z/7D4+1fPH+Wkt6j1GXcExQ907ojpOBWptBD9ZHgPInv/L4XAMhcFrhXSvR3EZHRVMQtJe/Stuv6ITfl9EucdeSQXbzYC+nGF5a9hEgZoLZsny3z9zQ7vrm+ICLHrE1WU0cbSUQeFpEDInKgufnGD6tzx9IHHuFo1FLml3+L2lOePX76zJbHcIghY01wdQUylvxl9+A0Qtux4DwfI672Lc46sknPKbI7SlBzFt5FEu1UHd42oekaz1VRPFBGU9bdXko2vhlzbgagtTI4jhj0dcH4IZAHLAAuAN8abURjzKPGmFJjTGlycrJPwonDwYyHfsoViWTgmU97dDUy+exLVIYWkpk/12Nt+rv4aSlUhxUw9cIOu6N4XEdbC4V9J2hMXWN3lKBXsPoBBo2D1kMvTGi6mu2/BCDz5o95IZV7UjLyaGYqIecP2JbBk3xaMIwxTcaYIWOME/gJsNSX83dHUmoWZ1f8G/lDpzn4xFc90ubZsv3kDZ2hNW/ybbpoTb2JgoFTdLS12B3Fo6p3v0iYDDF1/vvsjhL04hOTORU5j/TGzROablrNK1SGFjJj5mwvJRufOBzUR5eQ2nVi/JEDgE8LhoikDXv4fsAv38VFtz/IvoS7WFr/GKf23fjZyo07nmDQOChY9wkPpAss8XNvJ0QMp/cG1+G15tRrtBFHgQ/PHJ7MLudsINtZ5/ZV7OqrT1AwWEVrjn2bo67qTV1MhrlAe0uj3VFumDcPq/0VsBsoEpF6Eflj4D9E5LiIHANuAb7irfnfqOJP/Q9NjmTiXvs8lzvbrrsd59AQuQ2vcTJqMdNSMjyYMDDkL1xLl4lioNKzXVXbaWhwkPzO3VTHr/BJR3YKsle6OiM8v8e9zgjrdrg2R+Wssf8Q9in5rvM/ao8F/sEf3jxK6iPGmDRjTJgxJsMY81NjzIPGmLnGmHnGmHuNMRe8Nf8bFRefSMcdPyDNeZGyn3/huts5tW8TqTQzMNt7l4T0Z2HhEVTHLCKrdXfQ9KlTdXAzCVzGUTTSUePKG9KyizgdMpP4WvfW+FPPvUp52GxSM/O9nGx8OXNXMmSEK2f22B3lhk2O4zuvU/Gy29k740GWtm3kyJtPXVcbl/dbPdPeErx9R42nP+cW0mim/nRwXIGs7ejLDJgQ8lcEd/cu/uZi+q0U9Zdxqal+zPFqyg+Q66ylM98/eg+OiUugJjSHmObDdke5YVowxrH4of/kdMhMsnb+NS2NdROatq+3h1mtmymLv5no2HgvJfR/GaWubjPOH7ixPoH8RWrjNioj5hA/NcnuKJNKcun7cYjhzM6xOyNs3PkUQ0bIW2Pf0VHXakmYR3bfKdsvDX2jtGCMIzwikpAHfkKMuUL945+e0GaVk9t+yxS6CV/0ES8m9H8zZhZTL6lEnpvYcfT+qKGmglxnLV3Zt9odZdLJm7uCRpIJrR79vB7jdDLj/GuUR84nKTXTh+nGJhmlTKGHuqrA7iZEC4YbcopLOVz0ZRZc2cP+577r/oTHfkMLCZSs0kMvz09bSWHP4YDvIqFu7/MAzFh6v71BJiFxOKhNXsOs7gNc6e4acZzTx3eRaRroKbzft+HGkVK8GoCm8sA+J0kLhpuWfuhrnIhYwJzj36S+evyjgTvaWphzeRfV0zcQGhbug4T+LbzwVqKlj6oDgX20VNTZN6mTdDIL5tsdZVKKmXcvUdLPqZ0vjvh8y+6nGDAhFK31r6tZZhbMp5NoTH1gn8CnBcNNjpAQkh/8GYMSSvfTfzxuh3oVm39BuAwybcWDPkro3/KX3cWACaHzZOB2E9Ld1c6sK0c4P13P7rZL0bI76CSGwbL3ntfjHBoip3ETZdGlxE9LsSHd6BwhIdRGzCKp/ZjdUW6IFowJSMnIo3LJP1I0eIr9v/z7MceNqXiOOkknf/5qH6Xzb3HxiVSFF5PctNPuKNetcvdGwmWQ2Hn2nww2WYWFR1A5ZQX57Tve86Ot8uBm1yHsxf7Zo0J38kJyBmvo7mq3O8p104IxQaV3f4YDU25jSc2jVB4aeSdu47kqZvcfoz7r3knTM607OmbcRP7Q6XEPi/RXA+Wv0mWiKFqywe4ok5rMuoepdFF5zebN9v2/pteEUbTmQzYlG1vUzOWEiKHmeOB2RKjfZteh4JM/4pJMJXLjn4y48+3s1icAyFrzSR8n82/T5t0JwNl9gXd4rXNoiJltO6mMWxb0V0v0d0Wr76ffhNJ55Pf7MYYGB8lvfpOy2OXExSfamG50WXNvAqCzerfNSa6fFozrEJ+YTPNt3yXLeZ5jP//ie55PrXmJU6HFzJhZbEM6/5U3bxVtxGGqJ9aJnD84fWwnSbTjLLjd7iiTXuyUqZyKWkjGxS3vHOZevvc1kmjHzP6AzelGNzU5jXpJI7LxoN1RrpsWjOs0Z/W97En5MMtanuPYlt/3b3PmxF5ynTV0FPjndlQ7hYSGciaulJyOvQHXTUjLoZcYMkL+Sl2u/uBK3h1kmEZqK1zXrek++BtXjwprHrA52dga4+aQ2XMy4D7/V2nBuAELPvltahxZpG97hLZmV7dYF3c8zoAJoXAS9kzrDmfuLSTTRk35frujTEhyw2Yqw4uZmpw2/sjK62auchWGC3ufZaC/j6LWzZTF30RUTJzNycY2lL6YJNppqj9td5TrogXjBkRGxTD0/p8wxXRx9rHPMDQ4yMzG1zgZvUS/WEaRtdTVTUjTYb+4nLtbLp4/S/7QadoztCtzf5GcnkNlaCHT6t+ifOfLJHCZ0Hn+vXYBkFi0CoDzJwKz51otGDcob+5yDuV9nkXdb3PwBw8ynVaG5kzOnmndkZKRR40jk5i6wPmHqdntOrs7dcn99gZR79KasZ7CwUpkz//QSTTFq/2/M8jskqX0mjAGagNrDfsqLRgesOSj/0BZ+FyWtr/KZRNFyVr/PKzPXzQmr6Kw9/io3Tv4m7Azb3KBZHJmLbY7ihombZlrB/fcvkOcSlhLRGS0zYnGFx4RSU14AQmtgdmnlBYMDwgJDSXhoz+ly0RRlrjO77ej2i161noiZICq/ZvsjjKu3p7LFHUf5FzSTXpOjZ/JKlpIvXURz6iFgbNW3544n9z+qoDsV03/AzwkPaeIvs/uZe6nf2x3FL9XsPR2+kwYPeX+XzAq9r5GtPQRNVvP7vY34nBQl3kvDZJC8cp77I7jtrDsZUTIALVl++yOMmFaMDwoKT1b1y7cEBUTR2XkHFKb/f+M194TG+kxERQuv9PuKGoEyz/5Tab/zYmA6uBzxhxXd0GtFYHXTY43r+n9MxG5KCInhg1LFJE3RaTK+jvVW/NX/q07cw05znN+fXihcTrJvrSDiphSIqNi7I6jRiAOR0AVC3Ad+NHMVEIaAq/nWm+uYTwGXHvR468CbxljCoC3rMdqEpq+4C4Aavf7bzchZ8v2k0oLA3nad5TyHHE4qI+ZTWrXSbujTJjXCoYxZjvQes3g+4DHrfuPA/d7a/7Kv+WWLKGFBELO+G83IRcPuPoqmrlCz+5WntWbsogMc+GdE34Dha/3YaQYYy4AWH+njzaiiDwsIgdE5EBzc7PPAirfEIeDs/HLyOvaz9DgoN1xRpRQv5mq0AKS0rPtjqKCzJT8FQCcOx5Yly32253exphHjTGlxpjS5ORku+MoL5C8dSRwmTN+2N1z68XzFA6coiX9FrujqCCUO28VQ0a4ciawjpTydcFoEnEdOG39vejj+Ss/krvMdShky1H/6ybk9K4XcIghadG9dkdRQSg6Np6a0Bximg/bHWVCfF0wXgIesu4/BIx8YV41KUxLyaA6JI/4hh12R3mPkOrXaWYqeXNX2h1FBamWhHnk9JbjHBqyO4rbvHlY7a+A3UCRiNSLyB8D3wTWi0gVsN56rCax5pRVFPSV0dVx7fER9unv66Wwaz9nE1fjCAmxO44KUpKxhDi5Ql1V4HQT4s2jpD5ijEkzxoQZYzKMMT81xlwyxtxqjCmw/vrPt4SyRdzsDYTJEKf3vW53lHdU7nuDWLlCePFddkdRQSyl2NVzbVO5/61hj8Zvd3qryaFg8a30mAj6Kt60O8o7Lh9/hT4TRuEK7Q5EeU9mwXw6icbUBU7PtVowlK0iIqOpil7AjEv+cZ1j43SS0byNU1ELiI6NtzuOCmKOkBBqIotJbj9mdxS3acFQtruStZYMc4HzZ8rtjkJd9TEyTCO9uevtjqImgZ6kBWQP1dLd1W53FLdowVC2S1/s2ldQf2CjzUmgYd8LAGQtv9/WHGpyiJq5nBAx1BwLjI4ItWAo22Xmz6ORZMJrttgdhbhzv+OsI4e07CK7o6hJIHvezQB0Vvvfyasj0YKhbCcOB+cSl5PffYiB/j7bcnS0NlPUd5LGtLW2ZVCTS0JSKvWSRmRTYJzApwVD+YXQgluJkytUH95qW4aq3S8QKk6mLnifbRnU5NMYN4fMnpMYp9PuKOPSgqH8Qt6yexgyQsfxN+wLUfE6bUyhYOFa+zKoSWdoRilJtNNYV2V3lHFpwVB+IT4xmeqwIqY22nMS0+BAP/mde6iOX0FIaKgtGdTklFjo6n6m4aT/n8CnBUP5jda0m8gfqKTjUpPP5111aAsJXMZRpJdiVb6VXbKUXhPGQK3/91yrBUP5jalzbydEDNV7fd97bfuRjQyYEApWau+0yrfCIyI5G15AwiX/71NKC4byG/kL19BJNENVvu8mJK1pCxWRc5mSMM3n81aqI3E+uQPV9Pf12h1lTFowlN8IDQunOmYxWW17vX7EiHNoiHOVR9j/4v+y978fIsdZx+WsW706T6VGE5a9jAgZoObkXrujjEn37im/MpCzltSTb1NbeYTsWYs81m5LQy11J96mt3Y/sS1Hye6rIIsesoAeE8GxqCUUbfiMx+an1ETMmHsT7IPWip2waI3dcUalBUP5lczSe+DkP3Ph0KvXXTAud7ZRe3wXXaf3EN50mBndZaRwiSRg0DioCc2lfNp6HDMWkzRrJVmFC5mnR0YpG6XMmEkzUwm9cNDuKGPS/xLlV9JzZ1En6USd2wr83bjjD/T3UVu+n0sVu5GGQ0zvPEHWUB2zxQBQL6nUxS3gbNpCEvKXkz17OfkxceR792UoNSHicFAfM5vUrhN2RxmTFgzldxqmrWBe88v09fYQERn9znDjdHL+TBmN5TsZrDtAQutxcgeqyZcB8oFWplAXVcze5DuJyV1K1tzVZCSlkmHfS1HKbX0pi8g4s4PWi+dJnD7D7jgj0oKh/E7ErPVEtfyWg289RUhkLL1n9xHdcpTs3nIy6CYD136HmvACDqc+QFj2EtJKVpOWVUCiQ4/jUIEpLn8FnPk+dSfeJnHdh+2OMyJbCoaI1ABdwBAwaIwptSOH8k8Fy+6k/+0QFu9/BIAhI9SE5lCRuA5mLCapaCVZRQspCQu3OalSnpM7bxVDbwg9Z/aCFoz3uMUY02Lj/JWfiolL4MDibzDY2UR8wQqyZy8nLzaePLuDKeVF0bHxnA7NJbbZf3uu1U1Syi+V3vsndkdQyudaEuZS0rIJ59AQjpAQu+O8h10bfA2wSUQOisjDI40gIg+LyAEROdDc3OzjeEop5XuSsYQ4uUJd5RG7o4zIroKxyhizCLgT+LyI3HztCMaYR40xpcaY0uTkZN8nVEopH0spuQmAi+X+2XOtLQXDGNNg/b0IPA8stSOHUkr5k8z8uXQSjbP+gN1RRuTzgiEiMSISd/U+sAHw77NVlFLKBxwhIdREFpPcfszuKCOyYw0jBdghIkeBfcArxpjXbcihlFJ+pzt5IdlDtVzubLM7ynv4vGAYY84YY+Zbt9nGmG/4OoNSSvmr6NxlhIih5rj/7cfQ02KVUsqPZM9zHQPUVb3H5iTvpQVDKaX8SEJSKnWSTmTTIbujvIcWDKWU8jNNcbPJ7Cnz+oXEJkoLhlJK+ZmhGaUk0U5jXZXdUd5FC4ZSSvmZxKJVADSceNvmJO+mBUMppfxMTslSek0YA7X77I7yLlowlFLKz4SFR3A2vICEVv86gU8LhlJK+aGOxPnkDlTT19tjd5R3aMFQSik/FJa9jAgZoLbMfzZLacFQSik/lDHvZg5Hr0TEf76m9QJKSinlh1Iy8kj5q9fsjvEu/lO6lFJK+TUtGEoppdyiBUMppZRbtGAopZRyixYMpZRSbtGCoZRSyi1aMJRSSrlFC4ZSSim3iDHG7gzjEpFmoPY6J08CWjwYZzLT9zJw6bILXDey7LKNMcmeChIQBeNGiMgBY0yp3TmCgb6XgUuXXeDyp2Wnm6SUUkq5RQuGUkopt0yGgvGo3QGCiL6XgUuXXeDym2UX9PswlFJKecZkWMNQSinlAVowlFJKucXnBUNEMkVki4iUi8hJEfmSNTxRRN4UkSrr71Rr+DRr/Msi8oNr2goXkUdFpFJETonIB0aZ52IROS4i1SLyfRERa/jNInJIRAZF5IExMv+5iJSJyDEReUtEsoc9lyUim6zXUyYiOR54m9wShO/lv4vICev2IU+8R/7Iz5bbqMvjmukjROTX1vR7r37ORWSBiOy2XsexYF5u4F/LznruD63ld1JEnhpl+hGX3bDnp4jI+WvzjcgY49MbkAYssu7HAZVACfAfwFet4V8F/t26HwOsBj4H/OCatv4R+BfrvgNIGmWe+4AVgACvAXdaw3OAecATwANjZL4FiLbu/wnw62HPbQXWW/djr46n7+XE3kvgbuBNXFeBjAEOAFN8/fmchMtt1M/2NdP/KfAj6/6Hhy23QqDAup8OXAAS7H6PJ8myKwAOA1Otx9MnsuyGPf894Klr843Ylh8sgBeB9UAFkDZsoVRcM94nR3jD64AYNxbwqWGPPwL8+JpxHmOML7lrxl0I7LTulwA77H4Pg+S9/Evg74Y991PgD+1+TyfLcrt2eYzw3BvACut+KK4zj2WE8Y5iFZDJcLNz2eEqUp92I+Ooyw5YDDw9Ur6Rbrbuw7BWjRYCe4EUY8wFAOvv9HGmTbDu/rO1KeQZEUkZYdQZQP2wx/XWsOv1x7iqPLh+XbWLyHMiclhE/lNEQm6g7esWBO/lUeBOEYkWkSRcv3wzb6DtgOBny2348hipjTor2yDQAUy7Js9SIBw4PVbuYOEHy64QKBSRnSKyR0TuGGV2Iy47EXEA38L1Y80tthUMEYkFfgt82RjTeR1NhAIZuH4RLQJ2A/810qxGGHZdxxKLyMeBUuA/h2W4CfgLYAkwE1el9qlgeC+NMZuAV4FdwK+sDIPX03ag8KflNsJne0JtiEga8AvgU8YY5/jRA5ufLLtQXJul1uJa8/i/YYXInTb+FHjVGFPnbmhbCoaIhOF6s580xjxnDW6yPnRXP3wXx2nmEtADPG89fgZYJCIhInLEuv0TroqcMWy6DKBhnHzfuNrGsGG3AX8L3GuM6bMG1wOHjTFnrMr9ArBonNweFUTvJcaYbxhjFhhj1uP6kFeNkztg+dNyG2l5jLDc6rHW+EQkFIgHWq3HU4BXcG1S3DOxdyLw+NGyqwdeNMYMGGPO4tosVjCBZbcC+IKI1OAqVp8QkW+OFdqOo6QE1/bpcmPMt4c99RLwkHX/IVzbBkdlXBvgXsZVXQFuBcqMMUPWl84CY8z/s1YPu0RkuTXvT7jR9t9ebcPKvBD4Ma5/qOEfhP3AVBG52hvkOqBsrLY9KZjeS+sfZZp1fx6uHeibxn0TApA/LbfRlse1y+2abA8Am40xRkTCcX3pPWGMeWbCb0aA8adlh+sH6i1WriRcm6jOuLvsjDEfM8ZkGWNycG0lecIY89Ux34DxdnJ4+obriAEDHAOOWLe7cG0PfQvXr8q3gMRh09TgqoiXcVXLEmt4NrDdaustIGuUeZYCJ3BtW/0Bv9/hs8RqrxtXxT85yvS/A5qG5X1p2HPrrfkfx7XDN1zfy4m/l0AkrmJbBuwBFvj6szlJl9uon+1rpo/E9Su4GtdROzOt4R8HBoZNf0SXnc+WnQDftv5njgMfnsiyu2acT+LGTm/tGkQppZRb9ExvpZRSbtGCoZRSyi1aMJRSSrlFC4ZSSim3aMFQSinlFi0YSl1DRIasE59OishRcfXoOub/iojkiMhHfZVRKTtowVDqva4Y14lPs3GdZ3MX8A/jTJMDaMFQQU3Pw1DqGiJy2RgTO+zxTFxn9SfhOtnqF7i6rQb4gjFml4jsAYqBs8DjwPeBb+I6kzcC+B9jzI999iKU8gItGEpd49qCYQ1rA2YBXYDTGNMrIgXAr4wxpSKyFvgLY8w91vgP47o+wb+ISASwE/igcfX5o1RACrU7gFIB4mqPn2HAD0RkATCEq/+ekWwA5snvrz4Yj6tnUS0YKmBpwVBqHNYmqSFcPZD+A66+l+bj2gfYO9pkwJ8ZY97wSUilfEB3eis1Bqsn4h/h6pjN4FpTuGBc13x4ELh6wawuXJfsvOoN4E+srrARkUIRiUGpAKZrGEq9V5R1LYEwXBdx+gWuXkEB/hf4rYh8ENiCq3decPU4OigiR3H1Wvw9XEdOHbK6pW4G7vdNfKW8Q3d6K6WUcotuklJKKeUWLRhKKaXcogVDKaWUW7RgKKWUcosWDKWUUm7RgqGUUsotWjCUUkq55f8DrIkJ1FrGzNEAAAAASUVORK5CYII=\n", + "image/png": "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", "text/plain": [ "
" ] @@ -1126,7 +784,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ "
" ] @@ -1168,7 +826,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/tutorials/helper_functions.py b/tutorials/helper_functions.py new file mode 100644 index 00000000..890e7045 --- /dev/null +++ b/tutorials/helper_functions.py @@ -0,0 +1,221 @@ +import os +import sys +from datetime import datetime +from itertools import islice +from pathlib import Path + +import pandas as pd +import requests + +import mano + +SPACE = " " +BRANCH = "│ " +TEE = "├── " +LAST = "└── " + + +def tree( + dir_path: Path, + level: int = -1, + limit_to_directories: bool = False, + length_limit: int = 1000, +): + """Given a directory Path object print a visual tree structure""" + dir_path = Path(dir_path) # accept string coerceable to Path + files = 0 + directories = 0 + + def inner(directory: Path, prefix: str = "", level2: int = -1): + nonlocal files, directories + if not level2: + return # 0, stop iterating + if limit_to_directories: + contents = [d for d in directory.iterdir() if d.is_dir()] + else: + contents = list(directory.iterdir()) + pointers = [TEE] * (len(contents) - 1) + [LAST] + for pointer, path in zip(pointers, contents): + if path.is_dir(): + yield prefix + pointer + path.name + directories += 1 + extension = BRANCH if pointer == TEE else SPACE + yield from inner( + path, prefix + extension, level2 - 1 + ) + elif not limit_to_directories: + yield prefix + pointer + path.name + files += 1 + + print(dir_path.name) + iterator = inner(dir_path, level2=level) + for line in islice(iterator, length_limit): + print(line) + if next(iterator, None): + print(f"... length_limit, {length_limit}, reached, counted:") + print( + f"\n{directories} directories" + (f", {files} files" if files else "") + ) + + +def concatenate_summaries(dir_path: Path, output_filename: str): + """Concatenate subject-specific GPS- or communication-related summaries + + Checks to see if there is an hourly or daily folder first, + then concatenates sub-folders first. + """ + dir_path = Path(dir_path) # accept string coercible to Path + if os.path.exists(dir_path / "hourly"): + concatenate_folder( + dir_path / "hourly", output_filename[0:-4] + "_hourly" + ".csv" + ) + if os.path.exists(dir_path / "daily"): + concatenate_folder( + dir_path / "daily", output_filename[0:-4] + "_daily" + ".csv" + ) + concatenate_folder(dir_path, output_filename) + + +def concatenate_folder(dir_path: Path, output_filename: str): + """Concatenate one folder of GPS- or communication-related summaries""" + + # initialize dataframe list + df_list = [] + + # loop through files in dir_path + for file in os.listdir(dir_path): + # obtain subject study_id + file_dir = os.path.join(dir_path, file) + subject_id = os.path.basename(file_dir)[:-4] + if file.endswith(".csv"): + temp_df = pd.read_csv(file_dir) + temp_df.insert(loc=0, column="Beiwe_ID", value=subject_id) + df_list.append(temp_df) + + if len(df_list) > 0: + + # concatenate dataframes within list --> Final Data for trajectories + response_data = pd.concat(df_list, axis=0) + + # make directory + os.makedirs(dir_path / "concatenated", exist_ok=True) + path_resp = os.path.join(dir_path / "concatenated", output_filename) + + # write to csv + response_data.to_csv(path_resp, index=False) + print( + "Concatenated folder " + str(dir_path) + + " to " + str(output_filename) + ) + else: + print("No input data found in folder " + str(dir_path)) + + +def download_data( + keyring, + study_id, + download_folder, + users=None, + time_start="2008-01-01", + time_end=None, + data_streams=None, +): + """ + Downloads all data for specified users, time frame, and data streams. + + This function downloads all data for selected users, + time frame, and data streams, and writes them to an + output folder, with one subfolder for each user, and subfolders + inside the user's folder for each data stream. + If a server failure happens, the function re-attempts the download. + + Args: + keyring: a keyring generated by mano.keyring + + users(iterable): A list of users to download data for. + If none are entered, it attempts to download data for all users + + study_id(str): The id of a study + + download_folder(str): path to a folder to download data + + time_start(str): The initial date to download data + (Formatted in YYYY-MM-DD). Default is 2008-01-01, which is + before any Beiwe data existed. + + time_end(str): The date to end downloads. + The default is today at midnight. + + data_streams(iterable): A list of all data streams to download. + The default (None) is all possible data streams. + + """ + if study_id == "": + print("Error: Study ID is blank") + return + + if ( + keyring["USERNAME"] == "" + or keyring["PASSWORD"] == "" + or keyring["ACCESS_KEY"] == "" + or keyring["SECRET_KEY"] == "" + ): + print("Error: Did you set up the keyring_studies.py file?") + return + + os.makedirs(download_folder, exist_ok=True) + + if time_end is None: + time_end = datetime.today().strftime("%Y-%m-%d") + "T23:59:00" + + if users is None: + print("Obtaining list of users...") + num_tries = 0 + while num_tries < 5: + try: + users = [u for u in mano.users(keyring, study_id)] + except KeyboardInterrupt: + print("Someone closed the program") + sys.exit() + except mano.APIError as e: + print("Something is wrong with your credentials:") + print(e) + break + except Exception: + num_tries += 1 + else: + break + + for u in users: + zf = None + num_tries = 0 + while num_tries < 5: + print(f"Downloading data for {u}") + try: + zf = mano.sync.download( + keyring, + study_id, + u, + data_streams, + time_start=time_start, + time_end=time_end, + ) + except requests.exceptions.ChunkedEncodingError: + print(f"Network failed in download of {u}, try {num_tries}") + num_tries += 1 + except KeyboardInterrupt: + print("Someone closed the program") + sys.exit() + except mano.APIError as e: + print("Something is wrong with your credentials:") + print(e) + break + else: + break + else: + print(f"Too many failures; skipping user {u}") + + if zf is None: + print(f"No data for {u}; nothing written") + else: + zf.extractall(download_folder) diff --git a/tutorials/keyring_studies.py b/tutorials/keyring_studies.py new file mode 100644 index 00000000..b6b6eccd --- /dev/null +++ b/tutorials/keyring_studies.py @@ -0,0 +1,10 @@ +import os + +os.environ['BEIWE_URL'] = 'https://studies.beiwe.org' # Insert server name +# (e.g. https://studies.beiwe.org) +os.environ['BEIWE_USERNAME'] = '' # Insert username to Beiwe deployment +os.environ['BEIWE_PASSWORD'] = '' # Insert password to Beiwe Deployment +os.environ['BEIWE_ACCESS_KEY'] = '' # Insert data-download API access key +os.environ['BEIWE_SECRET_KEY'] = '' # Insert data-download API secret key +os.environ['TABLEAU_ACCESS_KEY'] = '' +os.environ['TABLEAU_SECRET_KEY'] = ''