{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "plt.style.use('ggplot')\n", "plt.rcParams['figure.figsize'] = (15, 3)\n", "plt.rcParams['font.family'] = 'sans-serif'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We saw earlier that pandas is really good at dealing with dates. It is also amazing with strings! We're going to go back to our weather data from Chapter 5, here." ] }, { "cell_type": "code", "execution_count": 9, "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", " \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 (C)Dew Point Temp (C)Rel Hum (%)Wind Spd (km/h)Visibility (km)Stn Press (kPa)Weather
Date/Time
2012-01-01 00:00:00-1.8-3.98648.0101.24Fog
2012-01-01 01:00:00-1.8-3.78748.0101.24Fog
2012-01-01 02:00:00-1.8-3.48974.0101.26Freezing Drizzle,Fog
2012-01-01 03:00:00-1.5-3.28864.0101.27Freezing Drizzle,Fog
2012-01-01 04:00:00-1.5-3.38874.8101.23Fog
\n", "
" ], "text/plain": [ " Temp (C) Dew Point Temp (C) Rel Hum (%) \\\n", "Date/Time \n", "2012-01-01 00:00:00 -1.8 -3.9 86 \n", "2012-01-01 01:00:00 -1.8 -3.7 87 \n", "2012-01-01 02:00:00 -1.8 -3.4 89 \n", "2012-01-01 03:00:00 -1.5 -3.2 88 \n", "2012-01-01 04:00:00 -1.5 -3.3 88 \n", "\n", " Wind Spd (km/h) Visibility (km) Stn Press (kPa) \\\n", "Date/Time \n", "2012-01-01 00:00:00 4 8.0 101.24 \n", "2012-01-01 01:00:00 4 8.0 101.24 \n", "2012-01-01 02:00:00 7 4.0 101.26 \n", "2012-01-01 03:00:00 6 4.0 101.27 \n", "2012-01-01 04:00:00 7 4.8 101.23 \n", "\n", " Weather \n", "Date/Time \n", "2012-01-01 00:00:00 Fog \n", "2012-01-01 01:00:00 Fog \n", "2012-01-01 02:00:00 Freezing Drizzle,Fog \n", "2012-01-01 03:00:00 Freezing Drizzle,Fog \n", "2012-01-01 04:00:00 Fog " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weather_2012 = pd.read_csv('../data/weather_2012.csv', parse_dates=True, index_col='Date/Time')\n", "weather_2012[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6.1 String operations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You'll see that the 'Weather' column has a text description of the weather that was going on each hour. We'll assume it's snowing if the text description contains \"Snow\".\n", "\n", "pandas provides vectorized string functions, to make it easy to operate on columns containing text. There are some great [examples](http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods) in the documentation." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "weather_description = weather_2012['Weather']\n", "is_snowing = weather_description.str.contains('Snow')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This gives us a binary vector, which is a bit hard to look at, so we'll plot it." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Date/Time\n", "2012-01-01 00:00:00 False\n", "2012-01-01 01:00:00 False\n", "2012-01-01 02:00:00 False\n", "2012-01-01 03:00:00 False\n", "2012-01-01 04:00:00 False\n", "Name: Weather, dtype: bool" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Not super useful\n", "is_snowing[:5]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# More useful!\n", "is_snowing=is_snowing.astype(float)\n", "is_snowing.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6.2 Use resampling to find the snowiest month" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we wanted the median temperature each month, we could use the `resample()` method like this:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAFtCAYAAAATT0E9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAGz9JREFUeJzt3XuYZHV54PFvOw0hy0WE4taAYgwmsia6skHXPKwYvEFwgKz9qlkFhJ1xzeIlD4mL4IVIIKwalTyAZog8wgMCL4nImLBAxAuJLvGCroCExDUjwsBABwgoKs7Q+8c5DU3b3dNddarq1K+/n+eZZ7rr9j2np/ud06dOnRqbnp5GklSOpwx7ASRJzXKwS1JhHOySVBgHuyQVxsEuSYVxsEtSYRzsklQYB7skFcbBLkmFGR9S15e7SlJ3xrZ2g2ENdjZu3Ljs+3Q6HaampvqwNPZK65W8bvZWbm9iYmJJt3NXjCQVxsEuSYVxsEtSYRzsklQYB7skFcbBLkmFcbBLUmEc7JJUmKG9QEkaNVvWrF7wuk2L3G/V+eubXxhpEW6xS1JhHOySVBgHuyQVxsEuSYXxyVOppXyyVt1yi12SCuNgl6TCONglqTAOdkkqjINdkgrjYJekwjjYJakwDnZJKoyDXZIK42CXpMIs+ZQCEbEvcBGwJ/AYsC4zz46IXYDLgf2ADUBk5gPNL6okaSmWs8W+GTgpM58DvAj4HxFxAHAycH1m7g9cX38uSRqSJQ/2zLw7M2+qP34YuA3YGzgSuLC+2YXAUU0vpCRp6bo6u2NE7Af8B+AfgD0y826ohn9E7L7AfdYCa+vb0el0lr+w4+Nd3a9b9ka314/WYmdUXEy3yzHo3mJK/l4psbfswR4ROwB/BbwjMx+KiCXdLzPXAevqT6enpqaWm6bT6dDN/bplb3R7g163xQx6OfrRK/l7ZZR6ExMTS7rdso6KiYhtqIb6JZn56friTRGxV339XsC9y3lMSVKzlnNUzBjwCeC2zPzwrKvWA8cCZ9V/X9XoEkoL8I0opPktZ1fMbwJvBG6OiG/Vl51CNdAzIk4A7gAmm11ESdJyLHmwZ+bfA2MLXH1oM4sjSeqVrzyVpMI42CWpMA52SSqMg12SCuNgl6TCONglqTAOdkkqjINdkgrjYJekwjjYJakwDnZJKoyDXZIK42CXpMI42CWpMA52SSqMg12SCuNgl6TCONglqTAOdkkqjINdkgqz5DezlpZiy5rVC163aYHLV52/vj8Lo2Xp5t8O/PdrI7fYJakwDnZJKoyDXZIKs+R97BFxAXAEcG9mPre+7DRgDXBffbNTMvPqphdSkrR0y3ny9JPAOcBFcy7/SGZ+qLElkiT1ZMm7YjLzBuD+Pi6LJKkBTRzueGJEHAN8HTgpMx+Y70YRsRZYC5CZdDqdZYfGx8e7ul+37C3fYofFLaTbZeimZa89vcWU8LMwzF6vg/1jwOnAdP33nwLHz3fDzFwHrKs/nZ6amlp2rNPp0M39umVvMAa9DPba3yv9Z6Hb3sTExJJu19Ngz8zH/5OPiPOBv+7l8SRJvevpcMeI2GvWp0cDt/S2OJKkXi3ncMdLgUOATkTcCbwPOCQink+1K2YD8OY+LKMkaRmWPNgz8/XzXPyJBpdFktQAX3kqSYVxsEtSYRzsklQYB7skFcbBLkmFcbBLUmEc7JJUGAe7JBXGwS5JhXGwS1JhHOySVBgHuyQVxsEuSYVxsEtSYRzsklQYB7skFcbBLkmFcbBLUmEc7JJUmCW/56kkNWnLmtULXrdpkfutOn998wtTGLfYJakwDnZJKoyDXZIK42CXpMIs+cnTiLgAOAK4NzOfW1+2C3A5sB+wAYjMfKD5xZQkLdVyttg/CbxqzmUnA9dn5v7A9fXnkqQhWvJgz8wbgPvnXHwkcGH98YXAUQ0tlySpS70ex75HZt4NkJl3R8TuC90wItYCa+vb0ul0lh0bHx/v6n7dsrd8ix1/vJBul6Gblr2V21tMCT97T3r8vj3yHJm5DlhXfzo9NTW17MfodDp0c79u2RuMQS+DPXtzjcrP3sTExJJu1+tRMZsiYi+A+u97e3w8SVKPeh3s64Fj64+PBa7q8fEkST1azuGOlwKHAJ2IuBN4H3AWkBFxAnAHMNmPhZQkLd2SB3tmvn6Bqw5taFkkSQ3wlaeSVBgHuyQVxsEuSYVxsEtSYRzsklQYB7skFcbBLkmFcbBLUmEc7JJUGAe7JBXGwS5JhXGwS1JhHOySVBgHuyQVxsEuSYVxsEtSYRzsklQYB7skFcbBLkmFWfJ7nmo0bVmzesHrNi1yv1Xnr29+YSQNhFvsklQYB7skFcbBLkmFcbBLUmEaefI0IjYADwNbgM2Z+R+beFxJ0vI1eVTMSzNzqsHHkyR1wV0xklSYprbYp4HrImIa+PPMXDf3BhGxFlgLkJl0Op1lR8bHx7u6X7dK6C12rPpiul2ObnqDbNlbub3FlPCz/qTHb+hxfjMzN0bE7sDfRsQ/ZuYNs29QD/uZgT89NbX8vTadTodu7tet0nuLGeRyDHqd7dmba1R+1icmJpZ0u0Z2xWTmxvrve4ErgYOaeFxJ0vL1PNgjYvuI2HHmY+AVwC29Pq4kqTtN7IrZA7gyImYe71OZeU0DjytJ6kLPgz0zvwc8r4FlkSQ1wMMdJakwDnZJKoyDXZIK42CXpMI42CWpMA52SSqMg12SCuNgl6TCONglqTAOdkkqTJPvoKQl2LJm9YLXLXZ+6lXnr29+YSQVyS12SSqMg12SCuNgl6TCONglqTAOdkkqjINdkgrjYJekwjjYJakwDnZJKoyvPJW0IqykV327xS5JhXGwS1JhHOySVJhG9rFHxKuAs4FVwF9k5llNPK4kafl63mKPiFXAucBhwAHA6yPigF4fV5LUnSZ2xRwEfDczv5eZjwKXAUc28LiSpC40sStmb+AHsz6/E3jh3BtFxFpgLUBm0ul05n2wTUe/eMHQYock7XHlV5awqMPvscj9xsfH2bx5c3ePuxJ7Ja+bvZHvDXy2zNLEYB+b57LpuRdk5jpg3cz1U1NTDaSf0PTjDaPX6XQGuh4l90peN3uj31vMYssxMTGxpMdoYlfMncC+sz7fB9jYwONKkrrQxBb714D9I+KZwF3A64DfbeBxJUld6HmLPTM3AycC1wK3VRflrb0+riSpO40cx56ZVwNXN/FYkqTe+MpTSSqMg12SCuNgl6TCONglqTAOdkkqjINdkgrjYJekwjjYJakwDnZJKoyDXZIK42CXpMI42CWpMA52SSpMI2d3lCQ92arz1y94Xb/fscktdkkqjINdkgrjYJekwjjYJakwDnZJKoyDXZIK42CXpMKs+OPYh3msqST1g1vsklQYB7skFaanXTERcRqwBrivvuiUzLy614WSJHWviX3sH8nMDzXwOJKkBrgrRpIKMzY9Pd31netdMccBDwFfB07KzAcWuO1aYC1AZh746KOPzvuYm45+cVfLsseVX+nqfosZHx9n8+bNjT+uvbJa9uwNqrftttsCjG3tdlsd7BHxOWDPea46FbgRmAKmgdOBvTLz+CUs3/TGjRvnvWLLmtVLuPvPW+ywxW4N+nBHe6PZsmdvUL2JiQlYwmDf6j72zHzZUoIRcT7w10u5rSSpf3raxx4Re8369Gjglt4WR5LUq16PivlARDyfalfMBuDNPS+RJKknPQ32zHxjUwsiSWqGhztKUmEc7JJUGAe7JBXGwS5JhXGwS1JhHOySVBgHuyQVxsEuSYVp3Xue+h6kktQbt9glqTAOdkkqjINdkgrjYJekwjjYJakwDnZJKoyDXZIK42CXpMI42CWpMGPT09PD6A4lKkkFGNvaDYa1xT7WzZ+I+Ea397W3snolr5u9Fd/bKnfFSFJhHOySVJhRG+zr7NlrYcuevVb1hvXkqSSpT0Zti12StBUOdkkqTOveQWlGRIwBBwF7Ux33vhH4amb2Zd+RvdHtlbxu9ux1o5X72CPiFcB5wD8Dd9UX7wP8MvB7mXmdPXuDbtmz1/bejLZusZ8NvCwzN8y+MCKeCVwNPMeevSG07Nlrew9o7z72ceDOeS6/C9jGnr0htezZa3vv8WgbXQB8LSIuA35QX7Yv8DrgE/bsDallz17be0BL97EDRMQBwGqqJxzGqP7XW5+Z37Fnb1gte/ba3oMWD3ZJUndauSsmIp4KvAs4Ctitvvhe4CrgrMx80J69Qbfs2Wt7b0ZbnzxN4AHgkMzcNTN3BV4KPAhcYc/ekFr27LW9V5menm7dn8nJydu7uc7eyuuVvG727HX7p5W7YoDvR8Q7gQszcxNAROwBHMcTzyzbszfolj17be8BLd3HDrwWOBn4Uv1FmAY2AeuBsGdvSC179treAzwqRpKK09YnTx8XES9Y7HN79obRsmevzb3WD3bgLVv53J69YbTs2Wttz10xklSYtj55Wvw5k+2NZsuevbb3oKVb7KWfM9me52O3Z68fvRlt3WIv/ZzJ9kazZc9e23tAe588Lf2cyfZGs2XPXtt7j0fbqPRzJtsbzZY9e23vAS3dxw7lnzPZ3mi27Nlrew9aPNglSd1p5a6Y0s+ZbM/zsduz14/ejLY+eVr6OZPtjWbLnr229yr9Oh/wKJ3D2N7o9kpeN3v2uv3Tyl0xlH/OZHuj2bJnr+09oKX72Cn/nMn2RrNlz17be4BHxUhScdr65OnjSj5nsr3Rbdmz1+Ze6wc7BZ8z2d5It+zZa23PXTGSVJi2Pnla/DmT7Y1my569tvegpVvspZ8z2Z7nY7dnrx+9GW3dYi/9nMn2RrNlz17be0B7nzwt/ZzJ9kazZc9e23uPR9uo9HMm2xvNlj17be8BLd3HDuWfM9neaLbs2Wt7D1o82CVJ3WnlrpjSz5lsz/Ox27PXj96Mtj55Wvo5k+2NZsuevbb3Kv06H/AoncPY3uj2Sl43e/a6/dPKXTGUf85ke6PZsmev7T2gpfvYefI5jHevLxvUOZPtjVav5HWzZ68rHhUjSYVp65OnkqQuOdglqTAOdkkqTFufPF1QRLw8M/+2D4+7A/AqqvM4bKY6zeZ1mflY062tLEe/1u+pVOs3+5zQ1/brBRKLLEfj61fyug2jV/rXs/T1g9HcYm/8xDkREcAXqP6xT6Q6Kf4bgW9FxK813duKfqzfMcBNwCHAvwO2p3qRxDfq6wap0fUred2G0Sv961n6+s1o5RZ7RKxf4KoxYNc+JN8NvCgzH4mIDnBJZr4yIn4d+HPgxU3GhrB+pwIHzt0iiYinAf8AXNRkbMDrV/K6+b3SvNLXD2jpYAcOBt4A/HDO5TNvMdW0MeDH9cc/AnYHyMxvR8ROfegNY/3mO671sfq6pg1y/Upet2H0Sv96lr5+QHsH+43AI5n5pblXRMTtfehdDVwTEV8CDqM+h0NE7EJ//rEHvX5nADdFxHU88Wq3pwMvB07vQ2+Q61fyug2jV/rXs/T1A3yB0uMi4nDgAOD/zjyhERFPAbbJzJ8OdeEaUP+q+UqefE7oazPzgaEuWANKXrdhKP3rWfr6gYNdkorTyl0xEfGrwEeo9nu9DXgP1fmM/wk4NjNva7i3L/BBqv/B/zfwwcz8WX3dZzLzqIZ7g16/Ynslr5s9e91q6+GO64DzgIuBzwPXAE+j2gd2Th96FwBfBN4K7EV1wp6ZZ6yf0YfeoNev5F7J62bPXnf6dT7gHs9h/M1ZH393znU39aH3rTmfv2FycvLWycnJZ/WpN+j1K7ZX8rrZs9ftn7Zusa+a9fGH51y3bR9620TEdjOfZObFwNuBa6m24Js26PUruVfyutmz15W2DvZz65f4k5nnzVwYEb8MfK4Pvb8AXjj7gsz8HDAJ3NKH3qDXr+Reyetmz15XPCpGkgrT1i32nxMRN9mz17aWPXtt7I3MYKc/rwC1V2av5HWzZ2+rRmmw/409ey1s2bPXup772FeoiHhBZg70V9BBqE/atj/wvZJeIj5bRHQyc2oAnacBmzPz4X636t4uwHSp/26DNHKDPSJuzsxGz5G+Al55+oI5F40BVwGvBsaaHvARcXxmXlB/vA9wIfAC4DbguMz8pwZbFwPvyMypiHgl1RFOt1MN9z/IzCuaatW9+4FPA5cCn8/Mvv4ARcRhVC9wuYvqBXQXA9sBv0D1vXJ9w70J4CzgSGCHugvVi/jOmPm5aLD3dOADwKHAg1TfmztRvZjn5Mzc0GRvK8sy8rNlRltPKfA7C1w1BuzZh+QFwF9RnYntBKpXnr46M/+V/r3y9INUPzifB/4n8CbgCKpXox3acO/rVOs2+2Rmu1IdVzsN/FbDvROpvqbUjaQ6e96RwMdodv2eN2vr9X3AwZm5oT6v/vXUZ+ps0H3At4D3AxdFxF8Cl2bmjQ13ZvwJcDiwM9Xhcb+dmTdGxHOAS6j+w2zSxcD7M/OY+ufwYKr3K3gXcC6wtuHe5cBHgf+amVsAImIV1aHGlwEvajK2AmYL0NLBTvWPfQnznzd5u3ku69Vumfnx+uO3RsQbgBsiYvUCy9CrHTPzswARcXpmXlZf/tmI+KM+9IJqa++DmXl13f2XzHxpH1pzPTszo/74yoh4b8OP/5SI2CkzH6L6DegOgHoLvh/f3z/KzHOAc+qtzdcB50XEzsBlmXlKw73HZn6Di4hHZv4Dyczb6rOPNm3XzPxi3fh0RJyamT8C3h0R/9iHXiczL599QT3gL4uIfpxGt/TZArR3sH8b+FBm/tyLgyLiZX3obRMR22XmT6B65WlE3EP1ytPt+9Ab6KvRMvMvI+Ia4PSIeBNwEn38pgL2iYg/o9oK2i0itpn1K/w2Dbf+CPhCRJwLfBm4IiKuovot5JqGWzDriIbMvINqN8IHIuJXqIZ80x6MiDdT7Z54ICJ+n+o3oJfx82/e0IT76uHzeeC/ABsAImKM/hxs8Y2IOI9qd93M+dH3BY4FvtmHXumzBWjvUTHvAB5a4Lqj+9Ar/ZWnZOYPM/P3gTOpfoh27Een9ofAN6h2AZ1CtcuJiNgTWOitwrqSmQm8FvgV4NlU/zH+J6rdIyc12ap9YYHluD0z+/Hb1rFUu1ueBbyivuxaqt/C1vShdzywGriO6mfixPryXah2xzTtGOBmqv+gr627p1H93L2xD73SZwswgk+eqnf11teO9e4LSYVp7WCvj3A4iurZ5GlgI3BVZvbj12t7I9wred0W6X0mM68dYK9v67fIcrw3M99vb/laOdgj4qNUv1ZfRPW2VQD7UP3a9s+Z+XZ79gbdstd8byvLckdmPt3e8rX1ydPDM/PZcy+MiMupjvVu+pvL3uj2Sl634nsRsdDuwDHgF5tsrYTejLY+efqTiDhonst/A/iJPXtDatlr3oPA/pm505w/OwJ32+tOW7fYjwM+FhE78sSvg/tSPZt9nD17Q2rZa95FVC/U2TTPdZ+y151W7mOfUR8etzfVry13ZuY99uwNu2VPrdev99zrw3sHnmbPXtta9uy1sdfWfezzWW3PXgtb9uy1rjdKg724k+HbK6Jlz17reqM02A+0Z6+FLXv22tcb5L6lZe6HeuXk5OQJk5OT+825/Hh79lbKutmz182fVm6xR8SZwKnArwHXR8RbZ1194vz3srcSeyWvmz173WrlYKd6Z5/fysx3UP3aclhEfKS+rh/7p+yNbq/kdbNnryttHezjmbkZIDMfpPri7BQRV9CH85XbG+leyetmz15X2jrY/19EvGTmk8zckpknUL2X5XPs2RtSy569tveA9g72SeCrcy/MzHdTvbzZnr1htOzZa3sPaOm5YjLzx4tc3fg7/9gb3V7J62bPXrfausW+mOvs2Wthy5691vRaucUe1Rshz2cM2NmevWG07Nlre29GKwc78CbgJOCn81z3env2htSyZ6/tPaC9g/1rwC2Z+ZW5V0TEafbsDallz17be0B7B/trWODdWjLzmfbsDallz17be0DL32hDkrR8rdxij4inAu8CjgJ2qy++F7gKOKt+BZc9e0Wvmz173Wrr4Y4JPAAckpm7ZuauwEvry66wZ29ILXv22t6r9Ou0kT2e5vL2bq6zt/J6Ja+bPXvd/mnlrhjg+xHxTuDCzNwEEBF7UL1L+g/s2RtSy569tveAlu5jB14LnAx8KSJ2ry/bBKwHwp69IbXs2Wt7D/CoGEkqTlufPCUifjUiDo2I7edc/ip79obVsmev7T1o6WCPiLdRHQ70VuDWiDhy1tVn2rM3jJY9e23vzWjlYAfWAAdm5lHAIcB7IuLt9XX9eDspe6PbK3nd7NnrSlsH+6rM/CFAZm6g+oIcFhEfpj9fDHuj2yt53ezZ60pbB/s9EfH8mU/qL8wRQIfq3b7t2RtGy569tveA9g72Y4B7Zl+QmZsz8xjgP9uzN6SWPXtt7wEe7ihJxWnrFrskqUsOdkkqjINdkgrjYJeWKSI+HhHvGfZySAvxyVO1UkRsAPYANgNbgO8AFwHrMvOxrdx3P+BfgG0yc/Mymi8GLgZ2n3Xx9sAjwMwPymGZ+XdLfUxpGNp6dkcJ4NWZ+bmo3oXmJcDZwAup3vm9Hw4HLsjMP565ICKmgedl5nf71JQa52BX62XmvwHrI+Ie4MaI+FPgGcAfA88C/g34RGaeVt/lhvrvByMC4OWZ+X8i4njgD4E9ga8CazPz+7NShwP/bWvLExGfBO7MzHdHxCFUW/l/BvwB1W8XbwEeBT5K9UKUD2XmmfV9nwK8k+ql5jsD1wP/PTPvX+aXRVqQ+9g1MjLzq8CdwMHAj6he/LEz8NvAWyLiqPqmMy/82Dkzd6iH+lHAKcDvUL335N8Bl848dkTsRbXr55tdLNqewHbA3sB7gfOBNwAH1sv63oj4pfq2b6N6/8uXABNUb5F2bhdNaUEOdo2ajcAumfnFzLw5Mx/LzG9TDemXLHK/NwN/kpm31fvdzwSeHxHPqK8/HLgmM7t50ulnwBmZ+TPgMqqt9LMz8+HMvBW4Ffj1WctxambemZk/BU4DXhMR/vasxvjNpFGzN3B/RLwQOAt4LrAt8Ass/ubAzwDOrnfjzBirH+/7VIP9U10u079m5pb64x/Xf2+adf2PgR1mLceVETH7CeAtVL8t3NVlX3oSB7tGRkT8BtUg/nvgM8A5VEep/CQiZvZnwxNHsMz2A6qt6kvmedxtqLb2+/Wk7NzlOD4zvzyAllYod8Wo9SJip4g4gmo3x8WZeTOwI3B/PdQPAn531l3uAx4DfmnWZR8H3hUR/75+zKdGxGR93cHAtzPzoX6vS70cZ8zsAoqI3ea8+YLUMwe72uyzEfEw1VbuqcCHeWKr+veA99fXvxfImTtl5iPAGcCXI+LBiHhRZl4J/C/gsoh4CLgFOKy+y+HA1YNYIapDNtcD19XLfiPVIZxSY3yBkla8iPgO8JrM/M6wl0VqglvsWtEiYlvgIoe6SuIWuyQVxi12SSqMg12SCuNgl6TCONglqTAOdkkqjINdkgrz/wHPYUMyyrBokgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "weather_2012['Temp (C)'].resample('M').apply(np.median).plot(kind='bar')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unsurprisingly, July and August are the warmest." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we can think of snowiness as being a bunch of 1s and 0s instead of `True`s and `False`s:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Date/Time\n", "2012-01-01 00:00:00 0.0\n", "2012-01-01 01:00:00 0.0\n", "2012-01-01 02:00:00 0.0\n", "2012-01-01 03:00:00 0.0\n", "2012-01-01 04:00:00 0.0\n", "2012-01-01 05:00:00 0.0\n", "2012-01-01 06:00:00 0.0\n", "2012-01-01 07:00:00 0.0\n", "2012-01-01 08:00:00 0.0\n", "2012-01-01 09:00:00 0.0\n", "Name: Weather, dtype: float64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "is_snowing.astype(float)[:10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and then use `resample` to find the percentage of time it was snowing each month" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Date/Time\n", "2012-01-31 0.240591\n", "2012-02-29 0.162356\n", "2012-03-31 0.087366\n", "2012-04-30 0.015278\n", "2012-05-31 0.000000\n", "2012-06-30 0.000000\n", "2012-07-31 0.000000\n", "2012-08-31 0.000000\n", "2012-09-30 0.000000\n", "2012-10-31 0.000000\n", "2012-11-30 0.038889\n", "2012-12-31 0.251344\n", "Freq: M, Name: Weather, dtype: float64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "is_snowing.astype(float).resample('M').apply(np.mean)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "is_snowing.astype(float).resample('M').apply(np.mean).plot(kind='bar')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So now we know! In 2012, December was the snowiest month. Also, this graph suggests something that I feel -- it starts snowing pretty abruptly in November, and then tapers off slowly and takes a long time to stop, with the last snow usually being in April or May." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6.3 Plotting temperature and snowiness stats together" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also combine these two statistics (temperature, and snowiness) into one dataframe and plot them together:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "temperature = weather_2012['Temp (C)'].resample('M').apply(np.median)\n", "is_snowing = weather_2012['Weather'].str.contains('Snow')\n", "snowiness = is_snowing.astype(float).resample('M').apply(np.mean)\n", "\n", "# Name the columns\n", "temperature.name = \"Temperature\"\n", "snowiness.name = \"Snowiness\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll use `concat` again to combine the two statistics into a single dataframe." ] }, { "cell_type": "code", "execution_count": 19, "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", " \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", "
TemperatureSnowiness
Date/Time
2012-01-31-7.050.240591
2012-02-29-4.100.162356
2012-03-312.600.087366
2012-04-306.300.015278
2012-05-3116.050.000000
2012-06-3019.600.000000
2012-07-3122.900.000000
2012-08-3122.200.000000
2012-09-3016.100.000000
2012-10-3111.300.000000
2012-11-301.050.038889
2012-12-31-2.850.251344
\n", "
" ], "text/plain": [ " Temperature Snowiness\n", "Date/Time \n", "2012-01-31 -7.05 0.240591\n", "2012-02-29 -4.10 0.162356\n", "2012-03-31 2.60 0.087366\n", "2012-04-30 6.30 0.015278\n", "2012-05-31 16.05 0.000000\n", "2012-06-30 19.60 0.000000\n", "2012-07-31 22.90 0.000000\n", "2012-08-31 22.20 0.000000\n", "2012-09-30 16.10 0.000000\n", "2012-10-31 11.30 0.000000\n", "2012-11-30 1.05 0.038889\n", "2012-12-31 -2.85 0.251344" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stats = pd.concat([temperature, snowiness], axis=1)\n", "stats" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAFtCAYAAAATT0E9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XmYVOWZ9/FvNwW0UUTbFmUxmsnEcSFxQcE1EBYJYlzG9E00cYkO5GVeVxJBEmIcHSMkSHQSjSGDUWMM3iayGHhZ3ZIQR+IWxGXCa4hRFGRAJQJNqrvmj1PdaZpu6K46VXXq6d/nuvqi65yq83ue6u6bU8855zkVmUwGEREJR2WpGyAiIvFSYRcRCYwKu4hIYFTYRUQCo8IuIhIYFXYRkcCosIuIBEaFXUQkMCrsIiKBSZUoV5e7iojkpmJPTyhVYWfdunUdfk1NTQ0bN24sQGuUF1peyH1TXufN69OnT7uep6EYEZHAqLCLiARGhV1EJDAlG2MXkeTIZDJs376dhoYGKip2PTa3fv166urqitaezpyXyWSorKykqqqq1Z9Fe6iwiwjbt2+na9eupFKtl4RUKkWXLl2K1p7OnpdOp9m+fTt77bVXTtvXUIyI0NDQ0GZRl+JLpVI0NDTk/HoVdhHJ+SO/FE4+PxMVdhGRwOizl0g71Y89u+2Vc1YUryFF0LKv9Xlur8uP5+92/aZNmxgzZgwA7777Ll26dKG6uhqABQsW0K1btzxbEL/Zs2czdOhQevXqVeqm7EKFXURKrrq6mqVLlwJw22230aNHD8aNG1fiVkF9fX2bBzlnz55N//79O1TY0+l0UY5laChGRBLN3Rk9ejQjRoxg8uTJNDQ0kE6nOfLII7n55psZOXIkF154Ic899xznn38+J598MsuXLwfgwQcf5PLLL+fCCy/k9NNP5/bbb291u5MmTdppu9OmTWP06NE8//zzTJ8+nTPPPJOhQ4cyadIkMpkM8+bNY/Xq1YwfP54RI0awY8cOBgwYwPvvvw/As88+2/QJZNq0aUycOJEvfOELXHvttaTTaW644QZGjx7N8OHDefDBB2N/z1TYRSSxXn31VRYtWsS8efNYunQp9fX1zJs3D4APPviAwYMHs3jxYrp27cqMGTN46KGH+NGPfsT06dObtvHCCy9w1113sXjxYubOnctLL720y3bT6fRO2/3kJz/JggULOOGEE7j88stZuHAhy5cvZ8uWLTz++OOcc845HH300fzwhz9k6dKlexwqWr16Nffeey/f//73eeCBB6ipqWHBggUsWLCAe++9l7feeivW901DMSKSWL/+9a958cUXGTVqFBCdb9+7d28Aqqqq+PSnPw3AEUccwb777ksqleKII47gL3/5S9M2Bg8ezH777QfAyJEjWblyJel0eqft1tXVcfDBBwPQrVu3puUAv/nNb7j77rupq6tj06ZNfOpTn2Lo0KEd6scZZ5xBVVUVAE899RRr1qxhzpw5AGzZsoXXX3+dvn37dvj9aYsKu0hCdaaDtW3JZDKMGTOGiRMn7rQ8nU7vtJdcWVnZ9LiyspL6+r8f7m152mBFRcUu202lUqTTadLp9E5XfG7bto0pU6awaNEievfuzbRp09i+fXurbW1+7nnLq0o/8pGP7NSnqVOncsopp3TovegIDcWISGKdfvrpPProo2zatAmIzp7p6LDFk08+yfvvv8+2bdtYsmQJJ5xwQru3u23bNiorK6muruavf/0rCxcubFq3zz778OGHHzY9PuSQQ1i1ahXATs9rafDgwdx7772k02kA1qxZw7Zt2zrUpz3RHruI7KLl6YmNe7TFduSRRzJhwgTGjBlDJpMhlUoxdepUDjrooHZvY+DAgVxxxRWsXbuW888/n/79+wPstN2uXbty66237rLd6upqamtrGTp0KP369eO4445rWmdmfO1rX6OqqooFCxYwYcIErrvuOnr16sWxxx7bZnsuuugi3n77bc444wwADjjgAH7yk5905G3Zo4pMpiQ3M8roRhvKK7es3Q2NHDRnRVnnbd26dafhgpaKXdjjynvwwQd59dVXuemmm4qS117tyWvtZ5K90cYeL0nVUIyISGA0FCMiwbrwwgtL3YSS0B67iEhgVNhFRAKjwi4iEhgVdhGRwOjgqYjs4pyfvRrr9uZ98Yh2Pe+OO+5g7ty5dOnShYqKCqZNm8bxxx8fa1tefPFFfvGLX3DzzTfHut0kaXdhN7NDgPuBg4EGYKa732Fm1cBDwGHAWsDcfXP8TRWRkP3+979n2bJlLFq0iL333psNGzawY8eO2HOOOeYYjjnmmNi3myQdGYpJA1919yOBk4D/a2ZHAdcDy939E8Dy7GMRkQ7ZsGED1dXVdO/eHYiu+jz44IMZNGgQ06dPZ+TIkQwbNow1a9YAsHnzZi677DKGDx/OWWedxcsvvwzAsGHDeP/998lkMhx99NE8/PDDAFx55ZU89dRTrFixgosvvhiI5n6fMGEC5513HieffDKzZs1qas8vf/nLpml9J06cSH19PfX19VxzzTUMHTqUYcOGMXPmTABmzZrFkCFDGD58OOPHjy/ae9aWdhd2d3/b3Z/Lfr8FeAXoC5wD3Jd92n3AuXE3UkTCN3jwYNatW8dpp53GpEmT+N3vfte0rrq6msWLF3PRRRdx9913A1FR7t+/P8uWLeP666/n6quvBuCEE05g5cqVvPbaaxx66KE888wzADz33HMMGDBgl9w1a9Ywe/ZsFixYwIwZM/jb3/7GH//4R+bPn8/cuXNZunQpXbp04ZFHHmH16tW88847PPbYYyxfvrxpzvU777yTxYsXs2zZMqZOnVrot2qPchpjN7PDgOOA/wIOcve3ISr+Ztbq7UTMbBwwLvs8ampqOt7YVCqn1+VKeeWbV4is9QHnrV+/vqB39mnPtnv27MmyZct4+umn+e1vf8v48eOZMmUKFRUVfO5znyOVSnHcccexaNEiUqkUK1euZNasWaRSKYYMGcK1117L1q1bOfnkk1m5ciVvv/02l156KT/96U9599132X///enZs2fT+H0qlaKyspIRI0bQvXt3evXqxYEHHsjmzZtZsWIFq1atYvTo0UA0XXCvXr0YNWoUb7zxBt/85jcZMWIEQ4YMobKykqOOOoqrrrqKUaNGMWrUqHb1d0/P6d69e84/4w7/JM1sH+CXwDXu/oGZtet17j4TmJl9mMllnouQ5zZRXvlmQTSNbDnn1dXVtXkLuDh0ZB6WQYMGceqpp3L44Yfz8MMPk8lk6NKlS9M2GqfXbWhooL6+vml5JpOhvr6eE088kXvuuYd+/foxadIkFixYwLx58xg4cCDpdJr6+noymUzTNrp27dq03crKSurq6qivr6e2tpbJkyfv0r6lS5fyxBNPMGvWLObOncuMGTO47777ePrpp1myZAm33XYbjz/++G4Ld3vmiqmrq9vlZ5ydK2aPOnS6o5l1JSrqP3P3R7KL15tZ7+z63sCGjmxTRASiIZHXX3+96fHq1avp169fm88/6aSTeOSRqAytWLGC6upqevToQd++fdm0aRN/+tOfOPTQQxk4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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "stats.plot(kind='bar')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Uh, that didn't work so well because the scale was wrong. We can do better by plotting them on two separate graphs:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([,\n", " ],\n", " dtype=object)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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DRty3HHHJUnuuOOOLF++PCtXrkySrF27Nnvsscd8Tq/TueeemyOOOCJ77733fE9lBoUOAACWsM0nPn+k+1t+1vkP+PjKlStz8cUXJ0ne/e53Z6+99sorXvGKkc5hV2zevDljY9316Nxzz81BBx20U4Vu06ZN293fKCl0ADBLRvGPpNtGMI8d/eMKYKGotebDH/5w7r///hx88MF5xzvekS1btuRxj3tcTjjhhFx++eV5+MMfnte97nV5xzvekfXr1+ftb397jjzyyHzsYx/LpZdemnvvvTc333xzXvCCF+S1r33tDvf7u7/7u7nsssvy53/+57nssstyySWXZOPGjTnkkENy2mmn5fzzz891112XV77ylVmxYkXWrl2bJz/5yfnCF76Qhz3sYfnqV7+ad73rXfn4xz+ev/zLv8wPfvCDfO9738sv/MIv5K/+6q/y9re/PVdddVXuu+++vPzlL88JJ5ww0sy8hw4AAJh3119/fS688MKcd955ufjii7N58+acd955SZI777wzhx9+eC666KI86EEPynve8558/OMfz9/8zd/k9NNP37aPr3/96/nrv/7rXHTRRfn0pz+db37zmzvc7+Me97isXbs2Bx98cE488cRccMEFufTSS3PXXXfli1/8Yo499tg89rGPzQc+8IFcfPHFO7wk9LrrrsvZZ5+d973vffnoRz+a8fHxrF27NmvXrs3ZZ5+dW265ZaS5OUMHAADMu3/6p3/KNddck2OOOSbJ5O0V9tlnnyTJihUr8oxnPCNJcsABB+ShD31oxsbGcsABB+Tmm2/eto/DDz88P/dzP5ckec5znpOrrroqmzZt2u5+99hjj23rt87h/e9/f+67775s2LAhj3/843PEEUfs1PN49rOfnRUrViRJLrvssnznO9/ZViDvuuuu3Hjjjdl33313Op/tUegAAIB517ZtjjvuuJxyyik/tX7Tpk0/dVZs2bJl25aXLVuWzZs3b3ts+qdFllIecL9Tb+h977335tRTT82FF16YffbZJ3/5l3+ZjRs3ds516q0Gpt+I/CEPechPPad3vvOdefrTnz5UBrvCJZcAAMC8e/rTn57PfOYz2bBhQ5LJT8Pc2csTv/SlL+VHP/pR7r333nz+85/PwQcfPPR+77333ixbtiwrV67M3XffnQsuuGDbYz/zMz+TH//4x9uWH/WoR+Xa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9KCMjW3/187Y2FiWL18+h7Pqhx3lsmnTpmzcuDEPfvCD53BWACwULrkEYNZt2bLlAcscu25sbCxbtmyZ72kAME8UOgBmncsBZ5d8AZYuhQ6AJeGMM87IM5/5zBx11FF51rOela997WsjP8Y111yTP/3TPx35fgFge1z/AsCcO/ac60e6v/NefMADPn711VfnkksuyYUXXpg999wzGzZsyP333z/SOSTJE57whDzhCU8Y+X4BYHucoQNg0bv99tuzcuXK7LnnnkmSlStX5pGPfGQOO+ywnH766XnOc56TI488MjfccEOS5Ic//GFe/vKX56ijjsrznve8fOtb30qSHHnkkfnRj36Utm3z2Mc+Nv/wD/+QJHn1q1+dyy67LFdccUVe+tKXJkne/e535+STT87v/M7v5MlPfnL+9m//dtt8PvGJT+S5z31unvWsZ+WUU07J5s2bs3nz5rz2ta/NEUcckSOPPDJr1qxJkpx11ln59V//9Rx11FF55StfOWeZAdAPCh0Ai97hhx+e9evX52lPe1pOPfXU/Mu//Mu2x1auXJmLLrooL3nJS3LmmWcmmSxjBx10UC655JK88Y1vzGte85okycEHH5yrrroq//qv/5pf+qVfypVXXpkk+drXvpZf/dVfnXHcG264Ieecc07Wrl2b97znPfnJT36S73znOzn//PPz6U9/OhdffHGWL1+eT37yk7nuuuvy/e9/P1/4whdy6aWX5rjjjkuSvO9978tFF12USy65JKeddtpsRwVAz7jkEug06kvidseOLqeDHdlrr71y4YUX5itf+UquuOKKvPKVr8ypp56aJDnmmGOSJI9//OPzuc99Lkly5ZVX5qyzzkqSPO1pT8sPf/jD3HnnnTnssMPyla98JevWrctLX/rSfPSjH82tt96an//5n89ee+0147hHHnlk9txzz+y5554ZHx/PHXfckcsvvzzXXnttfuM3fiPJ5C0dxsfH86xnPSvf+9738qY3vSlHHnlkDj/88CTJgQcemJNOOilHH310jj766FnPCoB+UegAWBKWL1+epzzlKXnKU56SAw44YNvlklsvw1y+fHk2b96cZPKG3dOVUnLYYYfl7LPPzn777Zc3vOEN+dznPpe1a9fm0EMP7Tzm1n1P3X/btnnhC1+4rVBOdfHFF+cf//Efc/bZZ+czn/lM3vOe9+Scc87J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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "stats.plot(kind='bar', subplots=True, figsize=(15, 10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "