{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# About \n", "A quick notebook to test how to\n", "- get data from AWS DynamoDB (using aws boto python library)\n", "- clean up data with *Pandas*\n", "- plot data with the specificities of time series (automatic time scalling)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Prerequisites\n", "\n", "## Install AWS CLI\n", "Allows boto library to use the CLI credentials to authenticate.\n", "\n", "## Install boto lib\n", "pip install boto3\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Retrieve data from dynamoDB\n", "\n", "## Connect with boto3" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from boto3 import resource\n", "from boto3.dynamodb.conditions import Key\n", "\n", "# The boto3 dynamoDB resource\n", "dynamodb_resource = resource('dynamodb')\n", "\n", "my_table_name = 'iot_data2'\n", "table = dynamodb_resource.Table(my_table_name)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get table metadata" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'status': u'ACTIVE', 'primary_key_name': {u'KeyType': u'HASH', u'AttributeName': u'deviceid'}, 'num_items': 252, 'bytes_size': 33137, 'global_secondary_indices': None}\n", "number of entries: 252\n" ] } ], "source": [ "def get_table_metadata(table_name):\n", " \"\"\"\n", " Get some metadata about chosen table.\n", " \"\"\"\n", " table = dynamodb_resource.Table(table_name)\n", "\n", " return {\n", " 'num_items': table.item_count,\n", " 'primary_key_name': table.key_schema[0],\n", " 'status': table.table_status,\n", " 'bytes_size': table.table_size_bytes,\n", " 'global_secondary_indices': table.global_secondary_indexes\n", " }\n", "\n", "# Get data from our table\n", "my_table_name = 'iot_data2'\n", "table_metadata = get_table_metadata(my_table_name)\n", "print table_metadata\n", "print \"number of entries:\", table_metadata['num_items']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Apparté: dicts" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "myRaspberry\n" ] } ], "source": [ "import json\n", "jsonData = '{\"name\":\"myRaspberry\", \"color\":\"red\", \"id\":42}'\n", "jsonToPython = json.loads(jsonData)\n", "print jsonToPython[\"name\"]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Query and scan table\n", "\n", "*Code originally shared by Martina Pugliese (https://martinapugliese.github.io/interacting-with-a-dynamodb-via-boto3/). Thank you !*\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def scan_table(table_name, filter_key=None, filter_value=None):\n", " \"\"\"\n", " Perform a scan operation on table.\n", " Can specify filter_key (col name) and its value to be filtered.\n", " \"\"\"\n", " table = dynamodb_resource.Table(table_name)\n", "\n", " if filter_key and filter_value:\n", " filtering_exp = Key(filter_key).eq(filter_value)\n", " response = table.scan(FilterExpression=filtering_exp)\n", " else:\n", " response = table.scan()\n", "\n", " return response\n", "\n", "\n", "def query_table(table_name, filter_key=None, filter_value=None):\n", " \"\"\"\n", " Perform a query operation on the table. \n", " Can specify filter_key (col name) and its value to be filtered.\n", " \"\"\"\n", " table = dynamodb_resource.Table(table_name)\n", "\n", " if filter_key and filter_value:\n", " filtering_exp = Key(filter_key).eq(filter_value)\n", " response = table.query(KeyConditionExpression=filtering_exp)\n", " else:\n", " response = table.query()\n", "\n", " return response\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{u'Count': 262, u'Items': [{u'timestamp': u'1528731454.09', u'data': {u'timestamp': u'1528731454.09', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('25')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731460.23', u'data': {u'timestamp': u'1528731460.23', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('26')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731466.37', u'data': {u'timestamp': u'1528731466.37', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('27')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731472.55', u'data': {u'timestamp': u'1528731472.55', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('28')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731478.69', u'data': {u'timestamp': u'1528731478.69', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('29')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731484.82', u'data': {u'timestamp': u'1528731484.82', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('30')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731491.0', u'data': {u'timestamp': u'1528731491.0', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('31')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731497.14', u'data': {u'timestamp': u'1528731497.14', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('32')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731503.43', u'data': {u'timestamp': u'1528731503.43', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('33')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731509.57', u'data': {u'timestamp': u'1528731509.57', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('34')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731515.7', u'data': {u'timestamp': u'1528731515.7', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('35')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731521.89', u'data': {u'timestamp': u'1528731521.89', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('36')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731528.08', u'data': {u'timestamp': u'1528731528.08', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('37')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731534.21', u'data': {u'timestamp': u'1528731534.21', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('38')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731540.4', u'data': {u'timestamp': u'1528731540.4', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('39')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731546.59', u'data': {u'timestamp': u'1528731546.59', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('40')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731552.72', u'data': {u'timestamp': u'1528731552.72', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('41')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731558.86', u'data': {u'timestamp': u'1528731558.86', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('42')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731565.0', u'data': {u'timestamp': u'1528731565.0', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('43')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731571.13', u'data': {u'timestamp': u'1528731571.13', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('44')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731577.27', u'data': {u'timestamp': u'1528731577.27', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('45')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731583.41', u'data': {u'timestamp': u'1528731583.41', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('46')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731589.54', u'data': {u'timestamp': u'1528731589.54', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('47')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731595.68', u'data': {u'timestamp': u'1528731595.68', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('48')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731601.82', u'data': {u'timestamp': u'1528731601.82', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('49')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731608.0', u'data': {u'timestamp': u'1528731608.0', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('50')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731614.14', u'data': {u'timestamp': u'1528731614.14', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('51')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731620.27', u'data': {u'timestamp': u'1528731620.27', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('52')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731626.41', u'data': {u'timestamp': u'1528731626.41', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('53')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731632.55', u'data': {u'timestamp': u'1528731632.55', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('54')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731638.68', u'data': {u'timestamp': u'1528731638.68', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('55')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731644.82', u'data': {u'timestamp': u'1528731644.82', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('56')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731650.96', u'data': {u'timestamp': u'1528731650.96', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('57')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731657.09', u'data': {u'timestamp': u'1528731657.09', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('58')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731663.23', u'data': {u'timestamp': u'1528731663.23', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('59')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731669.37', u'data': {u'timestamp': u'1528731669.37', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('60')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731675.5', u'data': {u'timestamp': u'1528731675.5', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('61')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731681.64', u'data': {u'timestamp': u'1528731681.64', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('62')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731687.78', u'data': {u'timestamp': u'1528731687.78', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('63')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731693.96', u'data': {u'timestamp': u'1528731693.96', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('64')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731700.1', u'data': {u'timestamp': u'1528731700.1', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('65')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731706.24', u'data': {u'timestamp': u'1528731706.24', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('66')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731712.37', u'data': {u'timestamp': u'1528731712.37', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('67')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731718.51', u'data': {u'timestamp': u'1528731718.51', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('68')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731724.64', u'data': {u'timestamp': u'1528731724.64', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('69')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731730.78', u'data': {u'timestamp': u'1528731730.78', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('70')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731736.92', u'data': {u'timestamp': u'1528731736.92', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('71')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731743.05', u'data': {u'timestamp': u'1528731743.05', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('72')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731749.19', u'data': {u'timestamp': u'1528731749.19', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('73')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731755.33', u'data': {u'timestamp': u'1528731755.33', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('74')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731761.46', u'data': {u'timestamp': u'1528731761.46', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('75')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731767.6', u'data': {u'timestamp': u'1528731767.6', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('76')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731773.73', u'data': {u'timestamp': u'1528731773.73', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('77')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731779.87', u'data': {u'timestamp': u'1528731779.87', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('78')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731786.06', u'data': {u'timestamp': u'1528731786.06', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('79')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731792.19', u'data': {u'timestamp': u'1528731792.19', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('80')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731798.33', u'data': {u'timestamp': u'1528731798.33', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('81')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731804.47', u'data': {u'timestamp': u'1528731804.47', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('82')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731810.65', u'data': {u'timestamp': u'1528731810.65', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('83')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731816.84', u'data': {u'timestamp': u'1528731816.84', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('84')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731822.98', u'data': {u'timestamp': u'1528731822.98', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('85')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731829.11', u'data': {u'timestamp': u'1528731829.11', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('86')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731835.25', u'data': {u'timestamp': u'1528731835.25', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('87')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731841.38', u'data': {u'timestamp': u'1528731841.38', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('88')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731847.57', u'data': {u'timestamp': u'1528731847.57', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('89')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731853.76', u'data': {u'timestamp': u'1528731853.76', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('90')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731859.89', u'data': {u'timestamp': u'1528731859.89', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('91')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731866.03', u'data': {u'timestamp': u'1528731866.03', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('92')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731872.22', u'data': {u'timestamp': u'1528731872.22', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('93')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731878.35', u'data': {u'timestamp': u'1528731878.35', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('94')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731884.49', u'data': {u'timestamp': u'1528731884.49', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('95')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731890.63', u'data': {u'timestamp': u'1528731890.63', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('96')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731896.76', u'data': {u'timestamp': u'1528731896.76', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('97')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731902.9', u'data': {u'timestamp': u'1528731902.9', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('98')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731909.04', u'data': {u'timestamp': u'1528731909.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('99')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731915.18', u'data': {u'timestamp': u'1528731915.18', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('100')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731921.31', u'data': {u'timestamp': u'1528731921.31', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('101')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731927.45', u'data': {u'timestamp': u'1528731927.45', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('102')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731933.58', u'data': {u'timestamp': u'1528731933.58', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('103')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731939.77', u'data': {u'timestamp': u'1528731939.77', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('104')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731945.91', u'data': {u'timestamp': u'1528731945.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('105')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731952.04', u'data': {u'timestamp': u'1528731952.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('106')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731958.23', u'data': {u'timestamp': u'1528731958.23', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('107')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731964.37', u'data': {u'timestamp': u'1528731964.37', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('108')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731970.5', u'data': {u'timestamp': u'1528731970.5', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('109')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731976.64', u'data': {u'timestamp': u'1528731976.64', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('110')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731982.77', u'data': {u'timestamp': u'1528731982.77', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('111')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731988.91', u'data': {u'timestamp': u'1528731988.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('112')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528731995.05', u'data': {u'timestamp': u'1528731995.05', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('113')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732001.18', u'data': {u'timestamp': u'1528732001.18', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('114')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732007.32', u'data': {u'timestamp': u'1528732007.32', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('115')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732013.45', u'data': {u'timestamp': u'1528732013.45', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('116')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732019.58', u'data': {u'timestamp': u'1528732019.58', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('117')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732025.82', u'data': {u'timestamp': u'1528732025.82', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('118')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732031.95', u'data': {u'timestamp': u'1528732031.95', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('119')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732038.09', u'data': {u'timestamp': u'1528732038.09', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('120')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732044.22', u'data': {u'timestamp': u'1528732044.22', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('121')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732050.36', u'data': {u'timestamp': u'1528732050.36', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('122')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732056.5', u'data': {u'timestamp': u'1528732056.5', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('123')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732062.63', u'data': {u'timestamp': u'1528732062.63', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('124')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732068.77', u'data': {u'timestamp': u'1528732068.77', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('125')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732074.91', u'data': {u'timestamp': u'1528732074.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('126')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732081.04', u'data': {u'timestamp': u'1528732081.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('127')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732087.18', u'data': {u'timestamp': u'1528732087.18', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('128')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732093.32', u'data': {u'timestamp': u'1528732093.32', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('129')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732099.46', u'data': {u'timestamp': u'1528732099.46', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('130')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732105.59', u'data': {u'timestamp': u'1528732105.59', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('131')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732111.73', u'data': {u'timestamp': u'1528732111.73', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('132')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732117.91', u'data': {u'timestamp': u'1528732117.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('133')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732124.05', u'data': {u'timestamp': u'1528732124.05', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('134')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732130.33', u'data': {u'timestamp': u'1528732130.33', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('135')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732136.51', u'data': {u'timestamp': u'1528732136.51', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('136')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732142.65', u'data': {u'timestamp': u'1528732142.65', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('137')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732148.78', u'data': {u'timestamp': u'1528732148.78', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('138')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732154.91', u'data': {u'timestamp': u'1528732154.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('139')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732161.05', u'data': {u'timestamp': u'1528732161.05', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('140')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732167.23', u'data': {u'timestamp': u'1528732167.23', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('141')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732173.36', u'data': {u'timestamp': u'1528732173.36', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('142')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732179.5', u'data': {u'timestamp': u'1528732179.5', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('143')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732185.64', u'data': {u'timestamp': u'1528732185.64', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('144')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732191.77', u'data': {u'timestamp': u'1528732191.77', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('145')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732197.9', u'data': {u'timestamp': u'1528732197.9', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('146')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732204.04', u'data': {u'timestamp': u'1528732204.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('147')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732210.18', u'data': {u'timestamp': u'1528732210.18', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('148')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732216.31', u'data': {u'timestamp': u'1528732216.31', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('149')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732222.45', u'data': {u'timestamp': u'1528732222.45', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('150')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732228.63', u'data': {u'timestamp': u'1528732228.63', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('151')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732234.77', u'data': {u'timestamp': u'1528732234.77', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('152')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732240.91', u'data': {u'timestamp': u'1528732240.91', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('153')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732247.04', u'data': {u'timestamp': u'1528732247.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('154')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732253.23', u'data': {u'timestamp': u'1528732253.23', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('155')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732259.36', u'data': {u'timestamp': u'1528732259.36', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('156')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732265.65', u'data': {u'timestamp': u'1528732265.65', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('157')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732271.78', u'data': {u'timestamp': u'1528732271.78', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('158')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732277.97', u'data': {u'timestamp': u'1528732277.97', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('159')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732284.11', u'data': {u'timestamp': u'1528732284.11', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('160')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732290.24', u'data': {u'timestamp': u'1528732290.24', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('161')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732296.38', u'data': {u'timestamp': u'1528732296.38', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('162')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732302.52', u'data': {u'timestamp': u'1528732302.52', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('163')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732308.65', u'data': {u'timestamp': u'1528732308.65', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('164')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732314.78', u'data': {u'timestamp': u'1528732314.78', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('165')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732320.92', u'data': {u'timestamp': u'1528732320.92', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('166')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732327.05', u'data': {u'timestamp': u'1528732327.05', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('167')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732333.24', u'data': {u'timestamp': u'1528732333.24', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('168')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732339.38', u'data': {u'timestamp': u'1528732339.38', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('169')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732345.51', u'data': {u'timestamp': u'1528732345.51', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('170')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732351.7', u'data': {u'timestamp': u'1528732351.7', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('171')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732357.83', u'data': {u'timestamp': u'1528732357.83', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('172')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732363.97', u'data': {u'timestamp': u'1528732363.97', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('173')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732370.1', u'data': {u'timestamp': u'1528732370.1', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('174')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732376.23', u'data': {u'timestamp': u'1528732376.23', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('175')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732382.37', u'data': {u'timestamp': u'1528732382.37', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('176')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732388.51', u'data': {u'timestamp': u'1528732388.51', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('177')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732394.64', u'data': {u'timestamp': u'1528732394.64', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('178')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732400.78', u'data': {u'timestamp': u'1528732400.78', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('179')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732406.96', u'data': {u'timestamp': u'1528732406.96', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('180')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732413.15', u'data': {u'timestamp': u'1528732413.15', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('181')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732419.29', u'data': {u'timestamp': u'1528732419.29', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('182')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732425.42', u'data': {u'timestamp': u'1528732425.42', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('183')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732431.56', u'data': {u'timestamp': u'1528732431.56', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('184')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732437.75', u'data': {u'timestamp': u'1528732437.75', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('185')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732443.89', u'data': {u'timestamp': u'1528732443.89', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('186')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732450.07', u'data': {u'timestamp': u'1528732450.07', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('187')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732456.2', u'data': {u'timestamp': u'1528732456.2', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('188')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732462.34', u'data': {u'timestamp': u'1528732462.34', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('189')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732468.48', u'data': {u'timestamp': u'1528732468.48', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('190')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732474.66', u'data': {u'timestamp': u'1528732474.66', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('191')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732480.8', u'data': {u'timestamp': u'1528732480.8', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('192')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732486.94', u'data': {u'timestamp': u'1528732486.94', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('193')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732493.07', u'data': {u'timestamp': u'1528732493.07', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('194')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732499.25', u'data': {u'timestamp': u'1528732499.25', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('195')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732505.49', u'data': {u'timestamp': u'1528732505.49', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('196')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732511.63', u'data': {u'timestamp': u'1528732511.63', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('197')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732517.77', u'data': {u'timestamp': u'1528732517.77', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('198')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732523.9', u'data': {u'timestamp': u'1528732523.9', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('199')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732530.04', u'data': {u'timestamp': u'1528732530.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('200')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732536.18', u'data': {u'timestamp': u'1528732536.18', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('201')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732542.31', u'data': {u'timestamp': u'1528732542.31', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('202')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732548.45', u'data': {u'timestamp': u'1528732548.45', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('203')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732554.58', u'data': {u'timestamp': u'1528732554.58', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('204')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732560.72', u'data': {u'timestamp': u'1528732560.72', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('205')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732566.86', u'data': {u'timestamp': u'1528732566.86', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('206')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732573.04', u'data': {u'timestamp': u'1528732573.04', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('207')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732579.18', u'data': {u'timestamp': u'1528732579.18', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('208')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732585.32', u'data': {u'timestamp': u'1528732585.32', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('209')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732591.5', u'data': {u'timestamp': u'1528732591.5', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('210')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732597.69', u'data': {u'timestamp': u'1528732597.69', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('211')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732603.83', u'data': {u'timestamp': u'1528732603.83', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('212')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732609.96', u'data': {u'timestamp': u'1528732609.96', u'device_id': u'olivepi', u'temperature': u'43.5', u'comments': u'dummy value', u'sequence': Decimal('213')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732616.15', u'data': {u'timestamp': u'1528732616.15', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('214')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732622.28', u'data': {u'timestamp': u'1528732622.28', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('215')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732628.42', u'data': {u'timestamp': u'1528732628.42', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('216')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732634.56', u'data': {u'timestamp': u'1528732634.56', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('217')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732640.69', u'data': {u'timestamp': u'1528732640.69', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('218')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732646.83', u'data': {u'timestamp': u'1528732646.83', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('219')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732652.97', u'data': {u'timestamp': u'1528732652.97', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('220')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732659.1', u'data': {u'timestamp': u'1528732659.1', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('221')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732665.39', u'data': {u'timestamp': u'1528732665.39', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('222')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732671.52', u'data': {u'timestamp': u'1528732671.52', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('223')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732677.66', u'data': {u'timestamp': u'1528732677.66', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('224')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732683.8', u'data': {u'timestamp': u'1528732683.8', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('225')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732689.94', u'data': {u'timestamp': u'1528732689.94', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('226')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732698.68', u'data': {u'timestamp': u'1528732698.68', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('227')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732704.81', u'data': {u'timestamp': u'1528732704.81', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('228')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732710.95', u'data': {u'timestamp': u'1528732710.95', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('229')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732717.09', u'data': {u'timestamp': u'1528732717.09', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('230')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732723.22', u'data': {u'timestamp': u'1528732723.22', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('231')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732729.41', u'data': {u'timestamp': u'1528732729.41', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('232')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732735.55', u'data': {u'timestamp': u'1528732735.55', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('233')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732741.68', u'data': {u'timestamp': u'1528732741.68', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('234')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732747.82', u'data': {u'timestamp': u'1528732747.82', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('235')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732753.96', u'data': {u'timestamp': u'1528732753.96', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('236')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732760.24', u'data': {u'timestamp': u'1528732760.24', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('237')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732766.38', u'data': {u'timestamp': u'1528732766.38', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('238')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732772.52', u'data': {u'timestamp': u'1528732772.52', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('239')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732778.65', u'data': {u'timestamp': u'1528732778.65', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('240')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732784.79', u'data': {u'timestamp': u'1528732784.79', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('241')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732790.93', u'data': {u'timestamp': u'1528732790.93', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('242')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732797.06', u'data': {u'timestamp': u'1528732797.06', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('243')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732803.2', u'data': {u'timestamp': u'1528732803.2', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('244')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732809.39', u'data': {u'timestamp': u'1528732809.39', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('245')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732815.52', u'data': {u'timestamp': u'1528732815.52', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('246')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732821.66', u'data': {u'timestamp': u'1528732821.66', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('247')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732827.8', u'data': {u'timestamp': u'1528732827.8', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('248')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732833.93', u'data': {u'timestamp': u'1528732833.93', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('249')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732840.07', u'data': {u'timestamp': u'1528732840.07', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('250')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732846.21', u'data': {u'timestamp': u'1528732846.21', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('251')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732852.39', u'data': {u'timestamp': u'1528732852.39', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('252')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732858.53', u'data': {u'timestamp': u'1528732858.53', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('253')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732864.66', u'data': {u'timestamp': u'1528732864.66', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('254')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732870.8', u'data': {u'timestamp': u'1528732870.8', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('255')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732876.94', u'data': {u'timestamp': u'1528732876.94', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('256')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732883.07', u'data': {u'timestamp': u'1528732883.07', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('257')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732889.21', u'data': {u'timestamp': u'1528732889.21', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('258')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732895.35', u'data': {u'timestamp': u'1528732895.35', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('259')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732901.48', u'data': {u'timestamp': u'1528732901.48', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('260')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732907.62', u'data': {u'timestamp': u'1528732907.62', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('261')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732913.75', u'data': {u'timestamp': u'1528732913.75', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('262')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732919.94', u'data': {u'timestamp': u'1528732919.94', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('263')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732926.12', u'data': {u'timestamp': u'1528732926.12', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('264')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732932.25', u'data': {u'timestamp': u'1528732932.25', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('265')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732938.39', u'data': {u'timestamp': u'1528732938.39', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('266')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732944.52', u'data': {u'timestamp': u'1528732944.52', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('267')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732950.66', u'data': {u'timestamp': u'1528732950.66', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('268')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732956.8', u'data': {u'timestamp': u'1528732956.8', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('269')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732962.93', u'data': {u'timestamp': u'1528732962.93', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('270')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732969.07', u'data': {u'timestamp': u'1528732969.07', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('271')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732975.21', u'data': {u'timestamp': u'1528732975.21', u'device_id': u'olivepi', u'temperature': u'45.1', u'comments': u'dummy value', u'sequence': Decimal('272')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732981.39', u'data': {u'timestamp': u'1528732981.39', u'device_id': u'olivepi', u'temperature': u'44.5', u'comments': u'dummy value', u'sequence': Decimal('273')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732987.53', u'data': {u'timestamp': u'1528732987.53', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('274')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732993.72', u'data': {u'timestamp': u'1528732993.72', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('275')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1528732999.85', u'data': {u'timestamp': u'1528732999.85', u'device_id': u'olivepi', u'temperature': u'44.0', u'comments': u'dummy value', u'sequence': Decimal('276')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529502906.13', u'data': {u'timestamp': u'1529502906.13', u'device_id': u'olivepi', u'temperature': Decimal('22.380053494288752'), u'comments': u'dummy value', u'sequence': Decimal('0')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529502907.3', u'data': {u'timestamp': u'1529502907.3', u'device_id': u'olivepi', u'temperature': Decimal('22.275242909879132'), u'comments': u'dummy value', u'sequence': Decimal('1')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529502908.47', u'data': {u'timestamp': u'1529502908.47', u'device_id': u'olivepi', u'temperature': Decimal('23.897990065310385'), u'comments': u'dummy value', u'sequence': Decimal('2')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529502909.58', u'data': {u'timestamp': u'1529502909.58', u'device_id': u'olivepi', u'temperature': Decimal('21.93856468530984'), u'comments': u'dummy value', u'sequence': Decimal('3')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529502910.7', u'data': {u'timestamp': u'1529502910.7', u'device_id': u'olivepi', u'temperature': Decimal('21.893106491222763'), u'comments': u'dummy value', u'sequence': Decimal('4')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529503033.84', u'data': {u'timestamp': u'1529503033.84', u'device_id': u'olivepi', u'temperature': Decimal('22.764429182717574'), u'comments': u'dummy value', u'sequence': Decimal('0')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529503034.95', u'data': {u'timestamp': u'1529503034.95', u'device_id': u'olivepi', u'temperature': Decimal('24.7207185848546'), u'comments': u'dummy value', u'sequence': Decimal('1')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529503036.12', u'data': {u'timestamp': u'1529503036.12', u'device_id': u'olivepi', u'temperature': Decimal('23.383048594001643'), u'comments': u'dummy value', u'sequence': Decimal('2')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529503037.24', u'data': {u'timestamp': u'1529503037.24', u'device_id': u'olivepi', u'temperature': Decimal('24.005756901163764'), u'comments': u'dummy value', u'sequence': Decimal('3')}, u'deviceid': u'olivepi'}, {u'timestamp': u'1529503038.35', u'data': {u'timestamp': u'1529503038.35', u'device_id': u'olivepi', u'temperature': Decimal('22.68491202044252'), u'comments': u'dummy value', u'sequence': Decimal('4')}, u'deviceid': u'olivepi'}], u'ScannedCount': 262, 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'S3BG183E31QB7JUN8S6N8V3V8VVV4KQNSO5AEMVJF66Q9ASUAAJG', 'HTTPHeaders': {'x-amzn-requestid': 'S3BG183E31QB7JUN8S6N8V3V8VVV4KQNSO5AEMVJF66Q9ASUAAJG', 'content-length': '57931', 'server': 'Server', 'connection': 'keep-alive', 'x-amz-crc32': '377734902', 'date': 'Wed, 20 Jun 2018 14:15:54 GMT', 'content-type': 'application/x-amz-json-1.0'}}}\n" ] } ], "source": [ "full_scan = scan_table(my_table_name)\n", "\n", "# Uncomment next line to see the raw data fetched\n", "print full_scan\n", "\n", "#jsonified_full_scan = json.load(full_scan)\n", "#print(json.dumps(jsonified_full_scan, indent=2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Iterate results and transform into series" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "timestamps = []\n", "temperatures = []\n", "\n", "for data_point in full_scan['Items']:\n", " ts = data_point['data']['timestamp']\n", " measure = data_point['data']['temperature']\n", " #print ts, measure\n", " timestamps.append(ts)\n", " temperatures.append(measure)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Clean up data with Pandas\n", "\n", "## Create a dataframe " ] }, { "cell_type": "code", "execution_count": 14, "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", "
tempts
044.51528731454.09
144.51528731460.23
244.01528731466.37
345.11528731472.55
445.11528731478.69
\n", "
" ], "text/plain": [ " temp ts\n", "0 44.5 1528731454.09\n", "1 44.5 1528731460.23\n", "2 44.0 1528731466.37\n", "3 45.1 1528731472.55\n", "4 45.1 1528731478.69" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "dat = pd.DataFrame({\"temp\": temperatures,\"ts\": timestamps})\n", "\n", "# Check the 5 first entries\n", "dat.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Force the typing of data\n", "We need to make sure that timestamps values are typed into dates. This will ease later plotting (\n", "e.g. graphics are scalled properly on time axis)." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "temp object\n", "ts object\n", "dtype: object" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Pandas can show the types of DataFrame series\n", "# by default it returns untyped object!\n", "dat.dtypes" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Option 1: Convert using standard functions:\n", "from datetime import datetime\n", "\n", "utc_dates = map(datetime.fromtimestamp, map(float,dat['ts']))\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "temp object\n", "ts datetime64[ns]\n", "dtype: object" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "# Option 2: Convert using pandas\n", "dat['ts'] = pd.to_datetime(dat['ts'], unit='s')\n", "dat.dtypes\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "temp float64\n", "ts datetime64[ns]\n", "dtype: object" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Option 2: Convert using pandas\n", "dat['temp'] = pd.to_numeric(dat['temp'])\n", "dat.dtypes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic stats\n", "\n", "Basic statistics to ensure that data is interpreted properly." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "43.350167263088515" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dat['temp'].mean()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45.1" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dat['temp'].max()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "21.893106491222763" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dat['temp'].min()" ] }, { "cell_type": "code", "execution_count": 22, "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", "
temp
count262.000000
mean43.350167
std4.081001
min21.893106
25%44.000000
50%44.000000
75%44.500000
max45.100000
\n", "
" ], "text/plain": [ " temp\n", "count 262.000000\n", "mean 43.350167\n", "std 4.081001\n", "min 21.893106\n", "25% 44.000000\n", "50% 44.000000\n", "75% 44.500000\n", "max 45.100000" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# All in one\n", "dat.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plot results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Display the raw serie with pyplot\n", "We are printing raw data just to quick ceck the values. Time representation is wrong." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from matplotlib import pyplot\n", "pyplot.plot(dat['temp'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Display with matplotlib (time scalling comes for free)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from matplotlib.ticker import FuncFormatter\n", "\n", "\n", "colors = ['#2678B2', '#AFC8E7', '#FD7F28', '#FDBB7D', \n", " '#339E34', '#9ADE8D', '#D42A2F', '#FD9898', \n", " '#9369BB', '#C5B1D4', '#8B564C', '#C39C95', \n", " '#E179C1', '#F6B7D2', '#7F7F7F', '#C7C7C7']\n", "\n", "\n", "# Define plot\n", "fig, ax = plt.subplots(figsize=(15, 8), dpi=200)\n", "ax.plot(dat['ts'], dat['temp'], c=colors[0])\n", "\n", "# Add mean line\n", "ax.plot((dat['ts'].min(), dat['ts'].max()), (dat['temp'].mean(), dat['temp'].mean()), c=colors[4])\n", "\n", "\n", "# Optional manage orientation of dates values on x axis\n", "#fig.autofmt_xdate()\n", "\n", "# Presentation\n", "plt.title('IOT temperature records')\n", "plt.ylabel('Temperature - celsius')\n", "plt.margins(0)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# References\n", "\n", "DynamoDB\n", "- https://martinapugliese.github.io/interacting-with-a-dynamodb-via-boto3/\n", "\n", "Plot\n", "- https://blog.webkid.io/analysing-data-with-jupyter-notebooks-and-pandas/\n", "\n", "\n", "Python basics:\n", "- https://openclassrooms.com/courses/apprenez-a-programmer-en-python/les-dictionnaires-2\n", "- https://openclassrooms.com/courses/apprenez-a-programmer-en-python/les-listes-et-tuples-2-2\n", "- https://code.tutsplus.com/tutorials/how-to-work-with-json-data-using-python--cms-25758\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }