{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.3.5\n" ] } ], "source": [ "import datetime\n", "import numpy as np\n", "import pandas as pd\n", "print(pd.__version__)" ] }, { "cell_type": "code", "execution_count": 156, "metadata": {}, "outputs": [], "source": [ "start = datetime.datetime(2020, 1, 1)\n", "end = datetime.datetime(2022, 1, 1)\n", "# Create a DatetimeIndex with freq='Q'\n", "# the 'Q' indicates the last day of each quarter\n", "ts = pd.date_range(start, end, freq='M')\n" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame(index=ts.to_period('M'), data={'Quarter':ts.to_period('Q')})" ] }, { "cell_type": "code", "execution_count": 158, "metadata": {}, "outputs": [], "source": [ "# make a sine wave as data\n", "df['Data'] = np.sin(np.linspace(0,10, len(ts)))" ] }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [], "source": [ "df['pct'] = df.groupby(by='Quarter')['Data'].transform(lambda x: x/sum(x))\n", "df['cumpct'] = df.groupby(by='Quarter')['Data'].transform(lambda x: np.cumsum(x)/sum(x))\n", "df['qtrTot'] = df.groupby(by='Quarter')['Data'].transform(lambda x: x.sum())" ] }, { "cell_type": "code", "execution_count": 160, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
QuarterDatapctcumpctqtrTot
2020-012020Q10.0000000.0000000.0000001.185262
2020-022020Q10.4212130.3553760.3553761.185262
2020-032020Q10.7640490.6446241.0000001.185262
2020-042020Q20.9647120.3477510.3477512.774149
2020-052020Q20.9858650.3553760.7031262.774149
\n", "
" ], "text/plain": [ " Quarter Data pct cumpct qtrTot\n", "2020-01 2020Q1 0.000000 0.000000 0.000000 1.185262\n", "2020-02 2020Q1 0.421213 0.355376 0.355376 1.185262\n", "2020-03 2020Q1 0.764049 0.644624 1.000000 1.185262\n", "2020-04 2020Q2 0.964712 0.347751 0.347751 2.774149\n", "2020-05 2020Q2 0.985865 0.355376 0.703126 2.774149" ] }, "execution_count": 160, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 161, "metadata": {}, "outputs": [], "source": [ "# We can do a shift of 3 months for our cumulative percent for the previous quarter\n", "df['prev_qtr_pct'] = df.cumpct.shift(3)\n", "# then divide it to apply the prediction\n", "df['prev_qtr_linearity'] = df['Data'] / df['prev_qtr_pct']" ] }, { "cell_type": "code", "execution_count": 162, "metadata": {}, "outputs": [], "source": [ "# calculate the delta\n", "df['delta'] = (df['prev_qtr_linearity']/df['qtrTot']) -1\n", "# filter on month1/month2\n", "scores = df.query('cumpct!=1 & delta.notna() & delta <=10000').delta" ] }, { "cell_type": "code", "execution_count": 163, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.1399068142684166" ] }, "execution_count": 163, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# MAPE:\n", "np.abs(scores).mean()" ] }, { "cell_type": "code", "execution_count": 164, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 164, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "np.abs(scores).plot(kind='bar')" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEUCAYAAADOaUa5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAxAUlEQVR4nO3dd3xW9fn/8deVPQiBQBLIIgECyB5hhmERxL0YVaxUUdHWOqq2tt/++m3766/fr23dxVYRUHEH3IqCuNjjDnvPQAYjBBISyL4/vz8SLFUIGee+zz2u5+ORh3iPc7/Rkysn53zOdYkxBqWUUr4pwO4ASimlXEeLvFJK+TAt8kop5cO0yCullA/TIq+UUj5Mi7xSSvmwFhd5EQkTkbUisklEtonIn6wIppRSquWkpevkRUSASGNMmYgEA8uBB40xq60IqJRSqvmCWroBU/dToqz+X4Prvxr8ydG+fXuTmpra0o9WSim/kp2dfdwYE9uU97S4yAOISCCQDXQFnjfGrDnPa2YAMwBSUlJwOBxWfLRSSvkNETnY1PdYcuHVGFNrjOkPJAFDRKT3eV4zyxiTYYzJiI1t0g8ipZRSzWTp6hpjTDHwNXCFldtVSinVPFasrokVkTb1fw4HxgM7W7pdpZRSLWfFOfmOwKv15+UDgCxjzCcWbFcppVQLWbG6ZjMwwIIsSimlLKZ3vCqllA/TIt9EVTVOdNCKUspbaJFvgv2FZYx4/Eue/mK33VGUUqpRtMg30qmKau6a5+B4WRUvLN3P4ZJyuyMppdRFaZFvhFqn4f43N3Co6AxPTu6HMYZ/fLXX7lhKKXVRWuQb4fHPdvDt7kL+7/W9mTgoialDUshal0vO8dN2R1NKqQZpkb+IBdl5vLTsANOGd2Lq0BQA7hvblaBA4Zklem5eKeXZtMg3IPvgSf7rvS2M6NKO31/T87vH46LCuCMzjQ83FbDrSKmNCZVSqmFa5C+goLice17LpmObMJ6fOpDgwP/8T3XP6M60Cg3iycW7bEqolGqK8qpaKmtq7Y7hdlrkz6O8qpYZrzmoqK5l9rQM2kaG/OA1bSJCuGd0ZxZvP8rG3GL3h1RKNYrTaXhr7SGG/M8SHnp7o91x3E6L/PcYY/jVgk1sKzjFc7f0Jz0+6oKvvSMzjXaRITyxSI/mlfJEe4+VcfOs1fz2vS2EBgXw2dYjHPCzBRNa5L9n5ld7+WTzYR67ogdje8Q3+NrI0CDu+1FXlu89zsq9x92UUCl1MZU1tTy7ZA9XPbuMXUdL+dvEvix8cBQhgQG8vOKA3fHcSov8OT7feoQnv9jNjQMSuWd050a9Z+rQFBKiw/j74l3a7kApD+DIOcHVzy3n6SW7uaJ3B5Y8PIYpg5OJiwrj2n4JzHfkUXKm2u6YbqNFvt6Ow6d4OGsj/ZLb8L839aFuPvnFhQUH8uC4dDYcKubLHcdcnFIpdSGnKqr53ftbmPTCKsqrann59sE8d8sAYqNCv3vN9JGplFfX8o7jkI1J3UuLPFBUVsldrzqICgti1m2DCAsObNL7Jw5MIq19JE8s3oXTqUfzSrnb51sPM+7Jb3lr7SHuHJnG4l+O5kc94n7wul4J0QzrHMOrKw9SU+u0Ian7+X2Rr6px8rM31nO8rJJZt2UQ3zqsydsICgzg4fHd2HmklI83F7ggpVLqfA6XlDNjnoN7X19P+1ahfHBfJr+/pieRoRcelTE9M4384nIWbTvqxqT28esib4zhDx9tY+2BE/xtUl/6Jbdp9rau7tORSzq25ukvdlPtJ0cIStnF6TTMW5XD+KeWsnRPIb+9sgcf/iKTvkltLvreyy6Jp1O7COYs3+/6oB7Ar4v8a6sP8tbaQ/z80i5c3z+xRdsKCBB+NaEbOUVnWJCdZ1FCpdT37TpSyqQXVvLfH25jQEobFj80hnvGdPnBDYsXEhgg3D4ilfWHitlw6KSL09rPb4v8ir3H+dPH2xl3SRyPXt7dkm3+qHscgzq15dkle6io9r8765RypYrqWp5YtIurn1tGTtEZnv5xP+ZNH0JKu4gmb2tyRjJRoUG8vCLH+qAexi+LfM7x0/z8jfV0iY3kmZsHEBDQuJU0FyMi/GpCd46cquD11Qct2aZSClbtK+LKZ5cx8+u9XNc/gSUPj+HGAUmNXgX3fa1Cg/jx4GQWbjns87Mh/K7Il9YP/xCB2dMG06qBCzTNMaxzO0alt+ef3+yjrLLG0m0r5W+Kz1Tx2ILN3PLSamqdhtfvHMpTU/oTc55WI0310xGpOI1h3irfPiDzqyJf6zQ8+PZGco6f5p+3DmzWr3mN8asJ3Tlxuoq5y/3rzjqlrGKM4eNNBYx76lsWrM/j3jFdWPTQaEamt7fsM5JjIpjQqwNvrjlEeZXvnl71qyL/t0U7+WrnMf5wXS9GdLFuZ/m+vkltuKJXB15aup+Tp6tc9jlK+aK8k2eY/so67n9rAwltwvnoF5n85soehIc07f6Vxpg+Mo2S8mreXe+7iyX8psi/vyGPF7/dz61DU7htWCeXf97Dl3ejrKqGF5buc/lnKeULap2GOcsPcPnTS1lz4AS/v6Yn7/88k14J0S77zIxObemTGM3LKw747I2MflHkNxw6yWPvbmFY5xj+eF0vt3xmt/gobuyfyKsrczh6qsItn6mUt9pWUMKN/1zBnz/ZztC0GBb/cjR3jkwj0KJFERciItw5Mo19haf5dk+hSz/LLj5f5I+UVHDPa9nEtw7ln7cOavRaWis8NK4bNbWGmTr0W6nzKq+q5X8/28F1M1dQUFzOP24ZwNzbB5PU1jXXy87nqj4diYsK9dlraD5d5Cuq64Z/nK6sYfa0wZZckW+KlHYR3DwkmbfWHuJQ0Rm3frZSnm7ZnkImPLOUF7/dz+RBSSx5eAzX9kto9rLI5goJCmDa8E4s23Oc3Ud9b5ynzxZ5Ywy/XrCZLfklPHPzALp3uPDwD1e6f2w6gQHCM1/q0G+lAE6cruLhdzZy25y1BAUIb909jMcn9qVNhHsPws41dWgnQoN8s9d8i4u8iCSLyNcisl1EtonIg1YEa6l/fbuPjzYV8Ojl3Rnfs+HhH64U3zqM20ek8v6GfJ88SlCqsYwxvLc+j8ue/IaPNhVw/9iuLHxwFMO7tLM7GjGRIdw0MJH31udzwsdWxFlxJF8DPGKM6QkMA+4TkZ4WbLfZlmw/yt8X7eK6fgn8/NIudkYB4N4xXYgMCeKpxXo0r/zToaIzTJu7loezNpHWPpJPHxjFI5d3b3Jbb1eanplGZY2TN9f41s1RLS7yxpjDxpj19X8uBXYALev21QK7jpTy4Nsb6JMYzd8m9XX7+b3zaRsZwt2jOvP5tiNsziu2O45SblNT6+SFb/dx+TPfsuFQMX++vhcL7h1h2+nThqTHRzEqvT3zVh2kqsZ3Oslaek5eRFKBAcCa8zw3Q0QcIuIoLHTNUqWTp6u4a946IkKDmHVbhkcdJdw5Ko2YyBCe0KN55Sc25xVz3cwVPP7ZTkanx7Lk4THcNjzVsl5RrjB9ZBrHSitZuOWw3VEsY1mRF5FWwLvAQ8aYU99/3hgzyxiTYYzJiI2Ntepjv1Nd6+Rnb2Rz9FQls24bRIfopg//cKVWoUH8/NIuLN1dyOr9RXbHUcplTlfW8OdPtnPD8ys4XlbJCz8ZxKxpGR73PXk+Y9Jj6RIbyZzlB3xmZrMlRV5Egqkr8G8YY96zYptN9aePt7F6/wn+OrEPA1La2hHhon4yrBMdWofxxCId+q1809c7j3H500uZs/wAU4emsOSRMVzRu4PdsRotIEC4IzONLfklOA76Rq95K1bXCDAH2GGMearlkZrutdUHeX31Ie4Z05kbByTZEaFRwoIDeeCydBwHT/LNLt+8u075p8LSSu5/awN3vLKOiJBAFtw7nP93Qx9ahwXbHa3JbhqYSHR4sM/cHGXFkXwmcBswVkQ21n9dZcF2G2XVviL+9NE2xvaI49cTerjrY5ttckYSndpF8PdFOvRbeT9jDO+sO8RlT37Doq1HeHh8Nz55YCQZqTF2R2u2iJAgpg5NYdG2I+Se8P6bGK1YXbPcGCPGmL7GmP71XwutCHcxh4rO8LM3skltH8mzN/d3eZ8LKwTXD/3efvgUC7f6zsUd5X/2F5Zxy0ureezdLfTo0JqFD47igcvSCQ3ynAUPzTVteCcCRHh1ZY7dUVrMa+94Laus4a556zAGZk/LIMqLfi28tm8CPTpE8dTi3dTo0G/lZapqnMz8ag9XPLuM7QWnePymPrw9Yxhd41rZHc0yHaPDuapPR95Zl+v1w3+8ssg7nYaH3t7IvsK64R+p7SPtjtQkAQHCI5d3Z//x07y3Pt/uOEo1WvbBk1z7j+U8sXg343vGs+SRMdw8JMWjl0U21/SRaZRW1jDfkWt3lBbxyiL/5Be7WLLjKP99TU8yu7pu+Icrjbskjv7JbXhmyW4qa3x3Ko3yHa+uzGHSCysprahm9rQMnp86kLgoz18W2Vz9k9swMKUNr6zModaLr595XZH/cGM+z3+9j1uGJDNtuOuHf7iKiPDrCd0pKKngzTWH7I6jVIOqa5089+Weul7vD49hnI39oNzpzpGdOVh0hi93HLU7SrN5VZHflFvMrxdsZkhaDH+6rrdHtCxoiRFd25PZtR3Pf72X015+3k/5tq92HqPodBUzRnemVWiQ3XHcZkKveBKiw5jrxd0pvabIHztVwYzXHLRvFcq/bh1ISJDXRG/Qo5d353hZFa/4wFV85bvmO3KJiwpldLr1d6t7sqDAAH46IpXV+0+wraDE7jjN4hWVsqK6lrtfy6a0oobZP82gXatQuyNZZkBKW8ZdEs8L3+6j5Ey13XGU+oFjpyr4elchEwclEeTGyWqe4ubBKUSEBDJ3eY7dUZrF4/+PGWP47Xtb2JRbzFNT+nNJx9Z2R7LcI5d3o6yyhhd16LfyQO9tyKfWaZg8yHPvJnel6IhgJg1K4uNNBRwr9b55zR5f5Gct3c/7G/J5ZHw3r+qB0RSXdGzNdf0SeHlFjlfuRMp3GWPIcuQyOLUtnWN9Zx18U92RmUZVrZPXV3vfIgmPLvJf7TzK45/v5Oq+HfnF2K52x3GpX47rRlWtk39+rUfzynOsP3SS/YWnmZyRbHcUW6W1j+SyHnG8sfogFdXeteTZY4v8nqOlPPDWRnoltOaJSf28fiXNxaS2j2RKRjJvrDlI3knv75ehfEPWujwiQgK5uk9Hu6PYbvrINIpOV/HRpgK7ozSJRxb54jNV3DXPQVhwILNuyyA8xPt7YTTGA5d1RUR4dskeu6MoxenKGj7ZXMA1fTsS6UfLJi9kRJd29OgQxVwv6zXvcUW+utbJfW+u53BxBS/eNoiENuF2R3KbjtHhTBvWiXfX57H3WJndcZSfW7jlMKerapni56dqzhIRpmemsfNIKav2ec/gH48r8n/5dAcr9hbxPzf1YVAnzxz+4Uo/u7QL4cGBPP2FjglU9prvyKNz+0i//D68kOv6J9AuMsSrbo7yqCL/1tpDvLIyh7tHpTHJT5drtWsVyp2jOvPplsNszffOmy+U99tfWMbanBNMzkj2+ethTREWHMitwzrx5c5jHDh+2u44jeIxRX7N/iJ+/8FWxnSL5TdXXmJ3HFvdNSqNNhHBPLF4l91RlJ9akJ1HYIAwcWCi3VE8zk+GpRAcEMArXnI07xFFPvfEGX72xnpS2kXw3C0DvGL4hyu1DgvmZ2O68M2uQtblnLA7jvIzNbVO3l2fx6XdYolr7btdJpsrLiqMa/slMD87j5Jyz79L3fYif7qyhrvnOaipdTJ7WgbR4d4z/MOVpg1PJS4qlL9/rkO/lXst23Oco6cq/X5tfEPuyEzlTFUt76zz/JujbC3yTqfhl+9sZPfRUmZOHejXd9R9X3hIIPdfls7anBMs3XPc7jjKj2Q5cmkXGcLYHnF2R/FYvROjGZoWw6srD3r8dDdbi/wzS3azePtR/s/VPRndzb+62zXGjzOSSY4J5++LdurRvHKLorJKluw4yo0DEn2m06ur3DkyjfzichZt8+xe87b9X/xkcwHPfbWXKRlJ3JGZalcMjxYSFMAvx3Vja/4pPt96xO44yg98sLGA6lqjp2oa4bJL4kmJifD45ZS2FPny6loenb+JjE5t+fMN3j/8w5Wu759Ielwrnli8y6tHkCnPZ4xhviOXfslt6N4hyu44Hi8wQLh9RCrZB0+yMbfY7jgXZEuRP1h0hpiIEF64bRChQf7RsqC5AuuHfu8rPM37G3Tot3KdLfkl7DxSypQM/7xHpTmmDE4mKjSIucs992jeliJf6zS89NMM2vvQ8A9XmtArnr5J0Tz9hQ79Vq6T5cglNCiAa/sl2B3Fa7QKDWLK4GQWbjnM4ZJyu+Ocly1FPqltOL0Sou34aK8kIjx6eXfyi8t5Z12u3XGUD6qoruXDjQVc1acjrcN0GXNT3D4iFacxzFt10O4o52VLkde18E03Kr09Q9NieO7LvZyp0qHfylqLth2htKKGyXqqpsmSYyK4vGcH3lxziPIqz/tNW9dIeQkR4VcTunO8rJJXV3rmEYPyXlmOXJJjwhmW1s7uKF5p+sg0SsqreW9Dnt1RfsCSIi8ic0XkmIhstWJ76vwyUmMY2yOubui3F9xOrbxD7okzrNhbxORByQT4eUuR5hqc2pY+idHMXX4Ap4etgrPqSP4V4AqLtqUa8Mjl3Sgpr2b2sv12R1E+YkF2HiIw0U87v1pBRJg+MpV9hadZuqfQ7jj/wZIib4xZCmgnLTfolRDNNX07Mmf5AY6XVdodR3k5p9OwIDuPkV3bk+hHA3pc4eo+CcRFhTLHw5ZT6jl5L/Tw+G5U1ujQb9VyK/cVkV9crtOfLBASFMC04Z1Ytuc4u4+W2h3nO24r8iIyQ0QcIuIoLPSsX2e8TefYVkwamMTrqw+SX+yZa3OVd8hy5BIdHsz4nvF2R/EJU4d2IjQogJdX5Ngd5TtuK/LGmFnGmAxjTEZsrDYja6kHxqUD8I8vdei3ap6SM9V8vu0IN/RPICxY7zy3QkxkCDcNTOS99XmcOF1ldxxAT9d4rcQ24dw6LIX52XnsL9Sh36rpPtqUT1WNU5uRWeyOzDQqa5y8tdYzes1btYTyLWAV0F1E8kTkTiu2qxr280u7EhoUwNNL9GheNV2WI4+eHVvTO1HvPrdSt/goRqW3Z96qHKpq7O81b9XqmluMMR2NMcHGmCRjzBwrtqsaFhsVyvTMND7eVMD2glN2x1FeZHvBKbbkl2gzMheZPjKNo6cqWbjlsN1R9HSNt7t7dGdahwXxpA79Vk0wPzuXkMAAru+vg7pdYUx6LJ1jI5m74oDtA3+0yHu56PBg7r20C1/uPEb2wZN2x1FeoLKmlg825DO+VzxtI0PsjuOTAgKEOzLT2JxXgsPm70st8j7g9hGptG8VqmMCVaN8ueMYJ89U69p4F5s4MJHo8GDbe81rkfcBESFB3D+2K6v3n2DF3iK74ygPl+XIpWN0GCO7trc7ik+LCAniliEpLNp2hNwTZ2zLoUXeR9w8JJnENjr0WzXscEk5S3cXMmlQEoHajMzlfjqiEyLCqytzbMugRd5HhAYF8tC4dDbllbB4u2dPj1f2eW99Pk4Dk7QZmVt0jA7nqj4deWddLmWV9syB0CLvQ24ckEjn2Eie1KHf6jyMMWQ5chnWOYZO7SLtjuM3pmemUlpZwwKHPVPdtMj7kKDAAB4Z353dR8v4aJMO/Vb/ae2BExwsOqMXXN1sQEpbBqa04eWVObYcfGmR9zFX9u5Ar4TWPP3FHo+42055jixHHq1Cg7iyd0e7o/id6SPTOFh0hq92HnP7Z2uR9zEBAcKjE7pz6MQZsmz69VB5ntKKahZuOcy1/RIID9FmZO52Ra8OJESHMWe5+4f9aJH3QZd2i2Vwalue+3IPFdWeN1hYud+nmw9TXl2rbQxsEhQYwE9HpLJ6/wm2FZS49bO1yPuguqHfPThWWsm8VTl2x1EeIMuRS3pcK/ont7E7it+6eXAK4cGBbu81r0XeRw1Ji2FMt1j++c0+Sit06Lc/23uslPWHipmSkYyIro23S3REMJMzkvhoYwHHSivc9rla5H3Yo5d3p/hMNbOXedbMSeVe8x15BAUINwzQZmR2u31EKlW1Tt5Y7b5e81rkfVifpGiu6tOB2cv2e8yUGuVe1bVO3l2fz9geccRGhdodx+91jm3F2B5xvLHmoNuul2mR93EPj+9GeXUt//pmr91RlA2+2VXI8bJKXRvvQe4cmcbxsio+2lTgls/TIu/jusZFcdPAJF5ddZDDJTr0299kOXKJjQrl0u46V9lTjOjSju7xUcxd7p5e81rk/cCDl6VjjOEfX+nRvD85VlrBVzuPcdPARIIC9VvdU4gI00emsvNIKav2ub5rrP6f9wPJMRFMHZJC1rpcco6ftjuOcpMPNuRT6zRMHqSnajzN9f0TiYkMYe4K1y+K0CLvJ+4b25WgQOGZJbvtjqLcoK4ZWR6DOrWla1wru+Oo7wkLDuQnQ1P4cucxDrj4wEuLvJ+Iiwrjjsw0PtxUwK4jpXbHUS62IbeYvcfK9A5XD/aT4Z0IChBecfHRvBZ5P3LP6M6EBwfy4tJ9dkdRLjbfkUt4cCBX902wO4q6gLioMK7tl8D87DxKyl13w6IWeT/SJiKEKRnJfLSxgCMl7rvjTrnXmaoaPt50mKv7dqRVaJDdcVQDpmemcaaqlqx1rmsmqEXez9w5Mg2nMbxi4zgy5VqfbTlCWWWNro33Ar0ToxmaFsMrK3OoqXVNa3At8n4mOSaCK3t35M01Bzlt0zgy5VpZjlxS20UwOLWt3VFUI0wfmUZ+cbnLxnZqkfdDd41K41RFjfab90E5x0+z5sAJJmszMq8x7pJ4UmIimLPcNRdgtcj7oQEpbcno1JY5yw+47FdEZY8F2XkECEwcqKtqvEVggHD7iFSyD55kY26x5dvXIu+n7hrVmbyT5Sza5ppfEZX71ToNC7LzGNMtlg7RYXbHUU0wOSOJVqFBvOyC5ZSWFHkRuUJEdonIXhH5jRXbVK41vmc8qe0ieGnZfrf0z1Cut2xPIUdOVegFVy8UFRbMjwcn8+nmw5avfGtxkReRQOB54EqgJ3CLiPRs6XaVawUGCHeOTGNjbjHZB0/aHUdZYL4jj5jIEC67JN7uKKoZbh+RitMYy6e5WXEkPwTYa4zZb4ypAt4Grrdgu8rFJg1Kpk1EMC8tc/9wYWWtE6erWLz9CDf0TyQkSM/CeqPkmAjG94znzbWHKK+yrte8FXtDInDuMo28+sf+g4jMEBGHiDgKCwst+FjVUuEhgfxkaCcWbz/q8v4ZyrU+3JhPda1hymC94OrN7hzZmeIz1by3Ic+ybbrtR74xZpYxJsMYkxEbq72tPcW0EZ0IDghgrouWbynXM8bwzrpc+iZF06NDa7vjqBYYnNqW3omtmbv8AE6nNdfKrCjy+cC5V3qS6h9TXiAuKowbBiQwPzuXkzoi0CttKzjFziOlTNYLrl5PRJiemca+wtMs3WPNGQ8rivw6IF1E0kQkBLgZ+MiC7So3uWtUZyqqnbyx5qDdUVQzZDlyCQ0K4Lp+2ozMF1zTN4HYqFDmrsixZHstLvLGmBrgF8AiYAeQZYzZ1tLtKvfpFh/FmG6xvLLSfcOFlTUqqmv5YEM+V/TuQHR4sN1xlAVCggKYNqwTS3cXsudoy9uCW3JO3hiz0BjTzRjTxRjzFyu2qdzr7lGdOV5WyUcb3TNcWFlj8fajnKrQZmS+ZurQFEKDAiw5mte1VgqAzK7t6NEhitnL9eYobzLfkUtim3CGd25ndxRloXatQrlxQCLvrc9r8bUyLfIKqLvgM2N0Z3YfLePb3brE1RvknTzD8r3HmZyRRECANiPzNXdkplFZ4+TNtYdatB0t8uo71/RNIL51qN4c5SXeza5bxDZpkK6N90XdO0QxKr0981blUFXT/EaCWuTVd0KCArh9RBor9haxraDE7jiqAU6nYX52Lpld2pPUNsLuOMpFpmemcfRUJZ9tPdzsbWiRV/9h6pAUIkICmbNMb47yZKv3F5F3spzJOqjbp43pFkvn2EjmLD/Q7GtlWuTVf4iOqOuG99EmnQPrybIcubQOC2JCrw52R1EuFBAg3JGZxua8kmY3EtQir35geqbOgfVkJeXVfLb1CNf3TyQsONDuOMrFJg5MJDo8mLnN7DWvRV79wNk5sG+sOUiZzoH1OB9vKqCyxqlr4/1EREgQtwxJ4fOtR5r1fi3y6rzuGpVGaUUNWet0Dqynme/IpUeHKHonajMyfzFteKdmz+zVIq/O6+wc2LkrdA6sJ9l55BSb8kqYooO6/UpCm3CenzqwWe/VIq8u6O7ROgfW08x35BEcKNww4AcjG5SPu6J38y6ya5FXFzTukro5sLN0DqxHqKpx8v6GfMb3jCcmMsTuOMpLaJFXF3R2Duym3GIcOgfWdl/tPMqJ01XaN141iRZ51aDv5sAu1VYHdsty5NGhdRij03Wymmo8LfKqQWfnwH6xQ+fA2unoqQq+2XWMiYMSCdRmZKoJtMiri9I5sPZ7d30eTgOTB+mpGtU0WuTVRekcWHsZY5jvyGNIWgyp7SPtjqO8jBZ51Shn58C+vlrnwLqb4+BJDhw/rXe4qmbRIq8a5ewc2FdX6RxYd8tal0tkSCBX9dFmZKrptMirRpsxWufAultZZQ2fbjnMtf0SiAgJsjuO8kJa5FWjjejSjks6tuYlvTnKbRZuPsyZqlpdG6+aTYu8ajQR4e5Raew5VsY3OgfWLbIcuXSJjWRgShu7oygvpUVeNcnZObCzdQ6sy+0rLMNx8KQ2I1MtokVeNYnOgXWf+Y48AgOEGwdqMzLVfFrkVZNNHZpCpM6BdamaWifvrs/jR93jiIsKszuO8mJa5FWTRYcHM6V+DuzhknK74/ikb3cXUlhayRQd1K1aSIu8ahadA+taWY5c2rcK4Uc94uyOorycFnnVLGfnwL655pDOgbXY8bJKvtxxjJsGJhEcqN+iqmVatAeJyGQR2SYiThHJsCqU8g46B9Y1PtiQT43TMHmQnqpRLdfSw4StwE3AUguyKC8zIKUtg1PbMme5zoG1ijGGd9blMiClDenxUXbHUT6gRUXeGLPDGLPLqjDK+9w1qjP5xeV8vu2I3VF8wqa8EvYcK9NmZMoybjvhJyIzRMQhIo7CQr1b0lecnQP70rID2urAAlmOXMKCA7imb0e7oygfcdEiLyJLRGTreb6ub8oHGWNmGWMyjDEZsbE6vsxX6BxY65RX1fLxxgKu6tORqLBgu+MoH3HRtnbGmHHuCKK816RByTz1xW5eWrqfwakxdsfxWp9vO0xpZY2eqlGW0vVZqsXCQwL5yTCdA9tSWevy6NQugqFp+oNSWaelSyhvFJE8YDjwqYgssiaW8ja3Da+bAztnuTYua45DRWdYtb+IyYOStBmZslRLV9e8b4xJMsaEGmPijTETrAqmvMvZObALsvN0DmwzLMjORQQm6tp4ZTE9XaMso3Ngm6fWaViQncfo9Fg6RofbHUf5GC3yyjLd4qO4tHssr67K0TmwTbBi73EKSir0gqtyCS3yylJ3j+rM8bIqPtyYb3cUr5HlyKVNRDDjemozMmU9LfLKUmfnwM7Wm6MapfhMFYu3HeWG/omEBgXaHUf5IC3yylI6B7ZpPtxYQFWtU0/VKJfRIq8sp3NgGy/LkUvvxNb0TGhtdxTlo7TIK8uFBAVwR6bOgb2YrfklbCs4pUfxyqW0yCuXuGVI3RzY2ToH9oIWZOcREhTAdf0S7I6ifJgWeeUSZ+fAfqxzYM+rorqW9zfkM6FXB9pEhNgdR/kwLfLKZXQO7IUt2XGUkvJqHdStXE6LvHKZ5JgIruyjc2DPJ8uRR2KbcEZ0aW93FOXjtMgrl7p7VGdKK2p4R+fAfqeguJxlewqZOCiJwABtRqZcS4u8cqn+yW0YnNqWuToH9jvvZudhDDqoW7mFFnnlcjoH9t+cTsP87DxGdGlHckyE3XGUH9Air1zuuzmwS/f7fauDNQdOcOjEGV0br9xGi7xyucAA4c5RndmUV8K6HP+eAzvfkUtUWBBX9O5gdxTlJ7TIK7eYNDCJthHBvOTHrQ5OVVSzcOthruuXQFiwNiNT7qFFXrnF2TmwS/x0Dmyt0/DU4t1UVGszMuVeWuSV2/jrHNgjJRVMfWk1r6zM4ebByfRNirY7kvIjWuSV25ydAzvfkccJP5kD+/WuY1z13DI255XwxOR+PD6xrw7qVm6lRV651V2jOlNZ4/tzYKtrnfzvwh3c8fI64qJC+fj+kUzSdfHKBlrklVudnQM7z4fnwOaeOMOUF1fx4tL93Do0hQ/uy6RrXCu7Yyk/pUVeuZ0vz4H9fOsRrn5uGXuPljFz6gD+cmMfXUmjbKVFXrnd2TmwLy07gNPpGzdHVVTX8ocPt3Lv69mkto/k0wdGcU1f7ROv7KdFXrmdiDBjdBp7j5XxrQ/MgT1w/DQT/7WSV1cd5M6RaSy4dwQp7bRlgfIMWuSVLa7pm0CH1mFef3PUhxvzuea5ZeQXlzN7Wga/v6YnIUH6baU8h+6NyhbBgQHcnpnKyn3eOQe2vKqWxxZs5sG3N3JJx9YsfGAU43rG2x1LqR9oUZEXkb+LyE4R2Swi74tIG4tyKT/grXNgdx8t5frnl5OVnct9P+rC2zOGkdAm3O5YSp1XS4/kvwB6G2P6AruB37Y8kvIX3jYH1hhD1rpcrpu5nBOnq5g3fQi/mtCDoED9hVh5rhbtncaYxcaYs3PdVgN6t4dqku/mwK7IsTtKg8oqa3jonY38+t3NDExpy8IHRzEqPdbuWEpdlJWHINOBzy70pIjMEBGHiDgKC71/RYWyxndzYNd67hzYrfklXPuP5Xy8qYBHxnfjtTuHEhcVZncspRrlokVeRJaIyNbzfF1/zmt+B9QAb1xoO8aYWcaYDGNMRmysHgGpf/PUObDGGOatyuGmf66kvKqWt+4exv2XpetcVuVVgi72AmPMuIaeF5HbgWuAy4y/j/1RzXLuHNifDu/kEee4S8qreWzBZj7fdoSxPeJ4YnI/YiJD7I6lVJO1dHXNFcCvgeuMMWesiaT80dk5sJ9ttX8O7PpDJ7nq2WUs2XGU3111CbOnZWiBV16rpYdMM4Eo4AsR2SgiL1iQSfmhcZfEk9Y+ktnL7JsD63QaZi3dx5QXViEC8+8dzt2jOxOgp2eUF7vo6ZqGGGO6WhVE+bfAAGH6yDR+/8FW1uWcZEhajFs/v6iskkfmb+KbXYVc2bsDj0/sS3R4sFszKOUK9p/8VKqeXXNgV+8v4qrnlrFybxF/vr4X/7x1oBZ45TO0yCuPce4c2P2FZS7/vFqn4bkv9zD1pdVEhgTx/n0juG14qk5uUj5Fi7zyKNOGp9bPgXVtq4Njpyq4bc4anvpiN9f1S+Cj+0fSK0Fnryrfo0VeeZTYqFBuHJDIgmzXzYFduruQK59dxoZDxfxtUl+e/nF/WoW26PKUUh5Li7zyOHeNSnPJHNjqWid//Xwn0+aupX2rUD76RSZTMpL19IzyaVrklcdJd8Ec2Pzicm6etZp/fbOPW4Yk88F9maTHR1mybaU8mRZ55ZHOzoH9YEPL58B+sf0oVz27jF1HSnnulgH87019CQ/RuavKP2iRVx5pRJd29OzYmtnLmz8HtrKmlj99vI275zlIjgnnk/tHcl0/nbuq/IsWeeWRRIS7WzAH9mDRaSb9axUvr8jhjsxU3v3ZCFLbR7ogqVKeTYu88ljNnQP78aYCrn5uOQeLTvPibYP4w7W9CA3S0zPKP2mRVx7r3DmwW/MvPge2orqW3763hfvf2kC3+FYsfHAUE3p1cENSpTyXFnnl0f49B7bho/m9x0q54fkVvLX2ED+7tAvv3DOcpLYRbkqplOfSIq88WnR4MD8enMInmw9fcA7sguw8rv3HCgpLK3nljsE8dkUPgj2gJ71SnkC/E5THuyMz9bxzYE9X1vDwOxt5dP4m+ie3YeGDo7i0e5w9IZXyUFrklcf7bg7smkOUVlQDsL3gFNfOXM4HG/P55bhuvH7XUOJb69xVpb5PG3Yor3D3qM58uvkw76zLJSw4kP/7yXbahAfzxl3DGN6lnd3xlPJYWuSVVzg7B/bxz3ZS4zSM6RbLU1P60a5VqN3RlPJoerpGeY37x6YTEhTAb6/swcu3D9YCr1Qj6JG88hqju8Wy9Y8TdOaqUk2gR/LKq2iBV6pptMgrpZQP0yKvlFI+TIu8Ukr5MC3ySinlw7TIK6WUD9Mir5RSPkyLvFJK+TAxpnnzM1v0oSKlwC63f7B1ooGLT7HwXN6c35uzA7QHjtsdogW8/b+/t+dPN8ZEN+UNdt3xussYk2HTZ7eYiMwyxsywO0dzeXN+b84OICIO3fft4wv5m/oePV3TPB/bHaCFvDm/N2f3Bd7+39/v8tt1usarj2aUai7d95W72XUk3+RfOZTyEbrvK7ey5UheKaWUe+g5+QaISJKIfCgie0Rkv4jMFJFQERkvItkisqX+n2Ptzno+DeQfIiIb6782iciNdmc9nwvlP+f5FBEpE5FH7czpq7x5/9d9/9+0yF+AiAjwHvCBMSYdSAfCgb9RtwTuWmNMH+CnwGu2Bb2Ai+TfCmQYY/oDVwAviohHzRa4SP6zngI+syGez/Pm/V/3/e8xxrjsC0gCPgT2APuBmUAo0A74GigDZroyQwuyXwYs/d5jrYGTQKtzHhPgBBBqd+Zm5k8DjgJBdmduSn7gBuDvwB+BR+3Oe4G/g+7/np3dL/Z9lx3JX+SnUQXwe8CTf83uBWSf+4Ax5hSQA3Q95+GJwHpjTKX7ojVKg/lFZKiIbAO2APcaY2rcH7FBDeXvDzwG/MntqRpJ939b6b5/DleerhkLVBhjXgYwxtQCvwSmUXfBdzl1O7vXEpFewF+Be+zO0lTGmDXGmF7AYOC3IhJmd6Ym+CPwtDGmzO4gDdD930P5277vyiLf2CMBT7UdGHTuAyLSGugA7BKRJOB9YJoxZp8N+S6mwfxnHzPG7KDutEFvt6a7uIbyRwN/E5Ec4CHgv0TkF+4OeBG6/9tH9/1z6IXXC/sSiBCRaQAiEgg8yb/Pq34K/MYYs8K+iA1qKH+HsxebRKQT0IO64uNJLpjfGDPYGJNqjEkFngH+xxgz07akvsmb93/d98/hyiLfqJ+mnsrUXe24EZgkInuAIsBpjPkL8Avqjsb++5zlWHE2xv2Bi+QfCWwSkY3UHY393BjjUU2zLpLfG+j+bxPd93+4QVddIRbAQd2vcwCBwEvA7855ze146OqC8/x9RgAHgYF2Z9H89udpRF7d/z3ky5uzW5HfpXe8ikgy8DxwCRALvGOMuaf+uRzqlgWFAMXA5caY7S4Lo5Sb6f6vPIHb2hqIyAjgLeBGY8x6t3yoUh5C939lF+1do5RSPkxX1yillA/TIq+UUj7MkiIvIski8rWIbBeRbSLyYP3jMSLyRX0ntS9EpG3947eKyOb6LnYrRaTfOdu6QkR2icheEfmNFfmUchWL9/25InJMRLba9fdRvseSc/Ii0hHoaIxZLyJR1N3pdwN1S8ROGGMery/YbY0xj9VfhNphjDkpIlcCfzTGDK1f9L8bGA/kAeuAW3TVgfJUVu379dsaTd0dmPOMMZ52F6byUpYcyRtjDp9dMWCMKQV2AInA9cCr9S97lbqdH2PMSmPMyfrHV1PXrQ9gCLDXGLPfGFMFvF2/DaU8koX7PsaYpdR1dFTKMpafkxeRVGAAsAaIN8Ycrn/qCBB/nrfcyb/7IicCuec8l1f/mFIer4X7vlIuYWmzfBFpBbwLPGSMOVXXbbWOMcaIiPne639E3Y4+0socSrmb7vvKU1l2JC8iwdTt5G8YY96rf/ho/TnLs+cuj53z+r7AbOB6Y0xR/cP5QPI5m02qf0wpj2XRvq+US1i1ukaAOdRdUHrqnKc+om48GPX//LD+9SnUDVS4zRiz+5zXrwPSRSRNREKAm+u3oZRHsnDfV8olrFpdMxJYRt2kFWf9w/9F3bnJLCCFugY7U4wxJ0RkNnUTZQ7Wv7bGGJNRv62rqGuhGQjMNd7TdVD5IYv3/beAS4H21I2l+4MxZo6b/irKR2lbA6WU8mF6x6tSSvkwLfJKKeXDtMgrpZQP0yKvlFI+TIu8Ukr5MC3yymeISJKIfFjf+XG/iMwUkVCLtn27iCRYsS2l3EmLvPIJ9TclvQd8YIxJB9KBcOBvFmw7kLqukk0q8iJiadsQpZpDi7zyFWOBCmPMywDGmFrgl8A0EfmFiMw8+0IR+URELq3/879ExFHfC/5P57wmR0T+KiLrgVuADOANEdkoIuEiMkhEvhWRbBFZdE4Lg29E5BkRcQAPuunvrtQF6ZGG8hW9qOvl/p36RmE5NLyf/67+TtRA4EsR6WuM2Vz/XJExZiCAiNwFPGqMcdT3qvkHdb1nCkXkx8BfgOn17ws5exerUnbTIq/83RQRmUHd90JHoCdwtsi/c4H3dAd6A1/Ud5sMBA6f8/yF3qeU22mRV75iOzDp3AdEpDXQASgCup3zVFj982nAo8Dg+klNr5x9rt7pC3yWANuMMcMv8PyF3qeU2+k5eeUrvgQiRGQafHex9ElgJnAA6C8iASKSTN0EMoDW1BXkEhGJB65sYPulQFT9n3cBsSIyvP6zgkWkl9V/IaWsoEVe+QRT12nvRmCSiOyh7ujdWd/FdAV1hX478BxwdlzfJmADsBN4s/51F/IK8IKIbKTu9Mwk4K8isgnYCIyw/C+llAW0C6XySfUDs98Cbjw7g1Upf6RFXimlfJierlFKKR+mRV4ppXyYFnmllPJhWuSVUsqHaZFXSikfpkVeKaV82P8HssnNqiXCyNwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.groupby(by='Quarter').sum()['Data'].plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8.5" } }, "nbformat": 4, "nbformat_minor": 5 }