Last active
February 25, 2019 13:18
-
-
Save fperez/8619565ce133033fc32fa85a25ab6d3b to your computer and use it in GitHub Desktop.
Real-world data in a few minutes with Google Science Journal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Real-world data in a few minutes with Google Science Journal\n", | |
"\n", | |
"**Fernando Perez**: [fperez](https://github.com/fperez), [@fperez_org](https://twitter.com/fperez_org).\n", | |
"\n", | |
"*Note:* This notebook and the companion data are available [as a gist](https://gist.github.com/fperez/8619565ce133033fc32fa85a25ab6d3b).\n", | |
"\n", | |
"Using an Android phone and Google's new [Science Journal](https://makingscience.withgoogle.com/science-journal/activities) app, it's very easy to collect real-world data. \n", | |
"\n", | |
"The first thing I did was to try their basic light example, using the phone's light sensor. I recorded for a few seconds moving my phone under a lamp, this is what the app shows:\n", | |
"\n", | |
"![Google Science Journal App](screenshot.png)\n", | |
" \n", | |
"Let's see how we can get a bit more detail with just a few lines of code.\n", | |
" \n", | |
"From within the app, it takes just a couple of taps to export the data to a CSV file and put it on dropbox, from where we can pick it up with the computer and continue our experiments here." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's have a quick peek at the data, it's always a good idea to do this, to know how to best load it:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"timestamp,value\r\n", | |
"1463893627134,10.0\r\n", | |
"1463893627209,12.0\r\n", | |
"1463893627238,12.0\r\n", | |
"1463893627340,12.0\r\n", | |
"1463893627441,12.0\r\n", | |
"1463893627542,12.0\r\n", | |
"1463893627643,12.0\r\n", | |
"1463893627743,12.0\r\n", | |
"1463893627817,10.0\r\n" | |
] | |
} | |
], | |
"source": [ | |
"fname = \"Untitled Experiment Trial 1.csv\"\n", | |
"!head \"$fname\"" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"OK, the timestamps look like miliseconds from the epoch. \n", | |
"\n", | |
"For convenience, we'll subtract the first timestamp from all of them to get 0-offset data (basically setting our \"laboratory clock\" at $t=0$ for data collection). This is done by the `tc` function below, applied to column 0 in `converters`.\n", | |
"\n", | |
"We can also ask Pandas to use the time directly as our data index (`index_col=0`) and we'll name the columns ourselves, by providing the column names and asking it to skip the header (`header=0`):" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>lux</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>time</th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>10.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75</th>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>104</th>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>206</th>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>307</th>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" lux\n", | |
"time \n", | |
"0 10.0\n", | |
"75 12.0\n", | |
"104 12.0\n", | |
"206 12.0\n", | |
"307 12.0" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"tc = lambda x: int(x)-1463893627134\n", | |
"df = pd.read_csv(fname, index_col=0, converters={0:tc}, names=[\"time\", \"lux\"], header=0)\n", | |
"df.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now let's get some quick summary statistics on the data:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 48, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>lux</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>146.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td>1604.424658</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td>6590.471272</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td>6.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td>8.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td>12.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td>23.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td>32767.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" lux\n", | |
"count 146.000000\n", | |
"mean 1604.424658\n", | |
"std 6590.471272\n", | |
"min 6.000000\n", | |
"25% 8.000000\n", | |
"50% 12.000000\n", | |
"75% 23.000000\n", | |
"max 32767.000000" | |
] | |
}, | |
"execution_count": 48, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.describe()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This already gives us more detail that Google does (cf screenshot above), as we have more precise min/max/average values, as well as extra statistics.\n", | |
"\n", | |
"We can also plot the data, but because of the sharp variation in the intensity, the linear scale provided by the app isn't too informative, a log y scale will be much more useful:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nhOJzD/BYzgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x112c3b128>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"df.plot(logy=True);" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This little exercise only took me a few minutes to code up, from installing the app in the first place to having the data loaded and minimally summarized. While obviously I haven't done anything interesting with this 5-minute proof of concept, I find it exciting that with this app, accessing real-world data that we can then load into Jupyter for more complex analysis has become *incredibly* easy. Now we should start playing with fun and/or meaningful data and questions..." | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "IPython (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.5.1" | |
}, | |
"widgets": { | |
"state": {}, | |
"version": "1.1.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
timestamp | value | |
---|---|---|
1463893627134 | 10.0 | |
1463893627209 | 12.0 | |
1463893627238 | 12.0 | |
1463893627340 | 12.0 | |
1463893627441 | 12.0 | |
1463893627542 | 12.0 | |
1463893627643 | 12.0 | |
1463893627743 | 12.0 | |
1463893627817 | 10.0 | |
1463893627843 | 10.0 | |
1463893627944 | 10.0 | |
1463893628012 | 8.0 | |
1463893628045 | 8.0 | |
1463893628146 | 8.0 | |
1463893628247 | 8.0 | |
1463893628347 | 8.0 | |
1463893628447 | 8.0 | |
1463893628549 | 8.0 | |
1463893628611 | 10.0 | |
1463893628650 | 10.0 | |
1463893628752 | 10.0 | |
1463893628852 | 10.0 | |
1463893628953 | 10.0 | |
1463893629010 | 8.0 | |
1463893629054 | 8.0 | |
1463893629155 | 8.0 | |
1463893629255 | 8.0 | |
1463893629356 | 8.0 | |
1463893629457 | 8.0 | |
1463893629559 | 8.0 | |
1463893629660 | 8.0 | |
1463893629762 | 8.0 | |
1463893629864 | 8.0 | |
1463893629965 | 8.0 | |
1463893630065 | 8.0 | |
1463893630167 | 8.0 | |
1463893630268 | 8.0 | |
1463893630370 | 8.0 | |
1463893630471 | 8.0 | |
1463893630572 | 8.0 | |
1463893630673 | 8.0 | |
1463893630774 | 8.0 | |
1463893630876 | 8.0 | |
1463893630977 | 8.0 | |
1463893631079 | 8.0 | |
1463893631180 | 8.0 | |
1463893631282 | 8.0 | |
1463893631383 | 8.0 | |
1463893631485 | 8.0 | |
1463893631585 | 8.0 | |
1463893631685 | 8.0 | |
1463893631785 | 8.0 | |
1463893631812 | 13.0 | |
1463893631885 | 13.0 | |
1463893631985 | 13.0 | |
1463893632011 | 10.0 | |
1463893632086 | 10.0 | |
1463893632186 | 10.0 | |
1463893632210 | 6.0 | |
1463893632286 | 6.0 | |
1463893632386 | 6.0 | |
1463893632412 | 8.0 | |
1463893632486 | 8.0 | |
1463893632586 | 8.0 | |
1463893632610 | 13.0 | |
1463893632686 | 13.0 | |
1463893632786 | 13.0 | |
1463893632811 | 10.0 | |
1463893632886 | 10.0 | |
1463893632986 | 10.0 | |
1463893633010 | 15.0 | |
1463893633087 | 15.0 | |
1463893633188 | 15.0 | |
1463893633210 | 19.0 | |
1463893633289 | 19.0 | |
1463893633389 | 19.0 | |
1463893633410 | 27.0 | |
1463893633489 | 27.0 | |
1463893633590 | 27.0 | |
1463893633610 | 18.0 | |
1463893633690 | 18.0 | |
1463893633791 | 18.0 | |
1463893633810 | 13.0 | |
1463893633891 | 13.0 | |
1463893633991 | 13.0 | |
1463893634010 | 23.0 | |
1463893634092 | 23.0 | |
1463893634193 | 23.0 | |
1463893634211 | 22.0 | |
1463893634293 | 22.0 | |
1463893634394 | 22.0 | |
1463893634410 | 28.0 | |
1463893634495 | 28.0 | |
1463893634595 | 28.0 | |
1463893634612 | 22.0 | |
1463893634695 | 22.0 | |
1463893634796 | 22.0 | |
1463893634811 | 98.0 | |
1463893634897 | 98.0 | |
1463893634998 | 98.0 | |
1463893635010 | 20786.0 | |
1463893635098 | 20786.0 | |
1463893635198 | 20786.0 | |
1463893635212 | 32767.0 | |
1463893635299 | 32767.0 | |
1463893635401 | 32767.0 | |
1463893635502 | 32767.0 | |
1463893635603 | 32767.0 | |
1463893635614 | 1740.0 | |
1463893635703 | 1740.0 | |
1463893635805 | 1740.0 | |
1463893635821 | 165.0 | |
1463893635906 | 165.0 | |
1463893636006 | 165.0 | |
1463893636021 | 41.0 | |
1463893636107 | 41.0 | |
1463893636208 | 41.0 | |
1463893636217 | 20.0 | |
1463893636309 | 20.0 | |
1463893636410 | 20.0 | |
1463893636430 | 19.0 | |
1463893636511 | 19.0 | |
1463893636612 | 19.0 | |
1463893636713 | 19.0 | |
1463893636812 | 33.0 | |
1463893636824 | 33.0 | |
1463893636924 | 33.0 | |
1463893637011 | 82.0 | |
1463893637028 | 82.0 | |
1463893637130 | 82.0 | |
1463893637211 | 48.0 | |
1463893637230 | 48.0 | |
1463893637332 | 48.0 | |
1463893637411 | 8.0 | |
1463893637432 | 8.0 | |
1463893637533 | 8.0 | |
1463893637611 | 9.0 | |
1463893637633 | 9.0 | |
1463893637735 | 9.0 | |
1463893637812 | 6.0 | |
1463893637842 | 6.0 | |
1463893637943 | 6.0 | |
1463893638044 | 6.0 | |
1463893638145 | 6.0 | |
1463893638245 | 6.0 | |
1463893638345 | 6.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment