Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save genhernandez/d0e11cda2bb468884379cfacaf142865 to your computer and use it in GitHub Desktop.
Save genhernandez/d0e11cda2bb468884379cfacaf142865 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import json\n",
"from sqlalchemy import create_engine\n",
"import pandas as pd\n",
"dwh_creds = os.getenv('DWH_CREDS')\n",
"mb_creds = os.getenv('MB_CREDS')\n",
"dwh_engine = create_engine(dwh_creds)\n",
"mb_engine = create_engine(mb_creds)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"open_interval_event_ids_query = \"\"\"\n",
"select distinct id\n",
"from locations\n",
"where upper_inf(time_range) AND lower(time_range) < ('1547482980'::int::abstime::timestamp at time zone 'UTC')\n",
"and org_id = 583 and provider_id = '63f13c48-34ff-49d2-aca7-cf6a5b6171c3'\n",
"\"\"\"\n",
"\n",
"open_interval_event_ids = pd.read_sql(open_interval_event_ids_query, con=mb_engine)"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"361"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(open_interval_event_ids.id)"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {},
"outputs": [],
"source": [
"open_interval_event_ids_str = \",\".join([f\"'{s}'\" for s in open_interval_event_ids.id])\n"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [],
"source": [
"n_devices_with_open_interval_before_timestamp_query = f\"\"\"\n",
"select n_open_interval_events, count(*) as n_devices from\n",
"(select device_id, count(*) as n_open_interval_events from events \n",
"where id in ({open_interval_event_ids_str})\n",
"group by device_id) as b\n",
"group by n_open_interval_events\n",
"\"\"\"\n",
"\n",
"n_devices_res = pd.read_sql(n_devices_with_open_interval_before_timestamp_query, con=dwh_engine)"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"355"
]
},
"execution_count": 136,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n_devices_res\n",
"n_devices_res.n_devices.sum()"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {},
"outputs": [],
"source": [
"device_ids_with_open_interval_before_timestamp_query = f\"\"\"\n",
"select distinct device_id\n",
"from events\n",
"where id in ({open_interval_event_ids_str})\n",
"\"\"\"\n",
"\n",
"device_ids_res = pd.read_sql(device_ids_with_open_interval_before_timestamp_query, con=dwh_engine)"
]
},
{
"cell_type": "code",
"execution_count": 129,
"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>device_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>090858dd-2d3e-4145-bb8d-eff9ab35bc35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>09760f7a-2c69-4810-b95f-e9093ece6d46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0998a5cd-0a16-43c9-bca5-7cb84628b03c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0a187031-ae16-470e-b9e4-13ff202e0891</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0a51908c-63df-4d3c-ba9e-351bdc32997b</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0ab83bdf-c093-43ec-be2f-135617627c29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0b5853da-f9b3-4317-b5dc-6a6d6162edb7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0c945287-eb78-4d04-b311-69ea9bba1a37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>0cfbb775-86b9-4591-b098-630f512a17af</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0dcec5bc-b80c-46c3-b192-c19edcf7b7d8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>0e02082a-4804-45b3-bf01-e0f4cd8a33d2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>106b7436-c33e-491e-b67f-3ad0155c6930</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>10e4ae2c-eaa9-4ccc-ba54-2caeaa961d21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>11356930-a9e4-4875-bf3c-8b48de3a7ca7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>11e23e21-72ee-43f4-b0aa-48376da4eb82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>126f2109-df1d-46c7-be36-940a38ab35ec</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>126fd3a0-4b7e-49e4-b1f1-6f12da4ee88b</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1408546d-8222-42c5-b8f9-64e112132632</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>14cd55c4-3300-4e72-b66b-70b71f855512</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>14e6028f-bd5d-45f4-bceb-dd495bd605aa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>14f57522-a839-46ee-b7f5-0d81e739dfb7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>15db41eb-eba6-43c3-bc67-33d653a79735</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>1654a875-7b05-4c85-b038-71fcc4d70c0e</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>1682fc0a-05a9-4990-b8da-ee03da769d94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>16eb0fc7-fc9b-4ba3-b9d2-c450a0806b75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>172315a5-5ff7-4548-b844-a4e43d9f8ba9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>17800c42-a223-430e-bbec-b73f729a210f</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>17ae9674-499f-4507-b3c0-74b3c86c09a3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>17e4ff01-b6cb-46b9-b327-5b33f7eb3bd9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>1806e577-5873-4c3c-bd29-3d10a4b42c17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>325</th>\n",
" <td>8c8c1e15-4da7-444b-b5fa-0f4510a972b8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>326</th>\n",
" <td>8d4e34c2-6187-499f-b8a5-f10ad85a875f</td>\n",
" </tr>\n",
" <tr>\n",
" <th>327</th>\n",
" <td>8d7928d2-535c-4849-b4e0-ab34a1e5f972</td>\n",
" </tr>\n",
" <tr>\n",
" <th>328</th>\n",
" <td>8d9d7896-691c-4177-b538-1f1bbc419cc0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>329</th>\n",
" <td>8dd41e26-5bf3-4583-bc38-c97a83e31b66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>330</th>\n",
" <td>8e045286-c3bd-4b88-ba3d-29137a2fb561</td>\n",
" </tr>\n",
" <tr>\n",
" <th>331</th>\n",
" <td>8e3bf2cd-2e90-49b1-b9f2-263d16bd7f3d</td>\n",
" </tr>\n",
" <tr>\n",
" <th>332</th>\n",
" <td>8e890e7c-44b3-4d0b-bfc1-76bbff63d572</td>\n",
" </tr>\n",
" <tr>\n",
" <th>333</th>\n",
" <td>8e9c9e2c-9718-4de8-b5cc-14bba69aa176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>334</th>\n",
" <td>8e9ce29b-f6d7-4337-bf36-3f77bd92ceb8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>335</th>\n",
" <td>8eae4126-4fb5-495e-b32b-b6fe1fedff24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>336</th>\n",
" <td>8edb9c91-3742-4bbc-ba98-62a49507e47c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>337</th>\n",
" <td>8ee84b72-e673-43f0-b65c-7f309f30d866</td>\n",
" </tr>\n",
" <tr>\n",
" <th>338</th>\n",
" <td>8f8a7e99-495a-440a-bebc-e9ada0229e8f</td>\n",
" </tr>\n",
" <tr>\n",
" <th>339</th>\n",
" <td>8fb241b2-b1db-455e-b02c-27cf4441491f</td>\n",
" </tr>\n",
" <tr>\n",
" <th>340</th>\n",
" <td>8fb35b9c-3a49-4227-b1f9-91df828ffa46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>341</th>\n",
" <td>901d7f93-0c92-48eb-b6b0-6ba50bf8ed6e</td>\n",
" </tr>\n",
" <tr>\n",
" <th>342</th>\n",
" <td>9065c797-f8bf-422c-b88c-59e179cb67fd</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343</th>\n",
" <td>9073087f-ce99-414e-b592-85b264c5591a</td>\n",
" </tr>\n",
" <tr>\n",
" <th>344</th>\n",
" <td>9140070d-00bd-439a-bbd2-2c223a1a1ec6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>345</th>\n",
" <td>9177e007-a0a6-488d-b1a8-c066194cd5a9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>346</th>\n",
" <td>91cf7e7a-1ca2-4c08-b677-bbee7418a7bc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>347</th>\n",
" <td>91d794a8-d97d-4922-bbbc-6c3b74cce4d5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>348</th>\n",
" <td>91e2e0af-9ec8-4f55-bf74-378f0f1c97bc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>349</th>\n",
" <td>921e01a8-f90b-4f94-b8c7-d9356650b669</td>\n",
" </tr>\n",
" <tr>\n",
" <th>350</th>\n",
" <td>9224fd4e-b342-4d69-b9bd-bb684fe32023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>351</th>\n",
" <td>9240b0c3-3ece-487d-b0e9-e6cdf29215c8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>352</th>\n",
" <td>92a4c8b8-6ce9-4178-b3d5-99de0a12f875</td>\n",
" </tr>\n",
" <tr>\n",
" <th>353</th>\n",
" <td>93749de6-3ebc-4af9-b8db-bd4535af1d04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354</th>\n",
" <td>93a55c87-52b3-47fa-b315-1fac5a44961b</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>355 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" device_id\n",
"0 090858dd-2d3e-4145-bb8d-eff9ab35bc35\n",
"1 09760f7a-2c69-4810-b95f-e9093ece6d46\n",
"2 0998a5cd-0a16-43c9-bca5-7cb84628b03c\n",
"3 0a187031-ae16-470e-b9e4-13ff202e0891\n",
"4 0a51908c-63df-4d3c-ba9e-351bdc32997b\n",
"5 0ab83bdf-c093-43ec-be2f-135617627c29\n",
"6 0b5853da-f9b3-4317-b5dc-6a6d6162edb7\n",
"7 0c945287-eb78-4d04-b311-69ea9bba1a37\n",
"8 0cfbb775-86b9-4591-b098-630f512a17af\n",
"9 0dcec5bc-b80c-46c3-b192-c19edcf7b7d8\n",
"10 0e02082a-4804-45b3-bf01-e0f4cd8a33d2\n",
"11 106b7436-c33e-491e-b67f-3ad0155c6930\n",
"12 10e4ae2c-eaa9-4ccc-ba54-2caeaa961d21\n",
"13 11356930-a9e4-4875-bf3c-8b48de3a7ca7\n",
"14 11e23e21-72ee-43f4-b0aa-48376da4eb82\n",
"15 126f2109-df1d-46c7-be36-940a38ab35ec\n",
"16 126fd3a0-4b7e-49e4-b1f1-6f12da4ee88b\n",
"17 1408546d-8222-42c5-b8f9-64e112132632\n",
"18 14cd55c4-3300-4e72-b66b-70b71f855512\n",
"19 14e6028f-bd5d-45f4-bceb-dd495bd605aa\n",
"20 14f57522-a839-46ee-b7f5-0d81e739dfb7\n",
"21 15db41eb-eba6-43c3-bc67-33d653a79735\n",
"22 1654a875-7b05-4c85-b038-71fcc4d70c0e\n",
"23 1682fc0a-05a9-4990-b8da-ee03da769d94\n",
"24 16eb0fc7-fc9b-4ba3-b9d2-c450a0806b75\n",
"25 172315a5-5ff7-4548-b844-a4e43d9f8ba9\n",
"26 17800c42-a223-430e-bbec-b73f729a210f\n",
"27 17ae9674-499f-4507-b3c0-74b3c86c09a3\n",
"28 17e4ff01-b6cb-46b9-b327-5b33f7eb3bd9\n",
"29 1806e577-5873-4c3c-bd29-3d10a4b42c17\n",
".. ...\n",
"325 8c8c1e15-4da7-444b-b5fa-0f4510a972b8\n",
"326 8d4e34c2-6187-499f-b8a5-f10ad85a875f\n",
"327 8d7928d2-535c-4849-b4e0-ab34a1e5f972\n",
"328 8d9d7896-691c-4177-b538-1f1bbc419cc0\n",
"329 8dd41e26-5bf3-4583-bc38-c97a83e31b66\n",
"330 8e045286-c3bd-4b88-ba3d-29137a2fb561\n",
"331 8e3bf2cd-2e90-49b1-b9f2-263d16bd7f3d\n",
"332 8e890e7c-44b3-4d0b-bfc1-76bbff63d572\n",
"333 8e9c9e2c-9718-4de8-b5cc-14bba69aa176\n",
"334 8e9ce29b-f6d7-4337-bf36-3f77bd92ceb8\n",
"335 8eae4126-4fb5-495e-b32b-b6fe1fedff24\n",
"336 8edb9c91-3742-4bbc-ba98-62a49507e47c\n",
"337 8ee84b72-e673-43f0-b65c-7f309f30d866\n",
"338 8f8a7e99-495a-440a-bebc-e9ada0229e8f\n",
"339 8fb241b2-b1db-455e-b02c-27cf4441491f\n",
"340 8fb35b9c-3a49-4227-b1f9-91df828ffa46\n",
"341 901d7f93-0c92-48eb-b6b0-6ba50bf8ed6e\n",
"342 9065c797-f8bf-422c-b88c-59e179cb67fd\n",
"343 9073087f-ce99-414e-b592-85b264c5591a\n",
"344 9140070d-00bd-439a-bbd2-2c223a1a1ec6\n",
"345 9177e007-a0a6-488d-b1a8-c066194cd5a9\n",
"346 91cf7e7a-1ca2-4c08-b677-bbee7418a7bc\n",
"347 91d794a8-d97d-4922-bbbc-6c3b74cce4d5\n",
"348 91e2e0af-9ec8-4f55-bf74-378f0f1c97bc\n",
"349 921e01a8-f90b-4f94-b8c7-d9356650b669\n",
"350 9224fd4e-b342-4d69-b9bd-bb684fe32023\n",
"351 9240b0c3-3ece-487d-b0e9-e6cdf29215c8\n",
"352 92a4c8b8-6ce9-4178-b3d5-99de0a12f875\n",
"353 93749de6-3ebc-4af9-b8db-bd4535af1d04\n",
"354 93a55c87-52b3-47fa-b315-1fac5a44961b\n",
"\n",
"[355 rows x 1 columns]"
]
},
"execution_count": 129,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"device_ids_res"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {},
"outputs": [],
"source": [
"device_ids_with_open_interval_str = \",\".join([f\"'{s}'\" for s in device_ids_res.device_id])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [],
"source": [
"n_devices_with_open_intervals_and_la_events_query = f\"\"\"\n",
"select count(distinct e.device_id) as n_devices from\n",
"(select distinct on (device_id) * from events\n",
"where org_id = 581 \n",
"and provider_id = '63f13c48-34ff-49d2-aca7-cf6a5b6171c3' \n",
"and device_id in ({device_ids_with_open_interval_str})\n",
"and event_time > '2019-01-14 08:22:50-0800'\n",
") as la_events\n",
"left join events as e\n",
"on e.org_id = 583 and e.device_id = la_events.device_id and e.provider_id = '63f13c48-34ff-49d2-aca7-cf6a5b6171c3' and e.event_time < '2019-01-14 08:22:50-0800' \n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [],
"source": [
"n_devices_with_open_interval_and_la_res = pd.read_sql(n_devices_with_open_intervals_and_la_events_query, con=dwh_engine)"
]
},
{
"cell_type": "code",
"execution_count": 133,
"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>n_devices</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>250</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" n_devices\n",
"0 250"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n_devices_with_open_interval_and_la_res"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {},
"outputs": [],
"source": [
"query = f\"\"\"SELECT \n",
"last_event.year, last_event.week,\n",
"count(distinct last_event.device_id) as n_culver_devices,\n",
"count(distinct la_events.device_id) as n_la_devices_from_culver\n",
"FROM\n",
"(\n",
"select DISTINCT on (device_id) *, extract(YEAR FROM event_time) as year, extract(WEEK FROM event_time) as week\n",
"from events\n",
"where org_id = 583 and provider_id='63f13c48-34ff-49d2-aca7-cf6a5b6171c3'\n",
"and device_id in ({device_ids_with_open_interval_str})\n",
"ORDER by device_id, event_time desc\n",
") as last_event\n",
"LEFT JOIN events as la_events\n",
"on la_events.org_id = 581 and la_events.device_id = last_event.device_id and la_events.provider_id='63f13c48-34ff-49d2-aca7-cf6a5b6171c3' and la_events.event_time > last_event.event_time\n",
"WHERE last_event.event_type in ('available', 'unavailable')\n",
"GROUP BY last_event.year, last_event.week\n",
"order by last_event.year, last_event.week;\"\"\"\n",
"\n",
"query_res = pd.read_sql(query, con=dwh_engine)"
]
},
{
"cell_type": "code",
"execution_count": 135,
"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>year</th>\n",
" <th>week</th>\n",
" <th>n_culver_devices</th>\n",
" <th>n_la_devices_from_culver</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2018.0</td>\n",
" <td>1.0</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2018.0</td>\n",
" <td>48.0</td>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2018.0</td>\n",
" <td>49.0</td>\n",
" <td>38</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2018.0</td>\n",
" <td>50.0</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2018.0</td>\n",
" <td>51.0</td>\n",
" <td>43</td>\n",
" <td>43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2018.0</td>\n",
" <td>52.0</td>\n",
" <td>41</td>\n",
" <td>40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2019.0</td>\n",
" <td>1.0</td>\n",
" <td>42</td>\n",
" <td>39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2019.0</td>\n",
" <td>2.0</td>\n",
" <td>45</td>\n",
" <td>45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2019.0</td>\n",
" <td>3.0</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2019.0</td>\n",
" <td>4.0</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" year week n_culver_devices n_la_devices_from_culver\n",
"0 2018.0 1.0 3 3\n",
"1 2018.0 48.0 21 21\n",
"2 2018.0 49.0 38 35\n",
"3 2018.0 50.0 40 40\n",
"4 2018.0 51.0 43 43\n",
"5 2018.0 52.0 41 40\n",
"6 2019.0 1.0 42 39\n",
"7 2019.0 2.0 45 45\n",
"8 2019.0 3.0 5 5\n",
"9 2019.0 4.0 3 2"
]
},
"execution_count": 135,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"query_res"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment