{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# A Reasonable Introduction to Pandas\n", "\n", "By [Allison Parrish](http://www.decontextualize.com/)\n", "\n", "[Pandas](http://pandas.pydata.org/) is a Python library that helps you load, analyze and visualize data. It plays especially well with Jupyter Notebook, taking advantage of the notebook format to display data in easy-to-read ways. The data types that come with Pandas are kind of like super-charged lists and dictionaries, with built-in functionality for common tasks in statistics and data analysis that have the potential to run faster than their equivalents written with more familiar Python data types.\n", "\n", "The purpose of this tutorial is to give you a taste for how Pandas works. By the end of the tutorial, you'll be able to use Pandas to load some data from a CSV file into a Pandas data frame and use Pandas' data visualization functions to draw a handful of simple graphs. The tutorial is aimed at people who know at least a little bit about how regular Python data types (like lists and dictionaries) work.\n", "\n", "## Importing Pandas\n", "\n", "To fully take advantage of the capabilities of Pandas, you need to import not just Pandas but a handful of other libraries:" ] }, { "cell_type": "code", "execution_count": 357, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "pd.set_option('max_rows', 25)\n", "plt.style.use('ggplot')\n", "plt.rcParams[\"figure.figsize\"] = (10, 4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first line is what's known as an [IPython magic](ipython.readthedocs.io/en/stable/interactive/magics.html); it tells the notebook server to display plots inline. The next three lines import Pandas (using the `as` clause to shorten its name to `pd`) and two other libraries, `numpy` and `matplotlib`, in case we need them. The final two lines set some options to make our plots look prettier.\n", "\n", "Whenever you start a new notebook and want to use Pandas, it's a good idea to just copy and paste the code from that cell and make it the first cell in your own notebook.\n", "\n", "Let's look at a couple of Pandas data types." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Series\n", "\n", "The `Series` data type in Pandas is like a Python list, in that it stores a sequence of values. But it has a few extra goodies that make it appealing for data analysis.\n", "\n", "One way to create a `Series` is to just pass a Python list to `pd.Series()`:" ] }, { "cell_type": "code", "execution_count": 175, "metadata": { "collapsed": true }, "outputs": [], "source": [ "s = pd.Series([5, 5, 5, 10, 10, 12, 15, 15, 23, 27, 30])" ] }, { "cell_type": "code", "execution_count": 176, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 5\n", "1 5\n", "2 5\n", "3 10\n", "4 10\n", "5 12\n", "6 15\n", "7 15\n", "8 23\n", "9 27\n", "10 30\n", "dtype: int64" ] }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unlike Python lists, you can operate on a Series using arithmetic operations. So, for example, you can multiply an entire Series by 0.5:" ] }, { "cell_type": "code", "execution_count": 177, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 2.5\n", "1 2.5\n", "2 2.5\n", "3 5.0\n", "4 5.0\n", "5 6.0\n", "6 7.5\n", "7 7.5\n", "8 11.5\n", "9 13.5\n", "10 15.0\n", "dtype: float64" ] }, "execution_count": 177, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s * 0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "... or create a Series with 100 added to each entry from the original Series:" ] }, { "cell_type": "code", "execution_count": 178, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0 105\n", "1 105\n", "2 105\n", "3 110\n", "4 110\n", "5 112\n", "6 115\n", "7 115\n", "8 123\n", "9 127\n", "10 130\n", "dtype: int64" ] }, "execution_count": 178, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s + 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Series support a variety of statistical operations through methods. To get the smallest value in a Series:" ] }, { "cell_type": "code", "execution_count": 179, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.min()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The greatest value:" ] }, { "cell_type": "code", "execution_count": 180, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "30" ] }, "execution_count": 180, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The arithmetic mean:" ] }, { "cell_type": "code", "execution_count": 181, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "14.272727272727273" ] }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Various other operations are supported as well:" ] }, { "cell_type": "code", "execution_count": 182, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12.0" ] }, "execution_count": 182, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.median()" ] }, { "cell_type": "code", "execution_count": 183, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 5\n", "dtype: int64" ] }, "execution_count": 183, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.mode()" ] }, { "cell_type": "code", "execution_count": 184, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8.866689450870703" ] }, "execution_count": 184, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.std() # standard deviation" ] }, { "cell_type": "code", "execution_count": 403, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "19.0" ] }, "execution_count": 403, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.quantile(0.75) # 75th percentile" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `.describe()` method gives you some quick insight on the statistical properties of the series as a whole:" ] }, { "cell_type": "code", "execution_count": 404, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 11.000000\n", "mean 14.272727\n", "std 8.866689\n", "min 5.000000\n", "25% 7.500000\n", "50% 12.000000\n", "75% 19.000000\n", "max 30.000000\n", "dtype: float64" ] }, "execution_count": 404, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting Series\n", "\n", "Every Series object has a `.plot()` method that will display a plot of the data contained in the series. Very easy!" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 186, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, you get a line plot, but the `.plot()` method can take a named parameter `kind` that allows you to specify different types of plots. [There's a full list here](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.plot.html#pandas.Series.plot), but just to demonstrate, here's a bar graph from our test series:" ] }, { "cell_type": "code", "execution_count": 460, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 460, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nCgQCkiS/3y+Px2Mwbmwulyvhx0gWsthPpuSQyGJXmZLFrjnOJ+k4ychOlvgkMseEytTY2Jiampq0\nbNkyVVdXS5Ly8vIUDAbldrsVDAaVm5t70319Pp98Pl/084GBgUkY+9Y8Hk/Cj5EsZLGfTMkhkcWu\nMiVLpuSwKpOyZ0oWKzlKSkomtF3Mp/kikYhee+01eb1erVy5Mnp7ZWWl2tvbJUnt7e2qqqqKe0gA\nAIB0F/PM1IkTJ9TR0aFZs2Zp8+bNkqS1a9eqrq5Ozc3NOnjwYHRpBAAAgK+bmGVqzpw5amlpuenX\ntm3bNukDAQAApBNWQAcAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIA\nADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBA\nmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADDgirXB\nq6++qmPHjikvL09NTU2SpJaWFrW1tSk3N1eStHbtWi1atCixkwIAANhQzDL10EMP6Xvf+5727t17\n3e2PPPKIVq1albDBAAAA0kHMp/nmzp2rnJycZMwCAACQdmKembqVd955Rx0dHSorK9MTTzxB4QIA\nAF9LlsrUd77zHf3whz+UJL311lv685//rCeffPKm2wYCAQUCAUmS3++Xx+OxOOrEuFyuhB8jWchi\nP5mSQyJLMpx/bEn8+8S5ffH+I3Efw4p4s8SbQ0pOFitzWZGM+yNZ4pPIHJbKVH5+fvTj2tpa7dq1\n65bb+nw++Xy+6OcDAwNWDjlhHo8n4cdIFrLYT6bkkMiSKTIpN1nsKVOyWMlRUlIyoe0sLY0QDAaj\nHx89elSlpaVWvg0AAEDai3lm6qWXXtJHH32kL774QvX19VqzZo0+/PBDnT59Wg6HQ0VFRdqwYUMy\nZgUAALCdmGVq48aNN9z27W9/OyHDAAAApBtWQAcAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBA\nmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIA\nADDgSvUAAPBV4V+sinuf8xaOk/XHv1nYCwBuxJkpAAAAA5QpAAAAA5QpAAAAA5QpAAAAA5QpAAAA\n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\n/B+WzFXJ+mVzMgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.plot(kind=\"bar\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A horizontal bar chart:" ] }, { "cell_type": "code", "execution_count": 462, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 462, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n6dKlQc0DAABQVIxu81VWVur3v//9Tf1Ocu9BkyVxHVxeDhf5AgA+jq+TAQAAMECZAgAAMECZAgAA\nMECZAgAAMECZAgAAMECZAgAAMECZAgAAMECZAgAAMECZAgAAMGD8Rcc3K7dxddRLlpWLcQ9Q4sg3\nAt09cU8AADeFK1MAAAAGjK5MjY2Nac+ePTp37pwSiYQef/xx3X777UHNBgAAUPCMytS+ffu0aNEi\n/eQnP5Hrurp8+XJQcwEAABQF37f5PvjgA/3jH//QAw88IElKpVKaMWNGYIMBAAAUA99XpgYGBlRV\nVaXdu3frrbfeUlNTk9avX6/KysorjnMcR47jSJIymYzZtABKXiqVkmVZcY9Rssg3fGQcrkLM13eZ\nyuVyOnv2rDZs2KDm5mbt27dPBw4c0Le+9a0rjrNtW7ZtGw8KoDy4rqtsNhv3GCXLsizyDRkZhyvK\nfNPp9A0d5/s2X319verr69Xc3CxJWrZsmc6ePev37QAAAIqS7zJVU1Oj+vp6nT9/XpJ0/PhxzZ07\nN7DBAAAAioHRp/k2bNig5557Tq7r6tZbb9WmTZuCmgsAAKAoGJWp+fPn3/Sm8uTegyZL4jq4Vx8u\n8gUAfBxPQAcAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIAADBAmQIA\nADBg9AR0P3IbV0e9ZFm5GPcAJa7Q8uUbBQAgfkZl6oknnlBlZaUqKiqUTCZv+qtlAAAAip3xlamt\nW7eqqqoqiFkAAACKDnumAAAADBhfmdq2bZsqKir04IMPyrbtIGYCAAAoGgnP8zy/vzw0NKS6ujqN\njIxo+/btevTRR9XS0nLFMY7jyHEcSVImk9G5Va1mEwOYMru7J+4RApdKpeS6btxjlCzyDR8ZhyvK\nfKdNm3ZDxxmVqf+1f/9+VVZWavXqT/+0HmUKCE4pfprPsixls9m4xyhZ5Bs+Mg5XlPmm0+kbOs73\nnqmJiQmNj49P/bm/v1+NjY1+3w4AAKAo+d4zNTIyop07d0qScrmcli9frkWLFgU2GAAAQDHwXaZm\nz56tHTt2BDkLAABA0Yn8CeiluMejkHCvPlzkCwD4OJ4zBQAAYIAyBQAAYIAyBQAAYIAyBQAAYIAy\nBQAAYIAyBQAAYIAyBQAAYIAyBQAAYIAyBQAAYCDyJ6DnNq6OesmycjHuAUpdd0/cEwAACozxlal8\nPq+f//znymQyQcwDAABQVIzL1Msvv6yGhoYgZgEAACg6RmVqcHBQfX19amtrC2oeAACAomJUpv7w\nhz/o29/+thKJRFDzAAAAFBXfG9Bfe+01VVdXq6mpSSdOnLjmcY7jyHEcSWJfFYpeKpWSZVlxj1HS\nyDhc5Bs+Mg5XIeab8DzP8/OLL7zwgo4cOaJkMqnJyUmNj4/rrrvu0pNPPvmpv3duVauvQYFCMLu7\nR9lsNu4xSpplWWQcIvINHxmHK8p80+n0DR3n+8rUunXrtG7dOknSiRMn9NJLL123SAEAAJQaHtoJ\nAABgIJCHdi5cuFALFy4M4q0AAACKSuRPQE/uPRj1kmWFe/UAAESL23wAAAAGKFMAAAAGKFMAAAAG\nKFMAAAAGKFMAAAAGKFMAAAAGKFMAAAAGKFMAAAAGKFMAAAAGIn8Cem7j6qiXLCsX4x6g1HX3xD0B\nAKDA+C5Tk5OT2rp1q1zXVS6X07Jly9Te3h7kbAAAAAXPd5n6zGc+o61bt6qyslKu6+qZZ57RokWL\ndPvttwc5HwAAQEHzvWcqkUiosrJSkpTL5ZTL5ZRIJAIbDAAAoBgY7ZnK5/PavHmzLly4oJUrV6q5\nuTmouQAAAIpCwvM8z/RNxsbGtHPnTj366KNqbGy84jXHceQ4jiQpk8no3KpW0+WA2DS89Kpc1417\njJKWSqXIOETkGz4yDleU+U6bNu2Gjgvk03wzZszQwoULdezYsavKlG3bsm07iGWA2Lmuq2w2G/cY\nJc2yLDIOEfmGj4zDFWW+6XT6ho7zvWfq/fff19jYmKSPPtnX39+vhoYGv28HAABQlHxfmRoeHlZX\nV5fy+bw8z9Pdd9+tL3/5y0HOBgAAUPB8l6nPfe5z+s1vfhPkLAAAAEUn8iegJ/cejHrJssK9egAA\nosV38wEAABigTAEAABigTAEAABigTAEAABigTAEAABigTAEAABigTAEAABigTAEAABiI/KGduY2r\no16yvHT3xD0BAABlhStTAAAABnxfmcpms+rq6tJ7772nRCIh27b10EMPBTkbAABAwfNdppLJpL7z\nne+oqalJ4+Pjevrpp/WlL31Jc+fODXI+AACAgub7Nl9tba2ampokSbfccosaGho0NDQU2GAAAADF\nIJAN6AMDAzp79qwWLFhw1WuO48hxHElSJpMJYjl8ilQqJcuy4h6jZJFv+Mg4XOQbPjIOVyHma1ym\nJiYm1NHRofXr12v69OlXvW7btmzbNl0GN8h1XWWz2bjHKFmWZZFvyMg4XOQbPjIOV5T5ptPpGzrO\n6NN8ruuqo6ND9957r5YuXWryVgAAAEXJd5nyPE979uxRQ0ODHn744SBnAgAAKBq+b/O98cYbOnLk\niBobG/Wzn/1MkrR27VotXrw4sOEAAAAKne8y9YUvfEH79++/6d9L7j3od0kAAICCwxPQAQAADFCm\nAAAADFCmAAAADFCmAAAADFCmAAAADFCmAAAADFCmAAAADFCmAAAADFCmAAAADPh+ArpfuY2ro16y\nvHT3xD0BAABlxahM7d69W319faqurlZHR0dQMwEAABQNo9t89913n7Zs2RLULAAAAEXHqEy1tLRo\n5syZQc0CAABQdNiADgAAYCD0DeiO48hxHElSJpMJe7myl0qlZFlW3GOULPINHxmHi3zDR8bhKsR8\nQy9Ttm3Ltu2wl8H/c11X2Ww27jFKlmVZ5BsyMg4X+YaPjMMVZb7pdPqGjuM2HwAAgAGjK1O7du3S\nyZMnNTo6qscee0zt7e164IEHgpoNAACg4BmVqR/96EdBzQEAAFCUIn8CenLvwaiXBAAACA17pgAA\nAAxQpgAAAAxQpgAAAAxQpgAAAAxQpgAAAAxQpgAAAAxQpgAAAAxQpgAAAAxQpgAAAAxE/gT03MbV\nUS9ZXrp74p4AAICyYlSmjh07pn379imfz6utrU1r1qwJai4AAICi4Ps2Xz6f1+9+9ztt2bJFnZ2d\nOnr0qP79738HORsAAEDB812mTp8+rTlz5mj27NlKpVK655571NvbG+RsAAAABc93mRoaGlJ9ff3U\nz/X19RoaGgpkKAAAgGIR+gZ0x3HkOI4kKZPJhL1c2UulUrIsK+4xShb5ho+Mw0W+4SPjcBVivr7L\nVF1dnQYHB6d+HhwcVF1d3VXH2bYt27b9LoOb5Lqustls3GOULMuyyDdkZBwu8g0fGYcrynzT6fQN\nHef7Nt9tt92md955RwMDA3JdVz09PWptbfX7dgAAAEXJ95WpZDKpDRs26Fe/+pXy+bzuv/9+zZs3\nL8jZAAAACp7RnqnFixdr8eLFQc0CAABQdCJ/Anpy78GolwQAAAgN380HAABggDIFAABggDIFAABg\ngDIFAABgIOF5nhf3EAAAAMUq0itTTz/9dJTLlSUyDhf5ho+Mw0W+4SPjcBVivtzmAwAAMECZAgAA\nMJB89tlnn41ywaampiiXK0tkHC7yDR8Zh4t8w0fG4Sq0fNmADgAAYIDbfAAAAAYi+W6+Y8eOad++\nfcrn82pra9OaNWuiWLasPPHEE6qsrFRFRYWSyaQymUzcIxW93bt3q6+vT9XV1ero6JAkXbp0SZ2d\nnXr33Xc1a9YsPfXUU5o5c2bMkxanT8p3//79OnTokKqqqiRJa9eu5cvUDWSzWXV1dem9995TIpGQ\nbdt66KGHOI8Dcq18OY+DMzk5qa1bt8p1XeVyOS1btkzt7e2Fdw57Icvlct4Pf/hD78KFC96HH37o\n/fSnP/XOnTsX9rJlZ9OmTd7IyEjcY5SUEydOeGfOnPF+/OMfT/3d888/73V3d3ue53nd3d3e888/\nH9d4Re+T8n3xxRe9P//5zzFOVVqGhoa8M2fOeJ7neR988IH35JNPeufOneM8Dsi18uU8Dk4+n/fG\nx8c9z/O8Dz/80PvFL37hvfHGGwV3Dod+m+/06dOaM2eOZs+erVQqpXvuuUe9vb1hLwsYa2lpuepf\nOr29vVqxYoUkacWKFZzLBj4pXwSrtrZ2aqPuLbfcooaGBg0NDXEeB+Ra+SI4iURClZWVkqRcLqdc\nLqdEIlFw53Dot/mGhoZUX18/9XN9fb3efPPNsJctS9u2bVNFRYUefPBB2bYd9zglaWRkRLW1tZKk\nmpoajYyMxDxR6fnb3/6mI0eOqKmpSd/97ncpXAEZGBjQ2bNntWDBAs7jEPxvvqdOneI8DlA+n9fm\nzZt14cIFrVy5Us3NzQV3DkeyZwrh27Ztm+rq6jQyMqLt27crnU6rpaUl7rFKWiKRUCKRiHuMkvK1\nr31NjzzyiCTpxRdf1J/+9Cdt2rQp5qmK38TEhDo6OrR+/XpNnz79itc4j819PF/O42BVVFRox44d\nGhsb086dO/X2229f8XohnMOh3+arq6vT4ODg1M+Dg4Oqq6sLe9my899Mq6urtWTJEp0+fTrmiUpT\ndXW1hoeHJUnDw8NTG0wRjJqaGlVUVKiiokJtbW06c+ZM3CMVPdd11dHRoXvvvVdLly6VxHkcpE/K\nl/M4HDNmzNDChQt17NixgjuHQy9Tt912m9555x0NDAzIdV319PSotbU17GXLysTEhMbHx6f+3N/f\nr8bGxpinKk2tra06fPiwJOnw4cNasmRJzBOVlv/+z1GSXn31Vc2bNy/GaYqf53nas2ePGhoa9PDD\nD0/9PedxMK6VL+dxcN5//32NjY1J+uiTff39/WpoaCi4cziSh3b29fXpj3/8o/L5vO6//35985vf\nDHvJsnLx4kXt3LlT0kcb9JYvX07GAdi1a5dOnjyp0dFRVVdXq729XUuWLFFnZ6ey2WxhfBy3iH1S\nvidOnNC//vUvJRIJzZo1S9///ven9kXg5p06dUrPPPOMGhsbp26DrF27Vs3NzZzHAbhWvkePHuU8\nDshbb72lrq4u5fN5eZ6nu+++W4888ohGR0cL6hzmCegAAAAGeAI6AACAAcoUAACAAcoUAACAAcoU\nAACAAcoUAACAAcoUAACAAcoUAACAAcoUAACAgf8DrMs1bHi7bJgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.plot(kind=\"barh\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A pie chart:" ] }, { "cell_type": "code", "execution_count": 464, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 464, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s.plot(kind=\"pie\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Series indices don't have to be integers\n", "\n", "The default behavior of a Series is to use integers as indices: if you initialize a Series with just a list, then the indices start at 0 and go up to the length of the list (minus 1). But the indices of a Series can be essentially any data type. You can specify the values and indices in a Series by passing them as a dictionary, or as two lists (values first, indices second):" ] }, { "cell_type": "code", "execution_count": 205, "metadata": {}, "outputs": [], "source": [ "planet_moons = pd.Series(\n", " [0, 0, 1, 2, 69, 62, 27, 14],\n", " ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune'])" ] }, { "cell_type": "code", "execution_count": 207, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Mercury 0\n", "Venus 0\n", "Earth 1\n", "Mars 2\n", "Jupiter 69\n", "Saturn 62\n", "Uranus 27\n", "Neptune 14\n", "dtype: int64" ] }, "execution_count": 207, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All the various statistical operations still work, e.g.:" ] }, { "cell_type": "code", "execution_count": 209, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "21.875" ] }, "execution_count": 209, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plots work as well:" ] }, { "cell_type": "code", "execution_count": 466, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 466, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n4+9mw2bMmKGMjAyFh4d7l5FZw1588UX16dNHo0aNktPpVE1Njd566y0yawK3261f/OIXeuaZZ/S3\nv/2txTNrs7dT9+3bp65du+qqq66S1WrVsGHDtGPHDn+P1Sr17dv3vN8WduzYoeHDh0uShg8fTnbf\n0rlzZ++LV6+44gp169ZNp06dIrMGBAQEKDQ0VJLkcrnkcrkUEBBAZo04efKk8vPzNWrUKO8yMjOO\nzC6usrJSX3zxhb73ve9JkqxWqzp27EhmTbR792517dpVXbp08UtmbfZ26qlTpxQVFeV9HBUVpX//\n+99+nMhczpw5o86dO0uSIiIidObMGT9P1DqVlJTo4MGDuu6668isEW63W4899piOHTumO+64Q717\n9yazRrz66qu69957VVVV5V1GZo2bP3++AgMDddttt8lut5NZA0pKShQeHq7ly5fr8OHDio2N1dSp\nU8msibZs2aLk5GRJ/vm72WZLHHwnICBAAQEB/h6j1amurtaSJUs0depUdejQod46MjtfYGCgFi1a\npLNnz2rx4sX6+uuv660ns/ry8vLUqVMnxcbGqrCw8ILbkNn55s+fr8jISJ05c0ZPP/20YmJi6q0n\ns/pcLpcOHjyon/3sZ+rdu7fWrFmjDRs21NuGzC7M6XQqLy9PkyZNOm9dS2XWZktcZGSkTp486X18\n8uRJRUZG+nEic+nUqZNOnz6tzp076/Tp0/VeX4Jzf3mXLFmi7373u7r55pslkVlTdezYUf369dNn\nn31GZg348ssvtXPnTu3atUu1tbWqqqrSsmXLyKwR3/x/vlOnTkpISNC+ffvIrAFRUVGKiopS7969\nJUlJSUnasGEDmTXBrl27dO211yoiIkKSf/4NaLOviYuLi9PRo0dVUlIip9OprVu3Kj4+3t9jmUZ8\nfLw2bdokSdq0aZMSEhL8PFHr4fF4tGLFCnXr1k1jx471LieziysrK9PZs2clnXunakFBgbp160Zm\nDZg0aZJWrFihrKwszZo1S/3799evfvUrMmtAdXW199ZzdXW1CgoK1LNnTzJrQEREhKKiolRcXCzp\n3Gu8unfvTmZN8O1bqZJ//g1os+9OlaT8/HytXbtWbrdbI0eO1IQJE/w9Uqv0/PPPa8+ePSovL1en\nTp2UmpqqhIQELV26VKWlpby9/P/Yu3evnnzySfXs2dN7ufyee+5R7969yewiDh8+rKysLLndbnk8\nHg0dOlQTJ05UeXk5mTVBYWGhNm7cqLlz55JZA44fP67FixdLOneb8JZbbtGECRPIrBGHDh3SihUr\n5HQ6FR3E+qV+AAAAYElEQVQdrenTp8vj8ZBZA6qrqzV9+nS9+OKL3pfT+OO/szZd4gAAANqqNns7\nFQAAoC2jxAEAAJgQJQ4AAMCEKHEAAAAmRIkDAAAwIUocAACACVHiAAAATIgSBwAAYEL/D4PpUBqD\nwFzZAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "planet_moons.plot(kind=\"barh\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even if indices are integers, they don't have to be *sequential* integers. A good example of this is what happens when you use the `.value_counts()` method, which returns a new Series with totals for each unique value (like a Counter object):" ] }, { "cell_type": "code", "execution_count": 219, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5 3\n", "15 2\n", "10 2\n", "30 1\n", "12 1\n", "27 1\n", "23 1\n", "dtype: int64" ] }, "execution_count": 219, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_counts = s.value_counts()\n", "s_counts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll get back to why this is important in a second..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Series indexing\n", "\n", "To get a particular value from a Series, you can use the square bracket syntax familiar to you from Python lists and dictionaries:" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 154, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s[0]" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 157, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s[4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the slice operator gives you a new Series representing the corresponding slice:" ] }, { "cell_type": "code", "execution_count": 220, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 5\n", "2 5\n", "3 10\n", "dtype: int64" ] }, "execution_count": 220, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s[1:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This syntax works for Series with non-integer indices as well:" ] }, { "cell_type": "code", "execution_count": 221, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "14" ] }, "execution_count": 221, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[\"Neptune\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Somewhat weirdly, you can use *slice* syntax with non-integer indices. This is something you can do with a Pandas Series that you *definitely* can't do with a regular list or dictionary:" ] }, { "cell_type": "code", "execution_count": 223, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mercury 0\n", "Venus 0\n", "Earth 1\n", "Mars 2\n", "Jupiter 69\n", "dtype: int64" ] }, "execution_count": 223, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[\"Mercury\":\"Jupiter\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even with Series with non-integer indices will allow you to use numerical indices, to refer to the item in the series corresponding to that entry in numerical order:" ] }, { "cell_type": "code", "execution_count": 228, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "62" ] }, "execution_count": 228, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[5]" ] }, { "cell_type": "code", "execution_count": 230, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mercury 0\n", "Venus 0\n", "Earth 1\n", "Mars 2\n", "dtype: int64" ] }, "execution_count": 230, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Location versus index\n", "\n", "Where this gets *even weirder* is with Series that have non-consecutive integer indices. Recall the result of `.value_counts()` for our original Series `s`:" ] }, { "cell_type": "code", "execution_count": 232, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "5 3\n", "15 2\n", "10 2\n", "30 1\n", "12 1\n", "27 1\n", "23 1\n", "dtype: int64" ] }, "execution_count": 232, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_counts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's not clear what the expression `s[5]` should evaluate to: the item at numerical index `5` in the Series, or the value for the index `5`. Let's see what happens:" ] }, { "cell_type": "code", "execution_count": 234, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 234, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_counts[5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like the Series gives us the value for the index `5` (i.e., not the value for the index `27`, which is in the fifth numerical index position). Weird! To avoid this ambiguity, you can use the `.iloc` attribute, which always uses numerical position:" ] }, { "cell_type": "code", "execution_count": 238, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 238, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_counts.iloc[5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Selecting from a Series\n", "\n", "Another way to get portions of a Series is to \"select\" items from it. Series values support an unusual syntax where you can put a *list* inside of the square bracket indexing syntax, and in that list you can specify which fields in particular you want. So for example:" ] }, { "cell_type": "code", "execution_count": 239, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Jupiter 69\n", "Saturn 62\n", "dtype: int64" ] }, "execution_count": 239, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[ [\"Jupiter\", \"Saturn\"] ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Very weird, right? But it's also quite handy in certain circumstances. You can also pass a list of Boolean values (i.e., `True` or `False`), in which case you'll receive a new Series that only has values for the items in the original series that correspond with a `True` value in the list. That's confusing to explain, but easy to understand if you see it in action:" ] }, { "cell_type": "code", "execution_count": 241, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mercury 0\n", "Venus 0\n", "Earth 1\n", "Mars 2\n", "Jupiter 69\n", "Saturn 62\n", "Uranus 27\n", "Neptune 14\n", "dtype: int64" ] }, "execution_count": 241, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons" ] }, { "cell_type": "code", "execution_count": 244, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mars 2\n", "Neptune 14\n", "dtype: int64" ] }, "execution_count": 244, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[ [False, False, False, True, False, False, False, True] ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This feature is of limited utility on its own, but there's another bit of functionality that the Series value gives you that works alongside it. The same way that you can multiply a Series, or add a constant to a Series, you can also use a relational operator on a Series. When you do so, you get back a Series that has `True` for every item that passed the test and `False` for every item that failed. For example:" ] }, { "cell_type": "code", "execution_count": 247, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mercury True\n", "Venus True\n", "Earth True\n", "Mars True\n", "Jupiter False\n", "Saturn False\n", "Uranus False\n", "Neptune True\n", "dtype: bool" ] }, "execution_count": 247, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons < 20" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you combine these two features, you can write an expression that returns a Series with only those items that meet particular criteria. For example, the following expression gives us only those planets that have fewer than twenty known moons:" ] }, { "cell_type": "code", "execution_count": 254, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Mercury 0\n", "Venus 0\n", "Earth 1\n", "Mars 2\n", "Neptune 14\n", "dtype: int64" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" } ], "source": [ "planet_moons[planet_moons < 20]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The DataFrame\n", "\n", "I wanted to discuss the Series data type because you'll see it again and again when you're working with Pandas, and it's important to understand what it is and what it can do. But for the most part when you're working with Pandas, you'll be working with a data type called the `DataFrame`. A `DataFrame` is sort of like a spreadsheet, consisting of rows and columns. As with series, the rows and columns can have labels (i.e., the items have names like they do in the `planet_moons` Series above) and can also be indexed purely by position.\n", "\n", "You can create a `DataFrame` by passing in a dictionary, where the keys of the dictionary are the column labels and the values are lists of individual values for each row. Here I'm creating a very simple DataFrame for the [longest rivers in the world](https://en.wikipedia.org/wiki/List_of_rivers_by_length), including their names, their length (in kilometers), their drainage areas (in square kilometers) and their average discharge (in cubic meters per second):" ] }, { "cell_type": "code", "execution_count": 283, "metadata": { "collapsed": true }, "outputs": [], "source": [ "river_data = {\n", " \"Name\": [\"Amazon\", \"Nile\", \"Yangtze\", \"Mississippi\"],\n", " \"Length\": [6992, 6835, 6300, 6275],\n", " \"Drainage area\": [7050000, 3254555, 1800000, 2980000],\n", " \"Discharge\": [209000, 2800, 31900, 16200]\n", "}\n", "river_df = pd.DataFrame(river_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Evaluating the DataFrame in Jupyter Notebook displays the data in a nice, clean HTML table:" ] }, { "cell_type": "code", "execution_count": 284, "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", "
DischargeDrainage areaLengthName
020900070500006992Amazon
1280032545556835Nile
23190018000006300Yangtze
31620029800006275Mississippi
\n", "
" ], "text/plain": [ " Discharge Drainage area Length Name\n", "0 209000 7050000 6992 Amazon\n", "1 2800 3254555 6835 Nile\n", "2 31900 1800000 6300 Yangtze\n", "3 16200 2980000 6275 Mississippi" ] }, "execution_count": 284, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You'll notice that the *order* of the indices is (probably) wrong. That's because when you initialize a DataFrame with a dictionary, Pandas sorts the keys alphabetically by default. If you want to specify a different order, use the `columns` named parameter, with a list of the column labels in the order you want:" ] }, { "cell_type": "code", "execution_count": 285, "metadata": { "collapsed": true }, "outputs": [], "source": [ "river_df = pd.DataFrame(river_data, columns=[\"Name\", \"Length\", \"Drainage area\", \"Discharge\"])" ] }, { "cell_type": "code", "execution_count": 294, "metadata": { "scrolled": true }, "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", "
NameLengthDrainage areaDischarge
0Amazon69927050000209000
1Nile683532545552800
2Yangtze6300180000031900
3Mississippi6275298000016200
\n", "
" ], "text/plain": [ " Name Length Drainage area Discharge\n", "0 Amazon 6992 7050000 209000\n", "1 Nile 6835 3254555 2800\n", "2 Yangtze 6300 1800000 31900\n", "3 Mississippi 6275 2980000 16200" ] }, "execution_count": 294, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just as with a Series, you can plot the data in a DataFrame right away using the `.plot()` method. (The `x` named parameter sets the column to use to label each bar; if you do this call without the `x` the bars will be labelled by their row number, which isn't terribly helpful.) By default, all columns are plotted, which isn't super useful, but it *is* easy:" ] }, { "cell_type": "code", "execution_count": 457, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 457, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nVWlpqR48eCDHcRQIBOKPkUl1dbWqq6vj+62trUO5ZQxRRUUFNfcYNfceNfceNfceNffeU089NeRz\nh/QWbVVVlc6cOSNJOnPmjBYvXhxvr6+vV09Pj1paWnTr1i3Nnj1b5eXlmjBhgq5evSpjjM6ePauq\nqipJ0vPPP6/Tp09Lks6dO6d58+bJsixVVlbqwoUL6uzsVGdnpy5cuKDKykpZlqV58+bp3LlzkqK/\nadt7LQAAAEiWMcYM1KG2tlaXL19WR0eHysrKtGHDBi1evFh79+5Va2trysekHDt2TD/88INs29bG\njRu1cOFCSdK1a9d06NAhdXd3q7KyUps3b5ZlWeru7taBAwd048YNlZSUaNu2bZoyZYqk6G/YHj9+\nXFL0Y1JWrVolSfrrr79UW1urzs5OzZgxQ1u3btWYMWOyuuE///xzaJXCkPAdn/eoufeoufeoufeo\nufeGs4I3aMDzGwKet3hC8B419x419x419x41957nb9ECAADg8UXAAwAA8BkCHgAAgM8Q8AAAAHyG\ngAcAAOAzBDwAAACfIeABAAD4DAEPAADAZwh4AAAAPkPAAwAA8BkCHgAAgM8Q8AAAAHyGgAcAAOAz\nBDwAAACfIeABAAD4DAEPAADAZ4ryPQCvXWx8IDtgybalQMCSHZACdvT/dsBSICDZduz//fvF9u2A\npYAtWbaV79sBAABIMeoC3h+/9chxjFxn+NeybCkQC3yJQbE3EMaDop0cEOPHY0ExMVgmnp/xegRM\nAAAwgFEX8P7z3zJJkjFGxpUcV3IdI8eRXDca/HoDoBPbTzzuxPZdN6FfbL9/Pydi1NMtOY4bvU7C\n+U4uAqaltCuLdiB9oBzSSmX/fonXIWACAPBYKuiA19TUpCNHjsh1Xa1evVpr167N+lzLsmQFogFJ\nY7wPKsYYGaOkgNgbGF3HpATPeLBMCJ7x/onB0U0OoD3dkuu4aa8nM8ybsJR5BTIWGMdP6FbE6clq\npTJdoEwMrKkrmNE/RwAAkKxgA57rujp8+LA+/PBDhUIh7dixQ1VVVXr66afzPbSsWJYVXYGzpaI8\nBEwpYcVymCuV/fsltv/z0FFXl5M2yJrhBkwp7UplUhAc6kplhvbEgGoTMAEAj6mCDXjNzc2aOnWq\npkyZIklatmyZGhoaCibgPQ5sOxpkijRyIaWiokKtra1pj7luamBM9xZ5uuAYD4qJ56dZ+ezu6nuL\nPCnIupJxh39/KSuQicHwkd8if/RzCilgGmMkk7BwnG7bxHfj/0nfnvwNQup25seK9814HZP8zUeG\ncSa2Rboe6s7dngHuY6Cxm4TtgR8z+VyTtgaDj90ktWUaW2JbX7vJ6rGM6X/t1HvM9OeXXGOT3JYw\npnHjIurq6uo7z0qzmdRmZdUv3jSMNllW6iWtTOMazhisAcaQ5pKP0JY6Pkst/3dHnfe7RuA+Etv6\nHRhszMMaQ2pjplqmXPYR2xJmYBZztW/jqafSjCdLBRvwwuGwQqFQfD8UCunXX38d9DznzQ0jOSz0\n02LZSS9g/VmSArEvrxlZcu0iOfYYubEvxx4j1yrq245/9fYrkmtlOtZ7jaL4drcVOyfN9Vx7zLDv\nwXZ74l8Bt0e2G1H0FTD6FGHiz1aWJCu+b2L7ij2hmlif6PHeZykr1q/3mNT7yUom6dz+/aPH+tpH\nw6cxdeZ7AN6KfXdkJaQxKyEhRrdjs6pforbSnNs3W0ysf+K11O9aff1N0qti4tyON0bb0r7yJ/S3\n+rcl9E14xU++duwuUhJBQn8rw+P1G3Py9ZNTQnL/fP9depjnxx995s0f+rkFG/CyVVdXp7q6OknS\n7t27Vfyf/+Z5RKOIMbJtW66bg6Wyx5YT++oarGMKYyRXthzZchSQa1K3XdlyTKCvX4ZtVwE5sXOi\nrwwJL6IxVtLLVtJLmJJeYBPGmO78eB8ruT25b//HMIM8bobHsgYad+btTC/JacdqDVyjge8hum1b\nlowxqTVKvK6VqZ5DqVGszZhHqlH6ugzyZ9B/O90Kh8fMqHhuGVi675tTA+ijtPWyMrbZti0nXvN0\n/frah9Y2wPhMdvcx4DUeqRb9w/dw23plWQtjxVaw56aML1sFG/CCwaDa2tri+21tbQoGgyn9qqur\nVV1dHd/veuVVT8aHqIHeokUfO/aVi7+Q1Nx7hVJzk2G7EBVKzf0kmKHmj0HmRxr5Xu8dslmzZunW\nrVtqaWlRJBJRfX29qqqq8j0sAACAvCvYFbxAIKDNmzdr586dcl1Xq1at0jPPPJPvYQEAAORdwQY8\nSVq0aJEWLVqU72EAAAA8Vgr2LVoAAACkR8ADAADwGQIeAACAzxDwAAAAfIaABwAA4DOWGejfkQIA\nAEDBGVUreO+9916+hzDqUHPvUXPvUXPvUXPvUXPvDafmoyrgAQAAjAYEPAAAAJ8JfPLJJ5/kexBe\nmjlzZr6HMOpQc+9Rc+9Rc+9Rc+9Rc+8Nteb8kgUAAIDP8BYtAACAzxTlewC51tTUpCNHjsh1Xa1e\nvVpr165NOm6M0ZEjR/TTTz9p3Lhx2rJlC0vOwzRYzS9duqTPPvtMkydPliQtWbJE69evz8dQfePQ\noUNqbGxUWVmZampqUo4zz3NvsJozz3OvtbVVBw8e1J07d2RZlqqrq/Xyyy8n9WGu51Y2NWeu51Z3\nd7c+/vhjRSIROY6jpUuXasOGDUl9hjTPjY84jmPefPNNc/v2bdPT02O2b99ubt68mdTnxx9/NDt3\n7jSu65orV66YHTt25Gm0/pBNzS9evGg+/fTTPI3Qny5dumSuXbtm3nnnnbTHmee5N1jNmee5Fw6H\nzbVr14wxxjx48MC89dZbPKePsGxqzlzPLdd1zcOHD40xxvT09JgdO3aYK1euJPUZyjz31Vu0zc3N\nmjp1qqZMmaKioiItW7ZMDQ0NSX3Onz+v5cuXy7IszZkzR/fv31d7e3ueRlz4sqk5cm/u3LkqKSnJ\neJx5nnuD1Ry5V15eHl+lmDBhgqZNm6ZwOJzUh7meW9nUHLllWZbGjx8vSXIcR47jyLKspD5Dmee+\nCnjhcFihUCi+HwqFUiZmOBxWRUXFgH2QvWxqLklXrlzR9u3btWvXLt28edPLIY5KzPP8YJ6PnJaW\nFt24cUOzZ89Oameuj5xMNZeY67nmuq7effddvf7665o/f76effbZpONDmee++xk8PH5mzJihL7/8\nUuPHj1djY6P27Nmjffv25XtYQE4xz0fOP//8o5qaGm3cuFHFxcX5Hs6oMFDNmeu5Z9u29uzZo/v3\n7+vzzz/X77//runTpw/vmjka22MhGAyqra0tvt/W1qZgMJjSp7W1dcA+yF42NS8uLo4vPy9atEiO\n4+jevXuejnO0YZ57j3k+MiKRiGpqavTiiy9qyZIlKceZ67k3WM2Z6yNn4sSJmjdvnpqampLahzLP\nfRXwZs2apVu3bqmlpUWRSET19fWqqqpK6lNVVaWzZ8/KGKOrV6+quLhY5eXleRpx4cum5nfu3JGJ\nfdxic3OzXNdVaWlpPoY7ajDPvcc8zz1jjL766itNmzZNr7zySto+zPXcyqbmzPXcunfvnu7fvy8p\n+hu1P//8s6ZNm5bUZyjz3HcfdNzY2KhvvvlGrutq1apVWrdunU6ePClJeumll2SM0eHDh3XhwgWN\nHTtWW7Zs0axZs/I86sI2WM2///57nTx5UoFAQGPHjtVrr72m5557Ls+jLmy1tbW6fPmyOjo6VFZW\npg0bNigSiUhino+UwWrOPM+9X375RR999JGmT58e/6HzV199Nb6SwVzPvWxqzlzPrd9++00HDx6U\n67oyxuiFF17Q+vXrh51dfBfwAAAARjtfvUULAAAAAh4AAIDvEPAAAAB8hoAHAADgMwQ8AAAAnyHg\nAQAA+AwBDwAAwGcIeAAAAD7z/6eY72iT8O8/AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "river_df.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That graph doesn't make any sense, and it doesn't make sense for several different reasons:\n", "\n", "* The values that we're plotting don't share a common *scale*, so the Y-axis doesn't really tell us anything useful about the Length and Discharge fields, whose scale is dwarfed by the Drainage area field.\n", "* The X-axis ranges from zero to three. This would make sense if we were working with a time series (i.e., a data set with a number of data points recording the same phenomenon over time), but the data we're working with in this example has distinct values that aren't \"ordered\" in a meaningful sense.\n", "\n", "To fix this, we can pass a couple of parameters to the `.plot()` method. For example:\n", "\n", "* You can specify individual columns to plot with the `y` named parameter\n", "* You can specify a label to use on the X-axis with the `x` named parameter\n", "\n", "Combining these, we can get a nice bar chart of our rivers' discharges, showing that the amount of water but out by the Amazon is truly tremendous:" ] }, { "cell_type": "code", "execution_count": 468, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 468, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAE4CAYAAAAJoMRnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtUVPe9///nngEVGEQGBEqCaYnYqBWHiIliRFSMRlOb\nWGObnFwk8ZJlklNMY9XkNMccm0hivQMnjTWe2NqupB6xubYniEgCGlGDjdqWKCaNBUUYoiAot/n9\n4Tfzi0XDVWc2vh5rdZX57L2H9579yfDy89kXw+VyuRARERERr2bxdAEiIiIi0jqFNhERERETUGgT\nERERMQGFNhERERETUGgTERERMQGFNhERERETUGgTERERMQGFNhERERETUGgTERERMQGFNhERERET\n8PF0AVdCaWmpp0vwOqGhoVRUVHi6DDEJ9RdpK/UVaQ/1l5YiIyPbvK5G2kRERERMQKFNRERExAQU\n2kRERERMoFue0yYiIiId53K5OHfuHM3NzRiG0WXve/LkSc6fP99l72cWLpcLi8VCr169OvV5KrSJ\niIjIRc6dO4evry8+Pl0bE3x8fLBarV36nmbR2NjIuXPn8PPz6/B7aHpURERELtLc3Nzlge1a5+Pj\nQ3Nzc6feQ6FNRERELtKVU6Ly/+vs56rQJiIiImICGvu8gppmT/V0CW4nPV3A11jXv+npEkREpB26\n6u9Z0//7/7b8HYiKiuKmm26isbERq9XK9OnTmTNnDhaLhQMHDrBlyxaWLl3art8/ffp0fv7znzN0\n6NAOVO95Cm0iIiLidXr16sX7778PQEVFBY899hg1NTU89dRTDB069KoHr8bGRo+f56fpUREREfFq\noaGhvPTSS2zcuBGXy0VBQQEPPvggALt27WLChAlMmDCB22+/nZqaGgAyMjIYP348ycnJvPDCC+73\nevvtt5kyZQq33XYbH330EQBffPEFd999NxMnTmTixIkUFhYCUFBQwN13383MmTNJSkoCYNWqVYwe\nPZq77rqLefPm8fLLLwPw2Wef8W//9m9MmjSJu+++myNHjnT556CRNhEREfF6N9xwA83NzS2eXfry\nyy/zwgsvMHz4cM6ePUvPnj3Jycnhz3/+M2+//TZ+fn5UVVW5129sbOSdd95h+/btrFy5ktdff53Q\n0FB+//vf06tXL0pKSnjsscd47733APjkk0/IycmhX79+FBUV8e677/L+++/T2NjIxIkTiY2NBeBn\nP/sZaWlpREdHs3//fhYvXswf/vCHLv0MFNpERETEtIYPH85zzz3H3XffzR133EFkZCQffPABP/rR\nj9z3RAsODnavP3nyZABiY2M5fvw4AA0NDTzzzDMcPnwYi8VCSUmJe32Hw0G/fv0AKCwsZOLEifTq\n1QuACRMmAHD27Fn27dvH3Llz3dvV19d3+b4qtImIiIjX+/zzz7FYLISGhvLpp5+62x9//HHGjx9P\nTk4Od911F7/73e++8X169OgBgNVqpbGxEYD169fTt29f3n//fZqbm4mOjnav7+/v32ptzc3N9O7d\n230O3pXSamirqKggIyODL7/8EsMwSE5OZvLkydTU1LBq1SpOnTpF3759mT9/PjabDYCsrCxycnKw\nWCykpKTgcDgAKCkpISMjg/r6euLi4khJScEwDBoaGkhPT6ekpITAwEBSU1MJCwsDIDc3l61btwIw\nbdo095yyiIiIXBsqKytZtGiROzd83WeffcbAgQMZOHAgRUVFHDlyhMTERFatWsW0adPc06NfH237\nV2fOnOFb3/oWFouFP/zhDzQ1NV1yveHDh7Nw4UIef/xxmpqayM7O5v777ycwMJCoqCjeeustvv/9\n7+NyuTh8+DCDBw/u0s+h1dBmtVp54IEHiI6Opq6ujkWLFhEbG0tubi5DhgzhrrvuYtu2bWzbto37\n77+f48ePU1BQwMqVK6mqqmLp0qWsWbMGi8XC+vXrmTt3LjExMSxbtoyioiLi4uLIyckhICCAdevW\nkZ+fz+bNm5k/fz41NTVs2bKFtLQ0ABYtWkR8fLw7HIqIiMiV11W3avLx8XGPbrXm3LlzTJgwocUt\nP/7Vr3/9awoKCrBYLAwYMICxY8fSs2dPDh06xB133IGvry/jxo1j8eLFl/1dDz30EHPmzGHLli2M\nHTv2sqNrDoeD22+/neTkZPr27cvAgQMJDAwEID09ncWLF7NmzRoaGxv5wQ9+0OWhzXC5XK72bPDS\nSy8xadIkNmzYwJIlSwgODqaqqoolS5awZs0asrKyALj77rsBeP7557nnnnvo27cvzz33HKtXrwbg\nww8/5PDhw8yZM8e9zoABA2hqamLOnDn8+te/Jj8/370OwCuvvMKgQYO47bbbvrHG0tLSdn8QV4I3\n3afNm+g+bd4vNDS0xcm+IpeivtI91dbWtmlasL3aE9q81dmzZwkICKCuro5p06bx0ksvMWTIkDZt\n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\nPsCF++E888wzbN68mS+++MLDVYm3qqmpcd/pfsyYMbz44ouaspBLmjhxIn369OG2224DLoyWnDp1\nihtuuIH//u//5j//8z89XKF4i4MHD/K9733vsjfw1v3Z2k+hrZtavHix+2eLxcIDDzzAAw884MGK\nxFv95je/Yc+ePYwfP54VK1bQq1cvT5ckXmzfvn0sX77c/XrixIksWLCA+++/nzfffNODlYm3OXz4\nMN/73vcuewNvhbb2U2jrps6cOcO2bdv45z//SX19vbtd/wqWf/X222/j4+PD1q1bycrKcre7XC4M\nw+C1117zYHXibXr06MFHH33k/oP70Ucf4evrC6D7tclFZsyYAejmul3JcOns9G7pF7/4BQkJCbz1\n1lvMnj2b3Nxcevfuzf333+/p0kTExE6cOMGrr77qvlFq//79mTlzJiEhIRw9elTPN5YW3n33XZKS\nkvDz8+NXv/oVx44d47777mPo0KGeLs10NNLWTVVXVzNu3DjeffddBg0axKBBgy6aMhUR6YiIiAie\nfvrpSy5TYJNL2bFjB5MnT6aoqIjq6moef/xx0tPTFdo6QKGtm/LxuXBog4OD2b9/P8HBwe574oiI\ndNSZM2fYsWMHp06duuh5xnPnzvVgVeLNvprQ+/jjjxkzZgxRUVG6BVUHKbR1U9OmTaO2tpYHHniA\njRs3Ultby0MPPeTpskTE5JYvX05MTAw33XQTFouehCiti46O5he/+AXl5eXcd9991NXV6fzHDtI5\nbSIi0mYLFiy46OpRkdY0Nzfz2WefER4eTkBAADU1NVRWVnLDDTd4ujTT0UhbN1VeXs57773XYgpj\n4cKFHqxKRMwuLi6OAwcO6HwkabPi4mK+/e1v06tXL/Ly8jh27BiTJ0/2dFmmpJG2bmrBggWMHTuW\nfv36XTSFoROFRaQzUlJSqK2tpUePHu5zZwE2btzowarEmz311FMsX76czz//nMzMTMaNG8euXbt4\n7rnnPF2a6WikrZvy9fXVv2REpMtt2LDB0yWIyVitVgzDYO/evUyaNIlx48axY8cOT5dlSgpt3dTk\nyZP5wx/+wNChQy/613B0dLQHqxIRs7NYLNTW1nLixAkaGhrc7d/97nc9WJV4s169epGVlcUHH3zA\nc889R3NzM42NjZ4uy5Q0PdpN/e53vyMvL4/w8PCLpkf1RAQR6YycnBzefvttnE4n/fr14+jRo8TE\nxLBkyRJPlyZe6ssvv+TDDz/kxhtvZODAgVRUVHDo0CHGjBnj6dJMRyNt3dSuXbtIT0+/aJRNRKSz\n3nnnHdLS0njmmWf4r//6L7744gtef/11T5clXqxPnz7ceeed7tehoaEKbB2kv+jdVFRUFGfPniUo\nKMjTpYhIN9KjRw969OgBQGNjI1FRUZSVlXm4KvFGP//5z1m6dCkPPvjgRfdl03ONO06hrZuqra0l\nNTWV/v37u0fbDMPgZz/7mYcrExEz69OnD2fPnmXYsGE8//zzBAQEYLfbPV2WeKGlS5cCsGnTJg9X\n0n3onLZu6vDhw+6fXS4Xf/3rXykoKGDlypUerEpEzGrZsmU88sgjhIWFuds++eQTamtrufnmm/H1\n9fVgdeLNTpw4QUhICL6+vhw6dIjPP/+cMWPGEBAQ4OnSTEfPIOmmBg0ahJ+fH/v27SMzM5NDhw4x\nYcIET5clIiaVlJTE888/z9atW91X/g0ZMoRbb71VgU2+0YoVK7BYLJw4cYJXXnmFyspK1q5d6+my\nTEnTo91MaWkp+fn55OfnExgYSEJCAi6XS1eNikinjBw5kri4OLZs2cLixYsZPXr0RVemf/1Ec5Gv\ns1gsWK1W9uzZw6RJk7jjjjt0qk4HKbR1M/Pnz+emm25i0aJFREREABeu9hIR6SwfHx969epFQ0MD\n586d00O/pU2sVisffvghO3fudD9K8euPV5S2U2jrZn76059SUFDAc889x9ChQxk1ahQ6bVFEOquo\nqIjXXnuN+Ph4XnzxRXr27OnpksQk5s2bx//93/9x9913ExYWRnl5OaNHj/Z0WaakCxG6qXPnzrF3\n714+/PBDDh06RGJiIrfccose8iwiHfLss88ye/ZsoqKiPF2KmFhNTQ2VlZXccMMNni7FlBTargE1\nNTXs3r2bgoICnn32WU+XIyIi15AlS5bws5/9jObmZhYuXEhQUBDf/e53eeihhzxdmuloevQaYLPZ\nSE5OJjk52dOliIjINaa2thZ/f3+2b9/OmDFjmDFjBk899ZSnyzIl3fJDRERErpimpiaqqqrYtWsX\nN998s6fLMTWFNhEREblipk+fzvPPP09ERAT9+/fn5MmT7rsbSPvonDYRERERE9A5bSIiItLl/vjH\nP/KDH/yAV1999ZLLH3744atckfkptImIiEiXu+666wCIjo72cCXdh6ZHRURERExAI20iIiLS5V58\n8cVvXP7VI62k7RTaREREpMsVFxcTGhrKqFGj6N+/v6fL6RY0PSoiIiJdrrm5mb/85S98+OGH/OMf\n/+Dmm29m1KhRehRaJyi0iYiIyBXV0NBAfn4+v/nNb7jnnnuYNGmSp0syJU2PioiIyBXR0NDA/v37\nyc/P59SpU9xxxx3ccsstni7LtDTSJiIiIl0uPT2dL774gri4OBISEujXr5+nSzI9hTYRERHpcj/6\n0Y/o2bMnAIZhuNtdLheGYfDaa695qjTTUmgTERERMQE9MF5ERETEBBTaRERERExAoU1ERETEBBTa\nROSa8NhjjzFr1izOnTvnbtu+fTtLlizxXFEiIu2g0CYi14zm5mbeffddT5chItIhurmuiFwzpk6d\nyh//+EcmTpxIQEDARcs2btzInj17qK2tJSIigpkzZzJw4EAA3njjDY4fP46Pjw979+6lb9++/PSn\nP+Wjjz7inXfewdfXl0cffZShQ4cCUFtby2uvvcbHH3+MYRiMHTuWGTNmYLHo38ki0nH6BhGRa0Z0\ndDSDBw/mrbfearHsxhtv5KWXXuLVV1/ltttuY+XKldTX17uX79u3j8TERDZu3Mh3vvMdnn/+eVwu\nFy+//DI//OEPeeWVV9zrZmRkYLVaWbt2LS+99BIHDhxg+/btV2UfRaT7UmgTkWvKjBkzeO+99zhz\n5sxF7YmJiQQGBmK1Wvn+979PY2MjpaWl7uU33XQTDocDq9XKiBEjOHPmDHfddRc+Pj6MGjWKU6dO\ncfbsWb788ks+/vhjZs6cSa9evQgKCmLKlCkUFBRc7V0VkW5G06Mick3p168fw4YNY9u2bVx33XXu\n9jfffJMdO3bgdDoxDIO6ujqqq6vdy4OCgtw/9+jRg969e7unO3v06AHAuXPnqKqqoqmpiTlz5rjX\nd7lchISEXOldE5FuTqFNRK45M2bMYOHChdx5550A/PWvf+XNN9/k2Wef5frrr8disZCSkkJHHhgT\nEhKCj48PGzZswGq1dnXpInIN0/SoiFxzIiIiGDlyJO+99x4AdXV1WK1WevfuTXNzM1u2bKG2trZD\n7x0cHMzQoUPZtGkTtbW1NDc3c+LECQ4fPtyVuyAi1yCNtInINWn69Ol88MEHADgcDoYOHcpPfvIT\nevbsyZQpUwgNDe3wez/++ONs3ryZJ598krq6OsLDw/nBD37QVaWLyDVKD4wXERERMQFNj4qIiIiY\ngEKbiIiIiAkotImIiIiYgEKbiIiIiAkotImIiIiYgEKbiIiIiAkotImIiIiYgEKbiIiIiAn8fz0d\nMpIAhoXKAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "river_df.plot(kind=\"bar\", x=\"Name\", y=\"Discharge\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Indexing the DataFrame\n", "\n", "When you're working with DataFrames, sometimes you want to *isolate* an individual row or column as a series. In other cases, you want to *construct a new DataFrame* based on a subset of rows or columns from the original DataFrame. Or, you might just want to get a single value at the intersection of a row and column. In other words, there are three different operations, which we can think about in terms of the types involved:\n", "\n", "* `DataFrame` → `Series` (i.e., get a column or row)\n", "* `DataFrame` → `DataFrame` (i.e., filter a DataFrame based on rows or columns that meet particular criteria)\n", "* `DataFrame` → single value (i.e., get a number, string, etc. from a particular row/column intersection)\n", "\n", "We'll talk about these one by one below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Getting rows and columns as Series objects\n", "\n", "Getting a Series from a column of a DataFrame is easy: just use the label of the column in square brackets after the DataFrame:" ] }, { "cell_type": "code", "execution_count": 301, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 6992\n", "1 6835\n", "2 6300\n", "3 6275\n", "Name: Length, dtype: int64" ] }, "execution_count": 301, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[\"Length\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the resulting series, you can do any of the statistical operations discussed earlier for Series:" ] }, { "cell_type": "code", "execution_count": 302, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6992" ] }, "execution_count": 302, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[\"Length\"].max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can even plot the series, though it's not terribly useful because we're missing the names of the rivers:" ] }, { "cell_type": "code", "execution_count": 469, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 469, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "river_df[\"Length\"].plot(kind=\"bar\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Getting an individual row as a series is also possible. Just use the `.iloc[]` attribute with the numerical index of the row inside the brackets:" ] }, { "cell_type": "code", "execution_count": 471, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Name Yangtze\n", "Length 6300\n", "Drainage area 1800000\n", "Discharge 31900\n", "Name: 2, dtype: object" ] }, "execution_count": 471, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df.iloc[2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Making new DataFrames from existing DataFrames\n", "\n", "You can use the indexing syntax to give you a *new* DataFrame that includes only particular columns and rows from the original DataFrame. If you wanted a new DataFrame that only includes particular columns, then pass a *list* of the columns you want inside the square bracket indexing syntax:" ] }, { "cell_type": "code", "execution_count": 472, "metadata": {}, "outputs": [], "source": [ "name_length_df = river_df[[\"Name\", \"Length\"]]" ] }, { "cell_type": "code", "execution_count": 473, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pandas.core.frame.DataFrame" ] }, "execution_count": 473, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(name_length_df)" ] }, { "cell_type": "code", "execution_count": 474, "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", "
NameLength
0Amazon6992
1Nile6835
2Yangtze6300
3Mississippi6275
\n", "
" ], "text/plain": [ " Name Length\n", "0 Amazon 6992\n", "1 Nile 6835\n", "2 Yangtze 6300\n", "3 Mississippi 6275" ] }, "execution_count": 474, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name_length_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Weirdly, you can use this syntax to get a new DataFrame with just a single column, which is *different* from a Series object:" ] }, { "cell_type": "code", "execution_count": 311, "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", "
Name
0Amazon
1Nile
2Yangtze
3Mississippi
\n", "
" ], "text/plain": [ " Name\n", "0 Amazon\n", "1 Nile\n", "2 Yangtze\n", "3 Mississippi" ] }, "execution_count": 311, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[[\"Name\"]]" ] }, { "cell_type": "code", "execution_count": 313, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 Amazon\n", "1 Nile\n", "2 Yangtze\n", "3 Mississippi\n", "Name: Name, dtype: object" ] }, "execution_count": 313, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[\"Name\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get a new DataFrame with just a subset of rows from the original DataFrame, you can use slice syntax with either row labels or numbers. So to get rows 2 through 4:" ] }, { "cell_type": "code", "execution_count": 475, "metadata": {}, "outputs": [], "source": [ "a_few_rivers_df = river_df[1:3]" ] }, { "cell_type": "code", "execution_count": 476, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "pandas.core.frame.DataFrame" ] }, "execution_count": 476, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(a_few_rivers_df)" ] }, { "cell_type": "code", "execution_count": 477, "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", "
NameLengthDrainage areaDischarge
1Nile683532545552800
2Yangtze6300180000031900
\n", "
" ], "text/plain": [ " Name Length Drainage area Discharge\n", "1 Nile 6835 3254555 2800\n", "2 Yangtze 6300 1800000 31900" ] }, "execution_count": 477, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a_few_rivers_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Selecting rows with Boolean operators\n", "\n", "Just as with Series values, you can use a list of Boolean (i.e., `True` or `False`) values to select particular rows from a DataFrame:" ] }, { "cell_type": "code", "execution_count": 478, "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", "
NameLengthDrainage areaDischarge
0Amazon69927050000209000
3Mississippi6275298000016200
\n", "
" ], "text/plain": [ " Name Length Drainage area Discharge\n", "0 Amazon 6992 7050000 209000\n", "3 Mississippi 6275 2980000 16200" ] }, "execution_count": 478, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[ [True, False, False, True] ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can get a list of Boolean values for any column of a DataFrame (as a Series) using the the square brackets to get the column and then a comparison operator:" ] }, { "cell_type": "code", "execution_count": 479, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 True\n", "1 False\n", "2 True\n", "3 False\n", "Name: Discharge, dtype: bool" ] }, "execution_count": 479, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[\"Discharge\"] > 30000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Combine the two, and you can write an expression that creates a new DataFrame with only the rows from the original DataFrame that match a particular criterion:" ] }, { "cell_type": "code", "execution_count": 480, "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", "
NameLengthDrainage areaDischarge
0Amazon69927050000209000
2Yangtze6300180000031900
\n", "
" ], "text/plain": [ " Name Length Drainage area Discharge\n", "0 Amazon 6992 7050000 209000\n", "2 Yangtze 6300 1800000 31900" ] }, "execution_count": 480, "metadata": {}, "output_type": "execute_result" } ], "source": [ "river_df[river_df[\"Discharge\"] > 30000]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Working with real data\n", "\n", "Okay, enough playtime, let's work with some real data! Let's load up this [Beijing PM2.5 data set](https://archive.ics.uci.edu/ml/datasets/Beijing+PM2.5+Data). [Download the CSV file using this link](https://archive.ics.uci.edu/ml/machine-learning-databases/00381/PRSA_data_2010.1.1-2014.12.31.csv) and save it in the same folder as your Jupyter Notebook. The data describes several years of hourly weather and pollution readings in Beijing. The people who produced the data also wrote a paper on it:\n", "\n", "> [Liang, X., Zou, T., Guo, B., Li, S., Zhang, H., Zhang, S., Huang, H. and Chen, S. X. (2015). Assessing Beijing's PM2.5 pollution: severity, weather impact, APEC and winter heating. Proceedings of the Royal Society A, 471, 20150257.](http://www.stat-center.pku.edu.cn/Stat/Uploads/Files/[20160114_1120]Beijing%20Air-Quality%20Assessment%20Report.pdf).\n", " \n", "The paper has some technical content, but overall it's very readable and giving it a skim will help you understand the data a bit better.\n", "\n", "Pandas makes it *very* easy to use data in CSV format. Just use the `read_csv()` function and pass it the filename of your data:" ] }, { "cell_type": "code", "execution_count": 481, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df = pd.read_csv(\"./PRSA_data_2010.1.1-2014.12.31.csv\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pandas does a good job of guessing the correct data types for the values in the CSV file. (If Pandas gets it wrong, though, don't lose hope: [here's a good overview of strategies you can use to clean it up](https://github.com/KarrieK/pandas_data_cleaning).)\n", "\n", "Let's take a look at the DataFrame we ended up with:" ] }, { "cell_type": "code", "execution_count": 482, "metadata": { "scrolled": true }, "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", " \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", " \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", " \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", " \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", " \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", "
Noyearmonthdayhourpm2.5DEWPTEMPPREScbwdIwsIsIr
012010110NaN-21-11.01021.0NW1.7900
122010111NaN-21-12.01020.0NW4.9200
232010112NaN-21-11.01019.0NW6.7100
342010113NaN-21-14.01019.0NW9.8400
452010114NaN-20-12.01018.0NW12.9700
562010115NaN-19-10.01017.0NW16.1000
672010116NaN-19-9.01017.0NW19.2300
782010117NaN-19-9.01017.0NW21.0200
892010118NaN-19-9.01017.0NW24.1500
9102010119NaN-20-8.01017.0NW27.2800
101120101110NaN-19-7.01017.0NW31.3000
111220101111NaN-18-5.01017.0NW34.4300
..........................................
4381243813201412311217.0-220.01033.0NW177.4400
4381343814201412311311.0-270.01032.0NW186.3800
438144381520141231149.0-271.01032.0NW196.2100
4381543816201412311511.0-261.01032.0NW205.1500
438164381720141231168.0-230.01032.0NW214.0900
438174381820141231179.0-22-1.01033.0NW221.2400
4381843819201412311810.0-22-2.01033.0NW226.1600
438194382020141231198.0-23-2.01034.0NW231.9700
4382043821201412312010.0-22-3.01034.0NW237.7800
4382143822201412312110.0-22-3.01034.0NW242.7000
438224382320141231228.0-22-4.01034.0NW246.7200
4382343824201412312312.0-21-3.01034.0NW249.8500
\n", "

43824 rows × 13 columns

\n", "
" ], "text/plain": [ " No year month day hour pm2.5 DEWP TEMP PRES cbwd Iws \\\n", "0 1 2010 1 1 0 NaN -21 -11.0 1021.0 NW 1.79 \n", "1 2 2010 1 1 1 NaN -21 -12.0 1020.0 NW 4.92 \n", "2 3 2010 1 1 2 NaN -21 -11.0 1019.0 NW 6.71 \n", "3 4 2010 1 1 3 NaN -21 -14.0 1019.0 NW 9.84 \n", "4 5 2010 1 1 4 NaN -20 -12.0 1018.0 NW 12.97 \n", "5 6 2010 1 1 5 NaN -19 -10.0 1017.0 NW 16.10 \n", "6 7 2010 1 1 6 NaN -19 -9.0 1017.0 NW 19.23 \n", "7 8 2010 1 1 7 NaN -19 -9.0 1017.0 NW 21.02 \n", "8 9 2010 1 1 8 NaN -19 -9.0 1017.0 NW 24.15 \n", "9 10 2010 1 1 9 NaN -20 -8.0 1017.0 NW 27.28 \n", "10 11 2010 1 1 10 NaN -19 -7.0 1017.0 NW 31.30 \n", "11 12 2010 1 1 11 NaN -18 -5.0 1017.0 NW 34.43 \n", "... ... ... ... ... ... ... ... ... ... ... ... \n", "43812 43813 2014 12 31 12 17.0 -22 0.0 1033.0 NW 177.44 \n", "43813 43814 2014 12 31 13 11.0 -27 0.0 1032.0 NW 186.38 \n", "43814 43815 2014 12 31 14 9.0 -27 1.0 1032.0 NW 196.21 \n", "43815 43816 2014 12 31 15 11.0 -26 1.0 1032.0 NW 205.15 \n", "43816 43817 2014 12 31 16 8.0 -23 0.0 1032.0 NW 214.09 \n", "43817 43818 2014 12 31 17 9.0 -22 -1.0 1033.0 NW 221.24 \n", "43818 43819 2014 12 31 18 10.0 -22 -2.0 1033.0 NW 226.16 \n", "43819 43820 2014 12 31 19 8.0 -23 -2.0 1034.0 NW 231.97 \n", "43820 43821 2014 12 31 20 10.0 -22 -3.0 1034.0 NW 237.78 \n", "43821 43822 2014 12 31 21 10.0 -22 -3.0 1034.0 NW 242.70 \n", "43822 43823 2014 12 31 22 8.0 -22 -4.0 1034.0 NW 246.72 \n", "43823 43824 2014 12 31 23 12.0 -21 -3.0 1034.0 NW 249.85 \n", "\n", " Is Ir \n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "5 0 0 \n", "6 0 0 \n", "7 0 0 \n", "8 0 0 \n", "9 0 0 \n", "10 0 0 \n", "11 0 0 \n", "... .. .. \n", "43812 0 0 \n", "43813 0 0 \n", "43814 0 0 \n", "43815 0 0 \n", "43816 0 0 \n", "43817 0 0 \n", "43818 0 0 \n", "43819 0 0 \n", "43820 0 0 \n", "43821 0 0 \n", "43822 0 0 \n", "43823 0 0 \n", "\n", "[43824 rows x 13 columns]" ] }, "execution_count": 482, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can see that because there are so many rows in this DataFrame (43,824!), Pandas shows only a subset. But it's enough for us to get an idea of what the DataFrame looks like.\n", "\n", "The `.info()` method shows us the rows and their data types:" ] }, { "cell_type": "code", "execution_count": 484, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 43824 entries, 0 to 43823\n", "Data columns (total 13 columns):\n", "No 43824 non-null int64\n", "year 43824 non-null int64\n", "month 43824 non-null int64\n", "day 43824 non-null int64\n", "hour 43824 non-null int64\n", "pm2.5 41757 non-null float64\n", "DEWP 43824 non-null int64\n", "TEMP 43824 non-null float64\n", "PRES 43824 non-null float64\n", "cbwd 43824 non-null object\n", "Iws 43824 non-null float64\n", "Is 43824 non-null int64\n", "Ir 43824 non-null int64\n", "dtypes: float64(4), int64(8), object(1)\n", "memory usage: 4.3+ MB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `int64`, `float64`, etc. data types are specific to Pandas, and are not the same thing as their regular Python equivalent. (Actually, they're specific to [Numpy](http://www.numpy.org/), but that's a different story.)\n", "\n", "Of course, Pandas can't tell us what the data in these columns *mean*. For that, we need to consult the documentation that accompanies the data. Copying and pasting from the web page linked to above, here are the meanings for each field:\n", "\n", "* No: row number\n", "* year: year of data in this row\n", "* month: month of data in this row\n", "* day: day of data in this row\n", "* hour: hour of data in this row\n", "* pm2.5: PM2.5 concentration (ug/m^3)\n", "* DEWP: Dew Point (deg C)\n", "* TEMP: Temperature (deg C)\n", "* PRES: Pressure (hPa)\n", "* cbwd: Combined wind direction\n", "* Iws: Cumulated wind speed (m/s)\n", "* Is: Cumulated hours of snow\n", "* Ir: Cumulated hours of rain\n", "\n", "> Note that these aren't *universal* names for these fields. You can't expect to download a different data set from another set of researchers that records similar phenomena and expect that file to use (e.g.) `TEMP` as the column name for temperature.\n", "\n", "As with Series in general, we can grab one of these columns and use `.describe()` to get a general overview of what data it contains:" ] }, { "cell_type": "code", "execution_count": 487, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 41757.000000\n", "mean 98.613215\n", "std 92.050387\n", "min 0.000000\n", "25% 29.000000\n", "50% 72.000000\n", "75% 137.000000\n", "max 994.000000\n", "Name: pm2.5, dtype: float64" ] }, "execution_count": 487, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"pm2.5\"].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tells us, e.g., that the \"average\" level of PM2.5 concentration in Beijing over the four-year period of the data was 98.6, with half of days being over 72 and half under. The highest PM2.5 recorded in the data was 994." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at the plot for the `pm2.5` column, you can kind of make out yearly cycles in PM2.5 concentration:" ] }, { "cell_type": "code", "execution_count": 488, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 488, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(y=\"pm2.5\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can do the same analysis with the other fields. For example, here's a plot of temperature readings for each hour:" ] }, { "cell_type": "code", "execution_count": 490, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 490, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRJH9A+zPEoiCQx7gAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(y=\"TEMP\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting these two together shows an interesting pattern, maybe:" ] }, { "cell_type": "code", "execution_count": 501, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 501, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(y=[\"pm2.5\", \"TEMP\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like when temperature dips, pm2.5 spikes! (There are various statistical ways to confirm this suspicion, but for now we're going to stick with drawing the graphs.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Histograms\n", "\n", "A histogram is a kind of plot that helps you understand how data are *distributed*. Understanding distribution helps you better reason about how often particular values are found in your data, and helps you easily formulate hypotheses about the phenomena your data is tracking. Let's look at a histogram of temperature data in our Beijing data set, using the `hist` plot kind:" ] }, { "cell_type": "code", "execution_count": 496, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 496, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"hist\", y=\"TEMP\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each bar in this graph corresponds to a \"bin\" of values surrounding the value on the X axis. When drawing a histogram, Pandas looks at each item in the data and puts it in the bin corresponding to the closest value. So for example, the graph above tells us that there are a lot of temperature readings (~8000) around 20 degrees C, but very few (less than 300) readings around 40 degrees C. You can increase the \"resolution\" of the histogram by providing a `bins` named parameter:" ] }, { "cell_type": "code", "execution_count": 515, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 515, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"hist\", y=\"TEMP\", bins=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this graph, we might hypothesize that a way to characterize Beijing temperatures is that they mostly cluster in either the 20—30 degrees C range, or the -5 to +5 degrees C range. Temperatures above 40 degrees C or below -20 degrees C are rare. The histogram for temperatures looks very different from the histogram for PM2.5:" ] }, { "cell_type": "code", "execution_count": 502, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 502, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n1157Lfv37wfgwIEDXHXVVTFbCRQRERExk4jD3VNPPTUtyMGZVbUf/vCHn7nvzp07+c53vkN/fz/r\n16+ntbWVVatW8e6777J582a6urpYtWoVAHl5eSxbtoytW7eyY8cO1qxZg91+Zphr167lmWeeYfPm\nzVx66aUUFxcDsGLFCsbGxti0aRNvvPEG3/jGNyL+AURERESsxGZEeFvpvffey759+yJuv1D09/dH\n9fixeC1YrFjt9WM6nWFOqos5qS7mpLqY0wVzWjYtLY3BwcFpbYODg3/x2jYRERERib2Ib6j4yle+\nQnV1NV/72te49NJLGRwc5OWXX2bFihXRHJ+IiIiInIeIw92qVatISEjgxRdfDN+ZumLFClauXBnN\n8YmIiIjIeYg43Nntdm6//XZuv90615CJiIiIWM15vaGiv7+f3/3ud2e9ZkynZkVERETMIeJw9+qr\nr/LKK6/wxS9+kblz5077TuFORERExBwiDnefvjv2i1/8YjTHIyIiIiKfQ8SPQpkzZ855vYFCRERE\nRGIv4nD393//9zz33HMEAgFCodC0PyIiIiJiDhGflm1oaADgV7/61Vnfvfzyy7M3IhERERGZsYjD\n3e7du6M5DhERERGZBRGHu6ysLABCoRAjIyM4nc6oDUpEREREZibicPfJJ5/w7LPPcuDAgfCbKg4e\nPEhPTw9f+9rXojlGEREREYlQxDdUNDY2kpycTENDAwkJZzJhYWEhHR0dURuciIiIiJyfiFfuurq6\neOaZZ8LBDiAtLY2RkZGoDExEREREzl/EK3fJycmMjo5OaxseHta1dyIiIiImEnG4u+GGG6iurubw\n4cMYhkF3dzf19fXceOON0RyfiIiIiJyHiE/L3nHHHcyZM4e9e/cyNTXF008/jcfj4ZZbbonm+ERE\nRETkPEQc7mw2G7fccsush7k33niD1tZWbDYbeXl5bNiwgWAwSG1tLSdOnCArK4stW7aQkpICQFNT\nE62trdjtdioqKigqKgKgt7eX+vp6gsEgxcXFVFRUYLPZZnWsIiIiImYXcbg7fPjwX/zu6quvnlHn\nfr+fX/ziF9TW1jJnzhxqamro6Oigr6+PRYsWsWrVKpqbm2lubmb16tX09fXR0dFBTU0NgUCAJ554\ngh/96EfY7XYaGxtZt24dBQUFPPnkk3R2dlJcXDyjcYmIiIhcqCIOd08//fS0z3/84x+ZnJzE7XZ/\n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\nqKurY+XKlQQCAQYGBsjPz8dut5OUlER3dzcFBQW0t7dz8803z2hMIiIiIheyzwx39fX1UR3A/fff\nT11dHZOTk2RnZ7NhwwYMw6C2tpbW1tbwo1AA8vLyWLZsGVu3bsVut7NmzRrs9jP3hKxdu5aGhgaC\nwSBFRUW6U1ZEREQuSjbjIn/tRH9/f1SPH6tXdllJrF4/ptMZ5qS6mJPqYk6qiznF+7RsxG+oEBER\nERHzU7gTERERsRCFOxERERELUbgTERERsRCFOxERERELUbgTERERsRCFOxERERELUbgTERERsRCF\nOxERERELUbgTERERsRCFOxERERELUbgTERERsRCFOxERERELUbgTERERsRCFOxERERELUbgTERER\nsRCFOxERERELSYj3AABCoRDbtm3D5XKxbds2xsbGqK2t5cSJE2RlZbFlyxZSUlIAaGpqorW1Fbvd\nTkVFBUVFRQD09vZSX19PMBikuLiYiooKbDZbPKclIiIiEnOmWLl78803mT9/fvhzc3MzixYtoq6u\njkWLFtHc3AxAX18fHR0d1NTUsH37dvbu3UsoFAKgsbGRdevWUVdXx+DgIJ2dnXGZi4iIiEg8xT3c\n+Xw+Dh06xA033BBu83q9lJeXA1BeXo7X6w23l5aWkpiYSHZ2Njk5OfT09BAIBBgfH6ewsBCbzUZZ\nWVl4HxEREZGLSdzD3QsvvMDq1aunnUIdGRnB6XQCkJGRwcjICAB+vx+32x3ezuVy4ff7z2p3u934\n/f4YzUBERETEPOJ6zd0777xDeno6CxYs4L333jvnNjabbVavnWtpaaGlpQWAqqoqMjMzZ+3Y53I8\nqke3pmjX5FMJCQkx60sip7qYk+piTqqLOcW7LnENdx988AEHDx7kN7/5DcFgkPHxcerq6khPTycQ\nCOB0OgkEAqSlpQFnVup8Pl94f7/fj8vlOqvd5/PhcrnO2afH48Hj8YQ/Dw8PR2l2MlOxqklmZqbq\nb0KqizmpLuakuphTtOqSm5sb0XZxPS179913s2fPHurr66msrOTqq69m8+bNlJSU0NbWBkBbWxtL\nliwBoKSkhI6ODiYmJhgaGmJgYID8/HycTidJSUl0d3djGAbt7e2UlJTEc2oiIiIicWGKR6H8uVWr\nVlFbW0tra2v4USgAeXl5LFu2jK1bt2K321mzZg12+5l8unbtWhoaGggGgxQVFVFcXBzPKcjnMPXA\n7VHvw9H4WtT7EBERiQebYRhGvAcRT/39/VE9fiyCipw/R+NrOp1hUqqLOaku5qS6mNNFfVpWRERE\nRGaXwp3Dm38xAAAKQklEQVSIiIiIhSjciYiIiFiIwp2IiIiIhSjciYiIiFiIwp2IiIiIhSjciYiI\niFiIwp2IiIiIhSjciYiIiFiIwp2IiIiIhSjciYiIiFiIwp2IiIiIhSjciYiIiFiIwp2IiIiIhSjc\niYiIiFiIwp2IiIiIhSjciYiIiFiIwp2IiIiIhSTEs/Ph4WHq6+v5+OOPsdlseDwebrnlFsbGxqit\nreXEiRNkZWWxZcsWUlJSAGhqaqK1tRW73U5FRQVFRUUA9Pb2Ul9fTzAYpLi4mIqKCmw2WzynJyY2\n9cDtHI9yH47G16Lcg4iIyNniunLncDi45557qK2tZceOHfzyl7+kr6+P5uZmFi1aRF1dHYsWLaK5\nuRmAvr4+Ojo6qKmpYfv27ezdu5dQKARAY2Mj69ato66ujsHBQTo7O+M5NREREZG4iGu4czqdLFiw\nAICkpCTmz5+P3+/H6/VSXl4OQHl5OV6vFwCv10tpaSmJiYlkZ2eTk5NDT08PgUCA8fFxCgsLsdls\nlJWVhfcRERERuZjE9bTsnxoaGuKjjz4iPz+fkZERnE4nABkZGYyMjADg9/spKCgI7+NyufD7/Tgc\nDtxud7jd7Xbj9/vP2U9LSwstLS0AVFVVkZmZGa0pAUT91J+YV7T/bllVQkKCfjsTUl3MSXUxp3jX\nxRTh7tSpU1RXV3PfffeRnJw87TubzTar1855PB48Hk/48/Dw8KwdW+RP6e/WzGRmZuq3MyHVxZxU\nF3OKVl1yc3Mj2i7ud8tOTk5SXV3N9ddfz3XXXQdAeno6gUAAgEAgQFpaGnBmpc7n84X39fv9uFyu\ns9p9Ph8ulyuGsxARERExh7iGO8Mw2LNnD/Pnz2flypXh9pKSEtra2gBoa2tjyZIl4faOjg4mJiYY\nGhpiYGCA/Px8nE4nSUlJdHd3YxgG7e3tlJSUxGVOIiIiIvEU19OyH3zwAe3t7Vx++eU88sgjAHz9\n619n1apV1NbW0traGn4UCkBeXh7Lli1j69at2O121qxZg91+Jp+uXbuWhoYGgsEgRUVFFBcXx21e\nIiIiIvFiMwzDiPcg4qm/vz+qx5964PaoHl/MS8+5mxldQ2ROqos5qS7mdNFfcyciIiIis0fhTkRE\nRMRCFO5ERERELMQUz7kTsaJYXW+pa/tERORPaeVORERExEIU7kREREQsROFORERExEIU7kREREQs\nROFORERExEIU7kREREQsROFORERExEL0nDuRC1wsnqenZ+mJiFw4tHInIiIiYiEKdyIiIiIWonAn\nIiIiYiG65k5EPpOu6xMRuXBo5U5ERETEQiy1ctfZ2cnzzz9PKBTihhtuYNWqVfEekohE6NPVweNR\n7kcrhCJidZZZuQuFQuzdu5fHHnuM2tpa/uu//ou+vr54D0tEREQkpiyzctfT00NOTg6XXnopAKWl\npXi9Xi677LI4j0xEzETXD4qI1Vkm3Pn9ftxud/iz2+3mww8/jOOIRORiFYsAGSsKqiIXHsuEu0i1\ntLTQ0tICQFVVFbm5udHt8OcHo3t8EZEYifq/lzIjqos5xbMulrnmzuVy4fP5wp99Ph8ul+us7Twe\nD1VVVVRVVcVkXNu2bYtJP3L+VBtzUl3MSXUxJ9XFnOJdF8uEu4ULFzIwMMDQ0BCTk5N0dHRQUlIS\n72GJiIiIxJRlTss6HA7uv/9+duzYQSgU4itf+Qp5eXnxHpaIiIhITFkm3AFcc801XHPNNfEexjQe\njyfeQ5C/QLUxJ9XFnFQXc1JdzCnedbEZhmHEdQQiIiIiMmssc82diIiIiFjstKzZ6HVo8TM8PEx9\nfT0ff/wxNpsNj8fDLbfcwtjYGLW1tZw4cYKsrCy2bNlCSkoKAE1NTbS2tmK326moqKCoqCjOs7Cm\nUCjEtm3bcLlcbNu2TTUxiU8++YQ9e/Zw7NgxbDYbDz74ILm5uapNnL3xxhu0trZis9nIy8tjw4YN\nBINB1SXGGhoaOHToEOnp6VRXVwPM6N+u3t5e6uvrCQaDFBcXU1FRgc1mm/0BGxIVU1NTxsaNG43B\nwUFjYmLCePjhh41jx47Fe1gXDb/fbxw9etQwDMM4efKksXnzZuPYsWPGiy++aDQ1NRmGYRhNTU3G\niy++aBiGYRw7dsx4+OGHjWAwaBw/ftzYuHGjMTU1FbfxW9nrr79u7Ny503jyyScNwzBUE5PYtWuX\n0dLSYhiGYUxMTBhjY2OqTZz5fD5jw4YNxunTpw3DMIzq6mrj17/+teoSB++9955x9OhRY+vWreG2\nmdRh27ZtxgcffGCEQiFjx44dxqFDh6IyXp2WjZI/fR1aQkJC+HVoEhtOp5MFCxYAkJSUxPz58/H7\n/Xi9XsrLywEoLy8P18Tr9VJaWkpiYiLZ2dnk5OTQ09MTt/Fblc/n49ChQ9xwww3hNtUk/k6ePMlv\nf/tbVqxYAUBCQgLz5s1TbUwgFAoRDAaZmpoiGAzidDpVlzi48sorw6tynzrfOgQCAcbHxyksLMRm\ns1FWVha1XKDTslGi16GZx9DQEB999BH5+fmMjIzgdDoByMjIYGRkBDhTr4KCgvA+LpcLv98fl/Fa\n2QsvvMDq1asZHx8Pt6km8Tc0NERaWhoNDQ38/ve/Z8GCBdx3332qTZy5XC5uu+02HnzwQebMmcPi\nxYtZvHix6mIS51sHh8NxVi6IVn20cieWdurUKaqrq7nvvvtITk6e9p3NZovOtQ5yTu+88w7p6enh\nFdVzUU3iY2pqio8++oibbrqJf/3Xf2Xu3Lk0NzdP20a1ib2xsTG8Xi/19fU888wznDp1ivb29mnb\nqC7mYLY6aOUuSiJ9HZpEz+TkJNXV1Vx//fVcd911AKSnpxMIBHA6nQQCAdLS0oCz6+X3+1WvWfbB\nBx9w8OBBfvOb3xAMBhkfH6eurk41MQG3243b7Q6vNixdupTm5mbVJs66urrIzs4O/+7XXXcd3d3d\nqotJnG8dYpkLtHIXJXodWnwZhsGePXuYP38+K1euDLeXlJTQ1tYGQFtbG0uWLAm3d3R0MDExwdDQ\nEAMDA+Tn58dl7FZ19913s2fPHurr66msrOTqq69m8+bNqokJZGRk4Ha76e/vB86Eissuu0y1ibPM\nzEw+/PBDTp8+jWEYdHV1MX/+fNXFJM63Dk6nk6SkJLq7uzEMg/b29qjlAj3EOIoOHTrEvn37wq9D\nu/POO+M9pIvG+++/zz//8z9z+eWXh5fKv/71r1NQUEBtbS3Dw8Nn3br+6quv8utf/xq73c59991H\ncXFxPKdgae+99x6vv/4627ZtY3R0VDUxgd/97nfs2bOHyclJsrOz2bBhA4ZhqDZx9m//9m90dHTg\ncDi44oorWL9+PadOnVJdYmznzp0cOXKE0dFR0tPTueuuu1iyZMl51+Ho0aM0NDQQDAYpKiri/vvv\nj8rpXIU7EREREQvRaVkRERERC1G4ExEREbEQhTsRERERC1G4ExEREbEQhTsRERERC1G4ExEREbEQ\nhTsRERERC1G4ExEREbGQ/wezvFcx/jOkIQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"hist\", y=\"pm2.5\", bins=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This histogram shows that while there are a number of outliers, by far most of the PM2.5 readings are in the 0–200 range." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scatter plots\n", "\n", "A scatter plot is an easy way to confirm your suspicion that two columns in your data set are somehow related. In a scatter plot, you select two columns, and every row in the data set becomes a point in a two-dimensional space, based on the value of those two columns in the row. You need to specify both columns using the `x` and `y` named parameters. So, for example, here's a scatter plot with temperature and dew point:" ] }, { "cell_type": "code", "execution_count": 528, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 528, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"scatter\", x=\"DEWP\", y=\"TEMP\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each dot in this scatterplot represents a row from the DataFrame. (Sometimes these dots are so dense that they appear to form solid masses or lines.) This scatter plot shows that as the temperature rises, so does the dew point ([as you might expect from the definition of dew point](https://en.wikipedia.org/wiki/Dew_point)). One way to talk about this relationship is to say that the values in these two columns are *correlated*.\n", "\n", "However, drawing a scatter plot of PM2.5 concentration with the cumulative wind speed shows an inverse relationship:" ] }, { "cell_type": "code", "execution_count": 539, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 539, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"scatter\", x=\"pm2.5\", y=\"Iws\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You might interpret this graph as an indication that in general, as the wind speed goes up, the PM2.5 concentration falls. (This is intuitively true, and the authors of the paper go into a bit more detail about this effect in particular.) A scatter plot of PM2.5 and dew point also shows a correlation:" ] }, { "cell_type": "code", "execution_count": 542, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 542, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot(kind=\"scatter\", x=\"DEWP\", y=\"pm2.5\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, this is a Pandas tutorial, not a statistics tutorial, so take these characterizations with a grain of salt. My goal here is to show you how histograms and scatter plots are good starting points for getting a \"feel\" for your data and how the variables might be related." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Answering questions with selection\n", "\n", "Let's say we wanted to find out how many readings in the data had a PM2.5 concentration of greater than 500. One easy way to do this is to use Boolean indexing, as discussed above. The following expression gives us a Boolean Series, with True values for every row with a PM2.5 greater than 400:" ] }, { "cell_type": "code", "execution_count": 557, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 False\n", "2 False\n", "3 False\n", "4 False\n", "5 False\n", "6 False\n", "7 False\n", "8 False\n", "9 False\n", "10 False\n", "11 False\n", " ... \n", "43812 False\n", "43813 False\n", "43814 False\n", "43815 False\n", "43816 False\n", "43817 False\n", "43818 False\n", "43819 False\n", "43820 False\n", "43821 False\n", "43822 False\n", "43823 False\n", "Name: pm2.5, Length: 43824, dtype: bool" ] }, "execution_count": 557, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"pm2.5\"] > 400" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then we can use that to subscript the DataFrame, giving us a new DataFrame with only the rows where the condition obtains:" ] }, { "cell_type": "code", "execution_count": 558, "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", " \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", " \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", " \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", " \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", " \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", "
Noyearmonthdayhourpm2.5DEWPTEMPPREScbwdIwsIsIr
41241320101184407.0-13-11.01028.0NW7.6000
427428201011819408.0-7-3.01025.0SE0.8900
428429201011820435.0-5-2.01026.0cv0.8900
429430201011821403.0-5-1.01026.0NW1.7900
431432201011823402.0-6-1.01026.0cv0.8900
450451201011918485.0-31.01018.0cv0.8900
451452201011919426.0-32.01020.0NW1.7900
452453201011920403.0-31.01020.0NW4.9200
1057105820102141980.0-14-7.01029.0cv0.8900
1059106020102143599.0-14-6.01030.0NW6.2600
1876187720103204700.026.01000.0NW4.9200
1879188020103207473.0-27.01002.0NW23.2500
..........................................
42210422112014102518440.01315.01011.0cv0.8900
42211422122014102519449.01213.01011.0SE0.8900
42212422132014102520472.01415.01012.0SE2.6800
42213422142014102521453.01213.01012.0cv0.8900
42214422152014102522413.01212.01013.0cv1.7800
42814428152014111922409.0-11.01020.0cv1.3400
42981429822014112621436.013.01020.0cv0.4500
42982429832014112622502.012.01020.0cv1.3400
42983429842014112623522.012.01020.0cv2.2300
4298442985201411270470.012.01021.0cv3.1200
4298542986201411271439.002.01022.0NW3.1300
4373143732201412283444.0-9-3.01023.0NW6.2600
\n", "

545 rows × 13 columns

\n", "
" ], "text/plain": [ " No year month day hour pm2.5 DEWP TEMP PRES cbwd Iws \\\n", "412 413 2010 1 18 4 407.0 -13 -11.0 1028.0 NW 7.60 \n", "427 428 2010 1 18 19 408.0 -7 -3.0 1025.0 SE 0.89 \n", "428 429 2010 1 18 20 435.0 -5 -2.0 1026.0 cv 0.89 \n", "429 430 2010 1 18 21 403.0 -5 -1.0 1026.0 NW 1.79 \n", "431 432 2010 1 18 23 402.0 -6 -1.0 1026.0 cv 0.89 \n", "450 451 2010 1 19 18 485.0 -3 1.0 1018.0 cv 0.89 \n", "451 452 2010 1 19 19 426.0 -3 2.0 1020.0 NW 1.79 \n", "452 453 2010 1 19 20 403.0 -3 1.0 1020.0 NW 4.92 \n", "1057 1058 2010 2 14 1 980.0 -14 -7.0 1029.0 cv 0.89 \n", "1059 1060 2010 2 14 3 599.0 -14 -6.0 1030.0 NW 6.26 \n", "1876 1877 2010 3 20 4 700.0 2 6.0 1000.0 NW 4.92 \n", "1879 1880 2010 3 20 7 473.0 -2 7.0 1002.0 NW 23.25 \n", "... ... ... ... ... ... ... ... ... ... ... ... \n", "42210 42211 2014 10 25 18 440.0 13 15.0 1011.0 cv 0.89 \n", "42211 42212 2014 10 25 19 449.0 12 13.0 1011.0 SE 0.89 \n", "42212 42213 2014 10 25 20 472.0 14 15.0 1012.0 SE 2.68 \n", "42213 42214 2014 10 25 21 453.0 12 13.0 1012.0 cv 0.89 \n", "42214 42215 2014 10 25 22 413.0 12 12.0 1013.0 cv 1.78 \n", "42814 42815 2014 11 19 22 409.0 -1 1.0 1020.0 cv 1.34 \n", "42981 42982 2014 11 26 21 436.0 1 3.0 1020.0 cv 0.45 \n", "42982 42983 2014 11 26 22 502.0 1 2.0 1020.0 cv 1.34 \n", "42983 42984 2014 11 26 23 522.0 1 2.0 1020.0 cv 2.23 \n", "42984 42985 2014 11 27 0 470.0 1 2.0 1021.0 cv 3.12 \n", "42985 42986 2014 11 27 1 439.0 0 2.0 1022.0 NW 3.13 \n", "43731 43732 2014 12 28 3 444.0 -9 -3.0 1023.0 NW 6.26 \n", "\n", " Is Ir \n", "412 0 0 \n", "427 0 0 \n", "428 0 0 \n", "429 0 0 \n", "431 0 0 \n", "450 0 0 \n", "451 0 0 \n", "452 0 0 \n", "1057 0 0 \n", "1059 0 0 \n", "1876 0 0 \n", "1879 0 0 \n", "... .. .. \n", "42210 0 0 \n", "42211 0 0 \n", "42212 0 0 \n", "42213 0 0 \n", "42214 0 0 \n", "42814 0 0 \n", "42981 0 0 \n", "42982 0 0 \n", "42983 0 0 \n", "42984 0 0 \n", "42985 0 0 \n", "43731 0 0 \n", "\n", "[545 rows x 13 columns]" ] }, "execution_count": 558, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"pm2.5\"] > 400]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pandas tells us that there are 545 such rows. With this limited DataFrame, we can still draw plots! So, for example, if we wanted to see a temperature histogram just for these days:" ] }, { "cell_type": "code", "execution_count": 564, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 564, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[df[\"pm2.5\"] > 400].plot(kind=\"hist\", y=\"TEMP\", bins=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comparing this distribution to the rows where PM2.5 is less than 400:" ] }, { "cell_type": "code", "execution_count": 566, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 566, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[df[\"pm2.5\"] < 400].plot(kind=\"hist\", y=\"TEMP\", bins=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can see that the two distributions are quite different, with the temperatures on days with high PM2.5 concentrations being lower on average." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Value counts and bar charts\n", "\n", "The `cbwd` indicates the prevailing wind direction, which the researchers have narrowed down to four distinct values: NE (northeast), NW (northwest), SE (southeast) and \"cv\" (\"calm or variable\"). They outline the reasons for recording the data this way in their paper. The values in this column, unlike the values in the other columns, consist of a discrete set, rather than continuous numbers. As such, Pandas will be confused if we ask for a plot:" ] }, { "cell_type": "code", "execution_count": 570, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "Empty 'DataFrame': no numeric data to plot", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"cbwd\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/Users/allison/anaconda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)\u001b[0m\n\u001b[1;32m 2444\u001b[0m \u001b[0mcolormap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolormap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2445\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2446\u001b[0;31m **kwds)\n\u001b[0m\u001b[1;32m 2447\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplot_series\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2448\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/allison/anaconda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36mplot_series\u001b[0;34m(data, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)\u001b[0m\n\u001b[1;32m 1886\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1887\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1888\u001b[0;31m **kwds)\n\u001b[0m\u001b[1;32m 1889\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1890\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/allison/anaconda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m_plot\u001b[0;34m(data, x, y, subplots, ax, kind, **kwds)\u001b[0m\n\u001b[1;32m 1680\u001b[0m \u001b[0mplot_obj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mklass\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubplots\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkind\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1681\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1682\u001b[0;31m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgenerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1683\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdraw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1684\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/allison/anaconda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36mgenerate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 234\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mgenerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 235\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_args_adjust\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 236\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compute_plot_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 237\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_setup_subplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 238\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/allison/anaconda/lib/python3.6/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m_compute_plot_data\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 343\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_empty\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 344\u001b[0m raise TypeError('Empty {0!r}: no numeric data to '\n\u001b[0;32m--> 345\u001b[0;31m 'plot'.format(numeric_data.__class__.__name__))\n\u001b[0m\u001b[1;32m 346\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 347\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumeric_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: Empty 'DataFrame': no numeric data to plot" ] } ], "source": [ "df[\"cbwd\"].plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The \"no numeric data to plot\" error is Pandas saying, \"hey you wanted me to draw a graph, but there are no numbers in this field, what gives.\" Probably the best way to visualize discrete values is by *counting them* and then drawing a bar graph. As discussed earlier, the `.value_counts()` method returns a Series that counts how many times each value occurs in a column:" ] }, { "cell_type": "code", "execution_count": 571, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SE 15290\n", "NW 14150\n", "cv 9387\n", "NE 4997\n", "Name: cbwd, dtype: int64" ] }, "execution_count": 571, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"cbwd\"].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting this data as a bar chart shows us how many times each of these discrete values were recorded:" ] }, { "cell_type": "code", "execution_count": 573, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 573, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmIAAAD8CAYAAADUpcj8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFHlJREFUeJzt3WtsVHX+x/HPXIoKpdB2KGxZiUpbjFSrK6y1icgukyUR\nFPRBjZcaMJEIGMRdG/pkd8nuGnEThCglGIwuVqMhhmoRvI0FvDSaQkPCRVuFumkWbJ22YAuW0vb3\nf0A62e6Mf3GY9tt23q9HzJnOme98lObD75w5x+OccwIAAMCQ81oPAAAAkKwoYgAAAEYoYgAAAEYo\nYgAAAEYoYgAAAEYoYgAAAEYoYgAAAEYoYgAAAEYoYgAAAEYoYgAAAEb81gNI0okTJ6xHGFYCgYDC\n4bD1GMMOuUQjk9jIJRqZxEYu0cgktv5csrOzE7pfVsQAAACMUMQAAACMUMQAAACMUMQAAACMUMQA\nAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMDIubfvc+cpf1CMNK\ns/UAw9RwycW3tcp6BADAKMGKGAAAgBGKGAAAgBGKGAAAgBGKGAAAgBGKGAAAgBGKGAAAgBGKGAAA\ngBGKGAAAgBGKGAAAgJFffGX94uJiLVy4UA899JAkqaqqSl1dXSouLtb27dv10UcfKS0tLfLza9eu\n1bhx4xI3MQAAwCjxi4tYSkqKvvjiCy1evHhA4eq3YMEC3XUXtywCAAD4Ob/40KTX61UwGNSuXbsG\nYx4AAICkEddNv+fPn6/S0lItWrQo6rldu3bpk08+kSSlpqbqr3/966VNCAAAMErFVcTGjh2rOXPm\naPfu3RozZsyA5y7m0GQoFFIoFJIkrVu3Lp4RADOBQMB6hAi/3z+s5hkuyCUamcRGLtHIJLbByiWu\nIiZdKFxr1qzR3Llzf/Frg8GggsFgvG8NmAqHw9YjRAQCgWE1z3BBLtHIJDZyiUYmsfXnkp2dndD9\nxn35itTUVN16662qrq5O5DwAAABJI+4VMUlauHCh3nvvvQHb/vscMUkqLS1VVlbWpbwNAADAqPSL\ni1hFRUXkzxMnTtSrr74aeVxcXKzi4uLETAYAADDKcWV9AAAAIxQxAAAAIxQxAAAAIxQxAAAAIxQx\nAAAAIxQxAAAAIxQxAAAAIxQxAAAAI5d0Zf1E8W2tsh5hWOE+X7GRCwBgtGFFDAAAwAhFDAAAwAhF\nDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAA\nwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhF\nDAAAwAhFDAAAwAhFDAAAwAhFDAAAwAhFDAAAwIjfegBJ6n3kLusRhpVm6wGGKXKJRiaxjfRcfFur\nrEcAMERYEQMAADBCEQMAADBCEQMAADBCEQMAADBCEQMAADBCEQMAADBCEQMAADBCEQMAADBCEQMA\nADBCEQMAADBCEQMAADBySfea3Ldvn3bu3CmPx6OsrCw1NjZq06ZN8nq96urq0hNPPKHnn39efv+w\nuKUlAADAsBJ3Q2pqatKOHTv097//XWlpaers7NTmzZt19OhR5efnq66uTgUFBZQwAACAnxB3Szp8\n+LAKCwuVlpYmSUpNTVVRUZFqamqUn5+vzz77TPPnz4/52lAopFAoJElat25dvCMAwKgUCAQSvk+/\n3z8o+x3pyCUamcQ2WLkkdLlq1qxZev3119XZ2anjx48rPz8/5s8Fg0EFg8FEvjUAjBrhcDjh+wwE\nAoOy35GOXKKRSWz9uWRnZyd0v3GfrJ+fn6/PP/9cHR0dkqTOzk5dfvnlmj59ul5++WXdfPPN8nr5\nLgAAAMBPibspXXnllbr77ru1du1alZaWatu2bZKkoqIiffLJJyoqKkrYkAAAAKPRJR2anDt3rubO\nnTtgW2FhobZv334puwUAAEgKHDsEAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhED\nAAAwQhEDAAAwktB7TcbLt7XKeoRhhft8xUYu0cgkNnIBMFKwIgYAAGCEIgYAAGCEIgYAAGCEIgYA\nAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCE\nIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYA\nAGCEIgYAAGCEIgYAAGCEIgYAAGCEIgYAAGDEbz2AJPU+cpf1CMNKs/UAwxS5RCOT2MglGpnERi7R\nYmXi21o15HMkC1bEAAAAjFDEAAAAjFDEAAAAjFDEAAAAjFDEAAAAjFDEAAAAjFDEAAAAjFDEAAAA\njFDEAAAAjPxsESsuLtYrr7wSeVxVVaXt27frzJkzevjhh+WckyQ1NDSouLhYra2tkqSzZ89q6dKl\n6uvrG6TRAQAARrafLWIpKSn64osv9MMPPwzYPm7cOKWnp+s///mPJKm+vl5XX3216uvrJV0oZjk5\nOfJ6WXQDAACI5WdbktfrVTAY1K5du6Key8vLixSv+vp6LViwQA0NDZIuFLEZM2YkeFwAAIDR46Ju\n+j1//nyVlpZq0aJFA7bPmDFDR48e1bx589TS0qLCwkJ9+OGHki4Us8WLF8fcXygUUigUkiStW7fu\nUuYHAACDLBAIWI9gzu/3D0oOF1XExo4dqzlz5mj37t0aM2ZMZPuMGTP01ltvqaWlRZMmTYo819XV\npePHjys3Nzfm/oLBoILBYALGBwAAgy0cDluPYC4QCCgcDis7Ozuh+73oE7gWLFigPXv26Ny5c5Ft\nv/rVr3TmzBnt379feXl5kqSrr75ae/bsUVZWli6//PKEDgsAADCaXHQRS01N1a233qrq6uoB23Nz\nc/Xuu+9GilheXp52797N+WEAAAA/4xd9pXHhwoXq6OgYsO3aa69VOBzW9OnTJV0oYs3NzZFiBgAA\ngNg8rv9CYIaaFsyyHgEAAPwE39Yq6xHMmZ8jBgAAgMSiiAEAABihiAEAABihiAEAABihiAEAABih\niAEAABihiAEAABihiAEAABi5qJt+DzYuFDdQ/0XjMBC5RCOT2MglGpnERi7RyGRosSIGAABghCIG\nAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABg\nhCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABghCIG\nAABghCIGAABghCIGAABghCIGAABghCIGAABghCIGAABgxG89gCT1PnKX9QjDSrP1AMMUuUQjk9jI\nJRqZxEYu0UZiJr6tVdYjxI0VMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAAACMUMQAA\nACMUMQAAACMUMQAAACNxX1l/x44d+vTTT+X1euXxeLRs2TK99tpram9v15gxYyRJU6ZM0Z/+9KeE\nDQsAADCaxFXEGhoadODAAT3zzDNKSUnRDz/8oJ6eHknSqlWrNH369IQOCQAAMBrFVcTa29s1fvx4\npaSkSJLS0tISOhQAAEAyiKuIFRQU6M0339Tjjz+u66+/XkVFRbruuuskSc8991zk0OQNN9ygkpKS\nxE0LAAAwiniccy6eF/b19enLL7/UkSNH9OGHH+qBBx7Q3r17VVJS8rOHJkOhkEKhkCRp3bp1alow\nK54RAAAANLmyZtDfw+/3q6enJ7LYlLD9xvtCr9ermTNnaubMmZo2bZr27t170a8NBoMKBoPxvjUA\nAEBEOBwe9PcIBAIKh8PKzs5O6H7junzFiRMndPLkycjjb7/9VpMmTUrYUAAAAMkgrhWxrq4uvfTS\nSzpz5ox8Pp+mTJmiZcuW6dlnnx1wjlhaWpr+/Oc/J3RgAACA0SLuc8QSiXPEAABAvHxbqwb9PYbV\noUkAAABcOooYAACAEYoYAACAEYoYAACAEYoYAACAEYoYAACAEYoYAACAEYoYAACAkbjvNZlIQ3Eh\ntpGk/6JxGIhcopFJbOQSjUxiI5doZDK0WBEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhED\nAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAwQhEDAAAw4nHOOeshAAAAkpH5\nilhZWZn1CMMOmcRGLtHIJDZyiUYmsZFLNDKJbbByMS9iAAAAyYoiBgAAYMS3du3atdZDXHPNNdYj\nDDtkEhu5RCOT2MglGpnERi7RyCS2wciFk/UBAACMcGgSAADAiN/qjQ8ePKiXX35ZfX19mjdvnhYv\nXmw1yqALh8MqLy/XqVOn5PF4FAwGdccdd6izs1MbNmzQ999/r0mTJumJJ55QamqqJKmyslLV1dXy\ner1aunSpbrzxRknS8ePHVV5eru7ubt10001aunSpPB6P5ce7JH19fSorK1NGRobKysrIRNKZM2e0\nZcsWNTU1yePxaPny5crOzk76XN555x1VV1fL4/Hoyiuv1IoVK9Td3Z1UuWzevFl1dXWaMGGC1q9f\nL0kJ/Ttz/vx5bdq0ScePH9f48eO1evVqZWVlmX3eixUrl4qKCh04cEB+v1+TJ0/WihUrNG7cOEnJ\nkUusTPrt3LlTFRUVevHFF5WWliYpOTKRfjqXd999V++//768Xq9+85vf6MEHH5Q0RLk4A729ve6x\nxx5z3333nTt//rx78sknXVNTk8UoQ6Ktrc0dO3bMOefc2bNn3apVq1xTU5OrqKhwlZWVzjnnKisr\nXUVFhXPOuaamJvfkk0+67u5u19zc7B577DHX29vrnHOurKzM1dfXu76+PvfUU0+5uro6mw+VIDt3\n7nQbN250Tz/9tHPOkYlz7vnnn3ehUMg559z58+ddZ2dn0ufS2trqVqxY4c6dO+ecc279+vVuz549\nSZfLkSNH3LFjx9wf//jHyLZEZvDee++5F154wTnn3KeffuqeffbZofx4cYuVy8GDB11PT49z7kJG\nyZZLrEycc+777793//jHP9zy5cvd6dOnnXPJk4lzsXM5dOiQ+9vf/ua6u7udc86dOnXKOTd0uZgc\nmvzmm280ZcoUTZ48WX6/X0VFRaqtrbUYZUikp6dHTvC74oorNHXqVLW1tam2tla33367JOn222+P\nZFBbW6uioiKlpKQoKytLU6ZM0TfffKP29nb9+OOPysvLk8fj0Zw5c0Z0bq2traqrq9O8efMi25I9\nk7Nnz+rLL7/U73//e0mS3+/XuHHjkj4X6cLqaXd3t3p7e9Xd3a309PSky+W6666LrHb1S2QG+/fv\n19y5cyVJhYWFOnz4sNwIOI04Vi4FBQXy+XySpLy8PLW1tUlKnlxiZSJJ27Zt0wMPPDBgFThZMpFi\n5/LBBx9o0aJFSklJkSRNmDBB0tDlYnJosq2tTZmZmZHHmZmZ+vrrry1GGXItLS1qbGxUTk6OTp8+\nrfT0dEnSxIkTdfr0aUkX8snNzY28JiMjQ21tbfL5fFG59f9yGYn+9a9/6cEHH9SPP/4Y2ZbsmbS0\ntCgtLU2bN2/Wv//9b11zzTVasmRJ0ueSkZGhO++8U8uXL9eYMWNUUFCggoKCpM9FSuzfmf/+3ezz\n+TR27Fh1dHREDl+NVNXV1SoqKpKU3LnU1tYqIyNDV1111YDtyZyJJJ08eVJfffWV3njjDaWkpKik\npEQ5OTlDlgsn6w+hrq4urV+/XkuWLNHYsWMHPOfxeEbMeSqJcODAAU2YMOH//SpwsmUiSb29vWps\nbNQf/vAH/fOf/9Rll12mt956a8DPJGMunZ2dqq2tVXl5uV544QV1dXXp448/HvAzyZjL/yKDaDt2\n7JDP59Ntt91mPYqpc+fOqbKyUvfee6/1KMNOX1+fOjs79dRTT6mkpEQbNmwY0tU9kyKWkZGh1tbW\nyOPW1lZlZGRYjDJkenp6tH79et1222265ZZbJF1Y/mxvb5cktbe3Rxrz/+bT1tamjIyMUZVbfX29\n9u/fr5UrV2rjxo06fPiwnnvuuaTORLrwL6vMzMzIv8IKCwvV2NiY9LkcOnRIWVlZSktLk9/v1y23\n3KKGhoakz0VK7O+R/36ut7dXZ8+e1fjx44fqoyTc3r17deDAAa1atSpSUJM1l+bmZrW0tKi0tFQr\nV65Ua2ur1qxZo1OnTiVtJv0yMjL029/+Vh6PRzk5OfJ6vero6BiyXEyK2PTp03Xy5Em1tLSop6dH\nNTU1mjVrlsUoQ8I5py1btmjq1KlauHBhZPusWbO0b98+SdK+ffs0e/bsyPaamhqdP39eLS0tOnny\npHJycpSenq4rrrhCDQ0Ncs7p448/HrG53X///dqyZYvKy8u1evVq5efna9WqVUmdiXTh0FJmZqZO\nnDgh6UIB+fWvf530uQQCAX399dc6d+6cnHM6dOiQpk6dmvS5SIn9PXLzzTdr7969kqTPP/9cM2fO\nHLErbAcPHtTbb7+tNWvW6LLLLotsT9Zcpk2bphdffFHl5eUqLy9XZmamnnnmGU2cODFpM+k3e/Zs\nHTlyRJJ04sQJ9fT0aPz48UOWi9kFXevq6rRt2zb19fXpd7/7ne655x6LMYbEV199pb/85S+aNm1a\n5D/Ifffdp9zcXG3YsEHhcDjqa+c7duzQnj175PV6tWTJEt10002SpGPHjmnz5s3q7u7WjTfeqIcf\nfnjE/s/f78iRI9q5c6fKysrU0dGR9Jl8++232rJli3p6epSVlaUVK1bIOZf0uWzfvl01NTXy+Xy6\n6qqr9Oijj6qrqyupctm4caOOHj2qjo4OTZgwQcXFxZo9e3bCMuju7tamTZvU2Nio1NRUrV69WpMn\nT7b8yBclVi6VlZXq6emJZJGbm6tly5ZJSo5cYmXS/yUgSVq5cqWefvrpyApqMmQixc5lzpw5kfNy\n/X6/SkpKlJ+fL2locuHK+gAAAEY4WR8AAMAIRQwAAMAIRQwAAMAIRQwAAMAIRQwAAMAIRQwAAMAI\nRQwAAMAIRQwAAMDI/wEDilj5a0+hmQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[\"cbwd\"].value_counts().plot(kind=\"barh\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other topics to cover\n", "\n", "TK\n", "\n", "### Sorting" ] }, { "cell_type": "code", "execution_count": 437, "metadata": {}, "outputs": [], "source": [ "sorted_df = df.sort_values(by=[\"pm2.5\"], ascending=False)" ] }, { "cell_type": "code", "execution_count": 574, "metadata": { "scrolled": true }, "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", " \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", " \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", " \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", " \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", " \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", "
Noyearmonthdayhourpm2.5DEWPTEMPPREScbwdIwsIsIr
180491805020121231994.0-24-12.01032.0NW4.9200
1057105820102141980.0-14-7.01029.0cv0.8900
180501805120121232972.0-24-12.01032.0NW8.0500
2658826589201311220886.0-8-7.01023.0cv1.3400
2659026591201311222858.0-10-9.01024.0cv0.8900
2658926590201311221852.0-9-8.01023.0NE0.8900
2658426585201311216845.0-7-2.01021.0SE8.9500
2658726588201311219824.0-8-7.01022.0cv0.8900
2658526586201311217810.0-7-4.01021.0SE9.8400
2659126592201311223805.0-10-9.01024.0NW1.7900
2658326584201311215802.0-7-1.01021.0SE7.1600
19301931201032210784.0-811.01013.0NW11.1800
..........................................
432814328220141299NaN-8-5.01037.0NE1.7900
4328243283201412910NaN-8-4.01037.0cv0.8900
4328343284201412911NaN-8-3.01036.0NE1.7900
4354443545201412208NaN-18-4.01031.0NW225.3000
4354543546201412209NaN-17-4.01031.0NW228.4300
43546435472014122010NaN-18-2.01031.0NW233.3500
43547435482014122011NaN-17-1.01031.0NW239.1600
43548435492014122012NaN-180.01030.0NW244.9700
43549435502014122013NaN-191.01029.0NW249.8900
43550435512014122014NaN-201.01029.0NW257.0400
43551435522014122015NaN-202.01028.0NW262.8500
43552435532014122016NaN-211.01028.0NW270.0000
\n", "

43824 rows × 13 columns

\n", "
" ], "text/plain": [ " No year month day hour pm2.5 DEWP TEMP PRES cbwd Iws \\\n", "18049 18050 2012 1 23 1 994.0 -24 -12.0 1032.0 NW 4.92 \n", "1057 1058 2010 2 14 1 980.0 -14 -7.0 1029.0 cv 0.89 \n", "18050 18051 2012 1 23 2 972.0 -24 -12.0 1032.0 NW 8.05 \n", "26588 26589 2013 1 12 20 886.0 -8 -7.0 1023.0 cv 1.34 \n", "26590 26591 2013 1 12 22 858.0 -10 -9.0 1024.0 cv 0.89 \n", "26589 26590 2013 1 12 21 852.0 -9 -8.0 1023.0 NE 0.89 \n", "26584 26585 2013 1 12 16 845.0 -7 -2.0 1021.0 SE 8.95 \n", "26587 26588 2013 1 12 19 824.0 -8 -7.0 1022.0 cv 0.89 \n", "26585 26586 2013 1 12 17 810.0 -7 -4.0 1021.0 SE 9.84 \n", "26591 26592 2013 1 12 23 805.0 -10 -9.0 1024.0 NW 1.79 \n", "26583 26584 2013 1 12 15 802.0 -7 -1.0 1021.0 SE 7.16 \n", "1930 1931 2010 3 22 10 784.0 -8 11.0 1013.0 NW 11.18 \n", "... ... ... ... ... ... ... ... ... ... ... ... \n", "43281 43282 2014 12 9 9 NaN -8 -5.0 1037.0 NE 1.79 \n", "43282 43283 2014 12 9 10 NaN -8 -4.0 1037.0 cv 0.89 \n", "43283 43284 2014 12 9 11 NaN -8 -3.0 1036.0 NE 1.79 \n", "43544 43545 2014 12 20 8 NaN -18 -4.0 1031.0 NW 225.30 \n", "43545 43546 2014 12 20 9 NaN -17 -4.0 1031.0 NW 228.43 \n", "43546 43547 2014 12 20 10 NaN -18 -2.0 1031.0 NW 233.35 \n", "43547 43548 2014 12 20 11 NaN -17 -1.0 1031.0 NW 239.16 \n", "43548 43549 2014 12 20 12 NaN -18 0.0 1030.0 NW 244.97 \n", "43549 43550 2014 12 20 13 NaN -19 1.0 1029.0 NW 249.89 \n", "43550 43551 2014 12 20 14 NaN -20 1.0 1029.0 NW 257.04 \n", "43551 43552 2014 12 20 15 NaN -20 2.0 1028.0 NW 262.85 \n", "43552 43553 2014 12 20 16 NaN -21 1.0 1028.0 NW 270.00 \n", "\n", " Is Ir \n", "18049 0 0 \n", "1057 0 0 \n", "18050 0 0 \n", "26588 0 0 \n", "26590 0 0 \n", "26589 0 0 \n", "26584 0 0 \n", "26587 0 0 \n", "26585 0 0 \n", "26591 0 0 \n", "26583 0 0 \n", "1930 0 0 \n", "... .. .. \n", "43281 0 0 \n", "43282 0 0 \n", "43283 0 0 \n", "43544 0 0 \n", "43545 0 0 \n", "43546 0 0 \n", "43547 0 0 \n", "43548 0 0 \n", "43549 0 0 \n", "43550 0 0 \n", "43551 0 0 \n", "43552 0 0 \n", "\n", "[43824 rows x 13 columns]" ] }, "execution_count": 574, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Group by" ] }, { "cell_type": "code", "execution_count": 447, "metadata": {}, "outputs": [], "source": [ "monthly_mean_df = df.groupby(\"month\").mean()" ] }, { "cell_type": "code", "execution_count": 575, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 575, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "monthly_mean_df.plot(kind=\"bar\", y=[\"pm2.5\", \"Iws\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other resources\n", "\n", "* [Greg Reda's Pandas Introduction](http://gregreda.com/2013/10/26/intro-to-pandas-data-structures/) is fantastic and I borrowed many ideas from it. Thanks Greg!\n", "* [A great gist with reminders for Pandas indexing syntax](https://gist.github.com/why-not/4582705)" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }