Created
February 10, 2015 21:29
-
-
Save hunterowens/8301eb606e9f4845c8fc to your computer and use it in GitHub Desktop.
IntroPandas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:046a9ecd20b00be861d711ef1bc0024c7251de07d280ca08cb63da26c0fa991b" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#Boilerplate\n", | |
"* `import pandas as pd` is a convention.\n", | |
"* matplotlib inside the ipython notebook\n", | |
"* make it look less terrible. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"\n", | |
"%matplotlib inline\n", | |
"pd.set_option('display.mpl_style', 'default')" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 2 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Series\n", | |
"Two Parts: *Index* and *Value*" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"pd.Series(np.random.rand(10)).hist(bins=2)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 84, | |
"text": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x10bd49390>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10ba833d0>" | |
] | |
} | |
], | |
"prompt_number": 84 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"*NB* The index can be either just sequence of integers or something semantic. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"s = pd.Series(np.random.rand(1000))\n", | |
"s[:100].hist(bins=10)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 86, | |
"text": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x10bf8df10>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10be78b10>" | |
] | |
} | |
], | |
"prompt_number": 86 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## TimeSeries\n", | |
"Sometimes you want the index to be something that is not just 0,1,2,...\n", | |
"\n", | |
"For example, index might want to be times. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"rng = pd.date_range('2/10/2015', periods=168, freq='H')\n", | |
"ts = pd.Series(np.random.randn(len(rng)), index=rng)\n", | |
"ts.plot()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 89, | |
"text": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x10c227450>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10aa1e990>" | |
] | |
} | |
], | |
"prompt_number": 89 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## DataFrames\n", | |
"A datatype that is representative of a set of tabular data. Similar to R, STATA and Matlab types. Inspired directly from R. \n", | |
"\n", | |
"Has an Index, Headers, Rows, and Values. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"reg = {'name': 'regenstein',\n", | |
" 'books': 200,\n", | |
" 'rooms': 25}\n", | |
"crerar = {'name': 'crerar',\n", | |
" 'books': 250,\n", | |
" 'rooms': 4}\n", | |
"libraries = [reg, crerar]\n", | |
"lib_short_df = pd.DataFrame(libraries)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 91 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"lib_short_df" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>books</th>\n", | |
" <th>name</th>\n", | |
" <th>rooms</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td> 200</td>\n", | |
" <td> regenstein</td>\n", | |
" <td> 25</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td> 250</td>\n", | |
" <td> crerar</td>\n", | |
" <td> 4</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 105, | |
"text": [ | |
" books name rooms\n", | |
"0 200 regenstein 25\n", | |
"1 250 crerar 4" | |
] | |
} | |
], | |
"prompt_number": 105 | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##I/O\n", | |
"(input/output). Using Pandas to get data from elsewhere into a form that you can use. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"url = 'http://cfss.uchicago.edu/data/libraries.csv'" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 97 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"lib_df = pd.read_csv(url)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 98 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"lib_df[' numBooks'].plot(kind='bar', x)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 104, | |
"text": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x10c7b7550>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nLSqVSpVrx3EeKQpp9ScLAKiOVd9ZSNKlS5cqr4bq6+tTe3t7zDsCgKefdWUBAIgeP5QHAAhFWQAA\nQll1g7ueeZ4nx3FULpfV3Ny84o13ALAVZVEDV65c0fj4uNLptFKplG7duiXHcbgBD+Cx/Otf/9K2\nbdvi3saaKIsa+MMf/qB33nlHyWRSY2NjGhwclCSNjIxQFv934sQJDQ0Nxb2NSM3Ozur06dPasGGD\nXnnlFW3dulWS9Pvf/14HDx6MeXfRmp2d1Z/+9Cdt3bpV3/rWt3T8+HG5rquDBw8+cz9U++GHHyqR\nSGj5a4vOnz+vb3/723r11Vdj3NnaKAsDnuXfVfX++++vuD4zMxPxTuL329/+Vn19fdq4caPOnDmj\nLVu26LXXXtM///nPuLcWuRMnTqivr0+ffPKJfvGLX+jHP/6xnn/+eZ04cUKHDh2Ke3uROn36tLZv\n366dO3dW1p577jk1Ntb3T+VTFjXQ29ur4eFhZTIZpVIpnTx5UqVSSb29vXFvLXIzMzPas2ePmpqa\nKmue5+kf//hHjLuKR0NDQ+W3Ire2turChQs6deqUXNeNeWfRc11XL7/8sl5++WVduHBBra2tkqT/\n/ve/Me8ser/+9a917tw5/e1vf9Pu3bv19a9/XRcvXtSuXbvi3tqaKIsaaG9vVzableM4WlhYUFNT\nk1paWtTQ8Oy92GxgYEBLS0vasWPHQ+uffPJJTDuKz+fHKzt37tQLL7ygv//97zHtKD4vvfRS5e0j\nR45U3t60aVMc24nVF77wBXV3d6urq0tnz57Vhx9+qKWlpbi3FYofygOAGC0uLuratWvq6OiIeytr\noiwAAKGevTkJAOCJURYAgFCUBQAgFGUBAAj1P4flANrXfxY6AAAAAElFTkSuQmCC\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10c7bfa10>" | |
] | |
} | |
], | |
"prompt_number": 104 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"lib_df.describe()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th> capacity</th>\n", | |
" <th> numBooks</th>\n", | |
" <th> floors</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td> 5.000000</td>\n", | |
" <td> 5.000000</td>\n", | |
" <td> 5.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td> 650.000000</td>\n", | |
" <td> 344520.400000</td>\n", | |
" <td> 3.600000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td> 511.126208</td>\n", | |
" <td> 542448.921373</td>\n", | |
" <td> 2.302173</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td> 100.000000</td>\n", | |
" <td> 15032.000000</td>\n", | |
" <td> 1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td> 150.000000</td>\n", | |
" <td> 75322.000000</td>\n", | |
" <td> 2.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td> 750.000000</td>\n", | |
" <td> 102496.000000</td>\n", | |
" <td> 4.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td> 1000.000000</td>\n", | |
" <td> 224506.000000</td>\n", | |
" <td> 4.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td> 1250.000000</td>\n", | |
" <td> 1305246.000000</td>\n", | |
" <td> 7.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 108, | |
"text": [ | |
" capacity numBooks floors\n", | |
"count 5.000000 5.000000 5.000000\n", | |
"mean 650.000000 344520.400000 3.600000\n", | |
"std 511.126208 542448.921373 2.302173\n", | |
"min 100.000000 15032.000000 1.000000\n", | |
"25% 150.000000 75322.000000 2.000000\n", | |
"50% 750.000000 102496.000000 4.000000\n", | |
"75% 1000.000000 224506.000000 4.000000\n", | |
"max 1250.000000 1305246.000000 7.000000" | |
] | |
} | |
], | |
"prompt_number": 108 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [] | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment