{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Minimal example for working with spirometer data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Import the worklab module:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import worklab as wl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Import the data with `com.load()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "================================================================================\n",
      "Initializing loading for C:\\Users\\rick_\\Development\\worklab2\\example_data\\COSMED_example.xlsx ...\n",
      "File identified as COSMED datafile. Attempting to load ...\n",
      "Data loaded!\n",
      "================================================================================\n",
      "\n",
      "Spirometer data is stored in a:  <class 'pandas.core.frame.DataFrame'>\n"
     ]
    }
   ],
   "source": [
    "filename = os.getcwd()\n",
    "filename = os.path.join(os.path.split(filename)[0], 'example_data', 'COSMED_example.xlsx')\n",
    "spiro_data = wl.com.load(filename)\n",
    "print(\"Spirometer data is stored in a: \", type(spiro_data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "or use `wl.com.load_spiro()` which is functionally identical."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can inspect the data with pandas functions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>Rf</th>\n",
       "      <th>HR</th>\n",
       "      <th>power</th>\n",
       "      <th>VO2</th>\n",
       "      <th>VCO2</th>\n",
       "      <th>weights</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7</td>\n",
       "      <td>11.952191</td>\n",
       "      <td>62</td>\n",
       "      <td>101.842014</td>\n",
       "      <td>298.455484</td>\n",
       "      <td>268.382657</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11</td>\n",
       "      <td>9.933775</td>\n",
       "      <td>62</td>\n",
       "      <td>111.407404</td>\n",
       "      <td>330.369515</td>\n",
       "      <td>281.724639</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15</td>\n",
       "      <td>11.757790</td>\n",
       "      <td>63</td>\n",
       "      <td>128.974406</td>\n",
       "      <td>383.662547</td>\n",
       "      <td>322.481225</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>18</td>\n",
       "      <td>13.218771</td>\n",
       "      <td>64</td>\n",
       "      <td>141.802001</td>\n",
       "      <td>423.538135</td>\n",
       "      <td>349.306235</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20</td>\n",
       "      <td>14.430014</td>\n",
       "      <td>64</td>\n",
       "      <td>146.172614</td>\n",
       "      <td>436.703091</td>\n",
       "      <td>359.734206</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   time         Rf  HR       power         VO2        VCO2  weights\n",
       "0     7  11.952191  62  101.842014  298.455484  268.382657        0\n",
       "1    11   9.933775  62  111.407404  330.369515  281.724639        4\n",
       "2    15  11.757790  63  128.974406  383.662547  322.481225        4\n",
       "3    18  13.218771  64  141.802001  423.538135  349.306235        3\n",
       "4    20  14.430014  64  146.172614  436.703091  359.734206        2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spiro_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>Rf</th>\n",
       "      <th>HR</th>\n",
       "      <th>power</th>\n",
       "      <th>VO2</th>\n",
       "      <th>VCO2</th>\n",
       "      <th>weights</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>328</th>\n",
       "      <td>951</td>\n",
       "      <td>23.809524</td>\n",
       "      <td>94</td>\n",
       "      <td>338.510226</td>\n",
       "      <td>995.434028</td>\n",
       "      <td>881.662962</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>329</th>\n",
       "      <td>954</td>\n",
       "      <td>23.237800</td>\n",
       "      <td>93</td>\n",
       "      <td>338.135288</td>\n",
       "      <td>994.712143</td>\n",
       "      <td>879.522871</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>330</th>\n",
       "      <td>956</td>\n",
       "      <td>22.883295</td>\n",
       "      <td>93</td>\n",
       "      <td>348.853419</td>\n",
       "      <td>1029.271752</td>\n",
       "      <td>898.141951</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>331</th>\n",
       "      <td>959</td>\n",
       "      <td>23.382697</td>\n",
       "      <td>93</td>\n",
       "      <td>351.913720</td>\n",
       "      <td>1037.692355</td>\n",
       "      <td>907.881222</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>332</th>\n",
       "      <td>961</td>\n",
       "      <td>23.566379</td>\n",
       "      <td>92</td>\n",
       "      <td>353.994886</td>\n",
       "      <td>1043.260882</td>\n",
       "      <td>914.987154</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     time         Rf  HR       power          VO2        VCO2  weights\n",
       "328   951  23.809524  94  338.510226   995.434028  881.662962        2\n",
       "329   954  23.237800  93  338.135288   994.712143  879.522871        3\n",
       "330   956  22.883295  93  348.853419  1029.271752  898.141951        2\n",
       "331   959  23.382697  93  351.913720  1037.692355  907.881222        3\n",
       "332   961  23.566379  92  353.994886  1043.260882  914.987154        2"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spiro_data.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or plot with Pandas built-in functions or matplotlib:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "spiro_data.plot(\"time\", \"HR\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's basically all there is to it. Handling spirometer data is not very exciting 😃"
   ]
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
