Skip to content

Instantly share code, notes, and snippets.

@drewda
Last active March 3, 2017 15:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drewda/0bcce89488612aeede93c424455dfdea to your computer and use it in GitHub Desktop.
Save drewda/0bcce89488612aeede93c424455dfdea to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"DatetimeIndex(['2016-02-06 20:03:44.620000', '2016-02-06 20:03:47.611000',\n",
" '2016-02-06 20:05:20.012000', '2016-02-06 20:05:25.935000',\n",
" '2016-02-06 20:05:28.505000', '2016-02-06 20:05:32.916000',\n",
" '2016-02-06 20:05:37.103000', '2016-02-06 20:05:41.164000',\n",
" '2016-02-06 20:05:45.606000', '2016-02-10 20:42:24.417000',\n",
" ...\n",
" '2017-03-03 01:11:46.399000', '2017-03-03 01:22:04.707000',\n",
" '2017-03-03 01:24:22.579000', '2017-03-03 01:30:53.534000',\n",
" '2017-03-03 01:42:31.719000', '2017-03-03 01:51:49.235000',\n",
" '2017-03-03 02:11:23.558000', '2017-03-03 02:13:51.462000',\n",
" '2017-03-03 02:15:46.717000', '2017-03-03 02:19:01.992000'],\n",
" dtype='datetime64[ns]', length=1511, freq=None)"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import json\n",
"import urllib.request\n",
"import pandas as pd\n",
"import numpy as np\n",
"import time\n",
"from matplotlib.dates import date2num, num2date\n",
"from matplotlib import pyplot\n",
"from matplotlib import ticker\n",
"import seaborn as sns\n",
"\n",
"# fetch all operators and parse out their \"created_at\" dates\n",
"json_string = urllib.request.urlopen(\"https://transit.land/api/v1/operators?per_page=false\").read()\n",
"parsed_json = json.loads(json_string)\n",
"raw_dates = list(map(lambda o: o['created_at'], parsed_json['operators']))\n",
"\n",
"# convert to datetime objects\n",
"dates = pd.to_datetime(raw_dates)\n",
"dates"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzgAAAHMCAYAAAAZEA2kAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VHX6/vF7MmmQQgi9Q2ihl4QmvWhAUZrSBEXXsqi4\n4LqgKLBfu7uKIqiIuroC0kSlClKkIyVAkBJKgEBCaAmE9ExmPr8/gPxk6ZAwk8n7dV17XZszJ+c8\nZx4n5M5n5jkWY4wRAAAAALgBD2cXAAAAAAB5hYADAAAAwG0QcAAAAAC4DQIOAAAAALdBwAEAAADg\nNgg4AAAAANwGAQeA07311lvq0aOHevToofr16ysiIiL368zMzHw992uvvaYNGzZIkl5//XXt2rVL\nkjR48GAtWbIkz87TpEkTxcXFXfWxRYsW6YMPPpAkjR49OreemzVu3Dh16tRJH3300R3XmVfmzJmj\n6dOnO7uMaz7vS5Ys0eDBg/PseJK0d+9evfrqq7d8zFt1vX5PnjxZXbt21b333quJEyfq0p0goqOj\n1b9/f/Xo0UM9e/bU6tWrL/u+F198Ufv371dSUpKeeuop3X///erevbu2bduWu8+0adP0wAMPqHv3\n7ho6dKgSExNzHzt//rz69esnSZo3b54eeugh9ejRQ/3799cff/xxw/ouWbdunXr06JH79c8//5z7\ns6BHjx7q1KmT6tWrpzNnzmj58uWaNGnSHTyTANyWAQAX0rFjR7Nz506nn3vQoEHml19+ybNjN27c\n2Bw7duyqj40ZM8asXr3aGGNMRESESU9Pv6Vj165d2yQkJNxxjXlp1KhR5quvvnJ2Gdd83n/55Rcz\naNCgPDue3W43vXr1MidOnLitOm/Ftfq9atUq06NHD5OWlmYyMzPNo48+ahYtWmSMMaZ79+5m2bJl\nxhhj9u3bZxo3bmyysrKMMcZkZWWZhx56yBhjzIsvvmg+//xzY4wxe/bsMW3atDHp6enmjz/+MB07\ndjTnz583xhjz3nvvmTFjxuSee968eebTTz81MTExpnXr1ubkyZO5NbVv3/6G9WVkZJjx48ebsLAw\n88ADD1z1urOzs03fvn3NjBkzcrcNGTLE7Nmz5/aeSABuy9PZAQsAbqR+/frq3LmzoqOj9cEHH2jf\nvn2aNWuWbDabkpOT9fTTT2vgwIH68ccftWzZMnl4eCg2NlZeXl56//33VatWLf3666/6/PPPZbFY\nZLVaNXLkSDVr1kyDBw/Wo48+qr179+rUqVN6+eWX9a9//euy80+ePFnLly9XVlaWMjIyNGrUqNy/\nQMfHx+v06dOKj49XcHCwPvroI5UpU0Zbt27Vm2++KYvFogYNGsjhcFxxXTNmzNDMmTMVExOjqKgo\nvf3220pMTNQLL7ygr7/++rJ9Dxw4oDfeeEPnzp2TxWLRk08+qZ49e2rgwIEyxujpp5/WuHHjFB4e\nnvs9NptN7733njZu3Cir1aqGDRvq1Vdflb+/vzp16qQuXbpo69atSklJ0RNPPKGBAwdKklauXKnP\nP/9cNptNvr6+GjVqlJo0aaKJEydqx44dOnXqlGrXrq1XXnlFY8eOVWJiok6fPq0KFSro448/1rZt\n27Ry5UqtX79evr6+6tu373XraNiwofbt26eXXnpJp0+f1syZM+Xl5SUfHx+98cYbqlGjxmXPxZkz\nZ6563hIlSlz3eZ8wYYIWLFigoKAgValSJXd7dna2PvjgA23ZskV2u11169bV66+/Ln9//5vqoyT9\n8ssvqlixosqUKSNJ+u233/TFF18oOztbSUlJ6tmzp4YPH660tDS9+uqrio2NlYeHh+rVq6c33nhD\nHh6Xv6Hidvq9bNkyde/eXUWLFpUk9e7dW/Pnz9f999+vn376SVarVZJ09OhRBQYG5n69YcMGtWrV\nSjk5OVq1apXGjRsnSapTp46qVq2qtWvX6r777tPSpUvl5eWlrKwsnTx5UhUrVsw99/Lly/X888/L\n29tbb731lkqXLi3pwmv3zJkzys7Ovm5969atU0ZGht555x198sknV32Ov/zySwUHB6t///652x5+\n+GFNmjRJn3766VW/B0Ah5eyEBQB/drUVnFq1apmffvrJGGNMamqq6du3r0lKSjLGGLN9+3bTuHFj\nY4wxc+fONWFhYbl/3X7jjTfMyJEjjTHGdO7c2Wzfvt0YY8zatWvNxIkTjTGXr9RcbQUnLi7ODB48\n2GRkZBhjjFm4cKHp3r27McaYTz75xHTu3NmkpKQYY4x59tlnzYQJE0xWVpa55557zIYNG4wxxixY\nsMDUqlXrqn/5T0tLM127djXGGLN8+XLz5ptvXrGPzWYznTt3NkuXLjXGGHPixAnTtm1bs23bttzn\nJzEx8YrvmzBhgnnhhRdMdna2sdvt5pVXXsn9q3vHjh3NmDFjjMPhMAkJCaZFixYmOjraHD582HTv\n3j33+d2/f79p3bq1SUtLM5988omJiIgwNpvNGGPMt99+a7744gtjjDEOh8M89dRT5uuvvzbGXL6C\nc6M6Jk2aZIwxJicnx9SrVy/3r/8//fSTmTlz5hXXda3zXu95X7Zsmbn//vtNSkqKsdls5plnnsld\nwZk4caJ57733jMPhMMYY8+GHH5px48bdUh+HDRtm5s6dm1vToEGDzOHDh3P7VadOHZOYmGh++ukn\n8+STT+Ze72uvvWaOHDmSJ/1+8sknzcKFC3O/Xr9+venZs2fu1w6Hw3Tu3NmEhoaaqVOn5m5//fXX\nzZYtW8ypU6dM/fr1Lzvm3//+d/Pf//439+tly5aZ5s2bmzZt2uRe359XgP7M4XCYv//972bYsGE3\nVZ8xxvz+++9XXcFJTEw04eHh5ujRo5dtT0lJMQ0bNsx9fQKAMazgACggLv2l2s/PT5MnT9bq1at1\n5MgRRUdHKz09PXe/evXqqWzZspKkunXratmyZZKkBx54QC+88ILat2+v1q1b6+mnn76p81aoUEHv\nv/++FixYoNjYWEVFRSktLS338ebNm8vf3z/3fMnJydq/f788PT3VqlUrSVL37t01duzYqx5///79\nCg0NlXThMxx169a9Yp8jR44oKytL9913nySpTJkyuu+++7R27Vo1adLkmrWvWbNGI0aMkJeXl6QL\nnyt6/vnncx8fOHCgLBaLypYtq7Zt22r9+vXy8fHRqVOnNGTIkNz9LBaLjh49Kklq3LixPD0v/NPx\n+OOPa+vWrfrmm2905MgRHThwQI0aNbrlOi711mq1qmvXrurfv786dOig1q1b68EHH7zieNc67/We\n940bN+ree+/N7VWfPn00depUSdKqVauUkpKS+9knm82mEiVK3FIfDx06pMceeyz3+Zo8ebJWrVql\nhQsXKiYmRsYYZWRkKCwsTB999JEGDx6se+65R48//vhlq0nS7ffb/M/nWSRdtjJksVi0fPlyHTt2\nTI8++qiqV6+uFi1aaMeOHfrnP/+pM2fOXPW4l1Z6JKlLly7q0qWLZs+erb/85S9atmyZNm7cqJYt\nW172Penp6XrllVd04sQJffXVVzdV3/XMnj1bnTt3VqVKlS7b7u/vL39/f8XHx6t69eo3dSwA7o8h\nAwAKhEtvazlx4oR69uyp+Ph4hYWFafjw4Zft5+vrm/v/LRZL7i9VI0aM0IwZM1S/fn39+OOP6tev\n3zXfbvRnu3fvVv/+/ZWamqrWrVvrqaeeuuH5/nzeSy6Fgj+bMWOGXnzxRW3ZskU9evTQN998oylT\npugvf/nLZftdrU5jjHJycq5b+/9+n8PhkM1mu2pNDodDHh4ecjgcatWqlebNm5f7v9mzZ6tmzZqS\n/n8fJOnf//63JkyYoOLFi6tfv35q3br1VX+JvVEdfz7mBx98oMmTJ6ty5cr68ssv9cILL1xxvGud\n93rP+/8+9udf2h0Oh0aPHp17vXPmzNGECRNuuo+Xjn/pOtPT09WrVy/t3r1bdevW1ciRI+Xp6Slj\njCpVqqRly5bpmWeeUWpqqp544okrhlncbr/LlSun06dP53598uRJlS1bVtnZ2Vq0aFHucStVqqR7\n7rlHe/fuVVRUlOrXry+r1aoSJUpIkpKTky87RpkyZRQbG6utW7fmbu/Tp4+OHz+u5ORkrVixQl26\ndMl97Pjx4+rfv7+sVqu+++47BQYGXre+m7F48WL17t37qo/Z7fbL+gkABBwABcquXbsUHBys5557\nTm3bttVvv/0m6cIvOdeSk5OjTp06KT09XQMGDNC4ceMUExNzxS+MVqv1im1btmxR/fr19cQTT6h5\n8+ZasWLFdc8lSbVq1ZIxJndS1YoVKy77pfGSAQMGKCwsTJ988ol+/vlnBQUFafHixVd8/qZatWry\n8vLSr7/+KunCL4ZLly7VPffcc9062rZtq5kzZ8pms8nhcGj69Olq3bp17uM///yzpAu/kK5fv17t\n2rVTy5YttX79esXExEiSVq9erYceekhZWVlXHH/dunV6/PHH1bNnT5UoUUIbNmzIfW7+/FzeqI5L\nkpKS1L59ewUFBWnIkCEaPny49u3bd9Pnvd7z3rZtWy1ZskTnz5+Xw+HQvHnzco/Xpk0bTZ8+XdnZ\n2XI4HBozZozGjx9/032ULvTo2LFjkqTY2FilpqZq+PDh6tSpkzZv3px77O+//16vvvqq2rRpo3/8\n4x9q06aNDhw4cMWxbqffnTt31vz585Wenq7s7Gz9+OOP6tKli7y9vfXxxx9r0aJFucfbtGmTmjVr\npuXLl6tz586SLoS3Dh06aNasWZIuTF6LiYlRixYtdPr0ab300ktKSkqSJC1YsEA1a9ZUUFCQtm/f\nrqZNm0qSzp07p0GDBum+++7TRx99dNkfAK5V340kJyfr6NGjV129SklJUVZWlsqXL3/D4wAoPHiL\nGoACpXXr1vrhhx/UtWtXFSlSRA0bNlRwcLBiY2Ov+T2enp4aPXq0Xn75ZXl6espiseidd96Rt7f3\nZft16dJFI0aM0FtvvZW7rXv37vr11191//33y8vLS61atVJycrJSU1OveT4vLy99+umn+uc//6nx\n48erTp06uX8d/1+7d+9WgwYNtH//ftWsWfOqb9nx8vLSZ599prfeeksTJ06U3W7X888/f8Xbgv7X\n0KFD9f7776tnz57KyclRw4YNNWbMmNzH4+Li1Lt3b2VmZur1119XSEiIJOmNN97QSy+9JGOMPD09\n9fnnn1+2ynLJ888/r3/961/67LPPZLVa1bRp09y3srVr105vvvnmTdVxSXBwsIYOHaohQ4bI19dX\nVqv1sl7c6LzXe97bt2+vffv2qU+fPgoMDFRoaKjOnj0rSXruuef0/vvvq1evXrLb7apTp45eeeWV\nW+pjRESEli1bpj59+qh27drq0KGDunXrpsDAQFWuXFk1atRQbGysevbsqc2bN+v+++9XkSJFVL58\n+dy3tt1pvzt16qT9+/frkUcekc1mU+fOndWzZ09J0qRJk/TGG2/oq6++koeHh/7xj3+oQYMGGjt2\nrIYNG5Z7jHHjxun1119X9+7dZbFY9K9//UsBAQEKDw/XX//6Vz322GOyWq0qXbq0Pv3008tWgKQL\nq5IJCQlatmxZ7ttDJenbb7+9bn3XExsbq1KlSuW+xfHP1q1bpw4dOlzxWgZQuFnM1d5PAABwa506\nddKECRPUoEEDZ5fiFux2u3r37q0pU6bkTlJD/nvsscc0evTo3M+xAYDEW9QAALhjVqtVb775psaP\nH+/sUgqNZcuWKTw8nHAD4Aqs4AAAAABwG6zgAAAAAHAbBBwAAAAAboOAAwAAAMBtuNyY6MjISGeX\nAAAAAKAACAsLu2KbywUc6eqFuovIyEi3vr6Cir64HnrieuiJ66EnroeeuB564nryqifXWhjhLWoA\nAAAA3AYBBwAAAIDbIOAAAAAAcBsEHAAAAABug4ADAAAAwG0QcAAAAAC4DQIOAAAAALdBwAEAAADg\nNgg4AAAAANwGAQcAAACA2yDgAAAAAHAbBBwAAAAAboOAAwAAAMBtEHAAAAAAuA0CDgAAAIBrMsYo\nav9pbd59wtml3BRPZxcAAAAAwDX9cfCMpv6yV3uPJKl4gI++q9fV2SXdEAEHAAAAwGWijyRp2pK9\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e171278>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot, based on http://stackoverflow.com/a/3035824/40956\n",
"\n",
"sns.set_style(\"whitegrid\")\n",
"\n",
"num_dates = [date2num(d) for d in dates]\n",
"histo = np.histogram(num_dates)\n",
"\n",
"cumulative_histo_counts = histo[0].cumsum()\n",
"bin_size = histo[1][1]-histo[1][0]\n",
"pyplot.plot(histo[1][1:], cumulative_histo_counts)\n",
"\n",
"pyplot.gca().xaxis.set_major_formatter(ticker.FuncFormatter(lambda numdate, _: num2date(numdate).strftime('%Y-%d-%m')))\n",
"pyplot.gcf().autofmt_xdate()\n",
"\n",
"pyplot.title('Transitland # of operators added (as of %s)' % time.strftime(\"%m/%d/%Y\"))\n",
"\n",
"fig = pyplot.gcf()\n",
"fig.set_size_inches(14, 8)\n",
"\n",
"pyplot.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment