Skip to content

Instantly share code, notes, and snippets.

@fperez
Last active February 25, 2019 13:18
Show Gist options
  • Save fperez/8619565ce133033fc32fa85a25ab6d3b to your computer and use it in GitHub Desktop.
Save fperez/8619565ce133033fc32fa85a25ab6d3b to your computer and use it in GitHub Desktop.
Real-world data in a few minutes with Google Science Journal
Display the source blob
Display the rendered blob
Raw
{
"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
}
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