Skip to content

Instantly share code, notes, and snippets.

@cmrivers
Created October 27, 2015 16:27
Show Gist options
  • Save cmrivers/8768118df59c0ee264f8 to your computer and use it in GitHub Desktop.
Save cmrivers/8768118df59c0ee264f8 to your computer and use it in GitHub Desktop.
Lesson 1: Python for data analysis
{
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
},
"name": "",
"signature": "sha256:7d2985efe7ef19dddd59f5bac72d156bdf18a56003c2eb72c5279d8c20e0989a"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python for data analysis\n",
"Caitlin Rivers\n",
"\n",
"### Why learn Python\n",
"- Get the computer to do things for you!\n",
"- Powerful and flexible. \n",
" - Used for scientific computing, video games, apps like Dropbox, reddit and Youtube.\n",
" - Integrates with Excel, SAS, R, etc.\n",
"- Easy(ish) to read, write and learn (unlike R)\n",
"- Reusable. Perform the same functions, the same way, every time with no additional effort\n",
"- Can bring together scientific computing and other functions like software development and the internet.\n",
"- Well developed and sleek development and sharing environments\n",
"\n",
"### How to learn Python\n",
"1. Accept that the beginning is hard\n",
"2. The first month is all memorization\n",
"3. Learn to read documentation\n",
"4. Use it as often as possible, even if it's inefficient\n",
"\n",
"### Goals\n",
"Learn enough to:\n",
"1. Approach your data\n",
"2. Learn on your own\n",
"\n",
"### Topics covered\n",
"- Data cleaning and manipulation\n",
"- Basic data analysis\n",
"- Control structures and core Python\n",
"- Visualization\n",
"- Future intermediate and advanced courses in statistics, visualization and machine learning possible.\n",
"\n",
"### Admin\n",
"- Class notes will be posted online.\n",
"- Office hours will be after every class, 1100-1200. Additional times possible upon requested.\n",
"- Email or attend office hours with questions (no dropins, please).\n",
"- Homework \"due\" at the start of each class.\n",
"-----"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# I. IPython Notebook\n",
"\n",
"Most options are available in the dropdown menu, but learning the keybindings is ESSENTIAL.\n",
"\n",
"1. Open Help -> Keyboard shortcuts\n",
"2. Shift + enter to execute a cell\n",
"3. Ctrl+m, m to make a note\n",
"4. Ctrl+m, a for above, and ctrl+m, b for below.\n",
"5. Ctrl+s to save.\n",
"6. Tab and tab+shift to access help"
]
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"II. Getting started"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These three lines should be at the top of every notebook."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd #load the core data analysis package we will use for almost everything.\n",
"import numpy as np #another helpful data package\n",
"%pylab inline"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Read in data. Note assigning an object or operation a new name, and paths."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = pd.read_csv('C:/Users/caitlin.rivers/Downloads/cases.csv')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Take a peek at the top. See how tab complete works?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.head(2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number</th>\n",
" <th>FT</th>\n",
" <th>KSA_case</th>\n",
" <th>code</th>\n",
" <th>gender</th>\n",
" <th>age</th>\n",
" <th>country</th>\n",
" <th>province</th>\n",
" <th>city</th>\n",
" <th>district</th>\n",
" <th>...</th>\n",
" <th>notes</th>\n",
" <th>citation</th>\n",
" <th>citation2</th>\n",
" <th>citation3</th>\n",
" <th>citation4</th>\n",
" <th>citation5</th>\n",
" <th>sequence</th>\n",
" <th>accession</th>\n",
" <th>patient</th>\n",
" <th>speculation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>25M</td>\n",
" <td>M</td>\n",
" <td>25</td>\n",
" <td>Jordan</td>\n",
" <td>NaN</td>\n",
" <td>Zarqa</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>http://applications.emro.who.int/emhj/v19/Supp...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>30M</td>\n",
" <td>M</td>\n",
" <td>30</td>\n",
" <td>Jordan</td>\n",
" <td>NaN</td>\n",
" <td>Zarqa</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>probable</td>\n",
" <td>http://applications.emro.who.int/emhj/v19/Supp...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows \u00d7 44 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
" number FT KSA_case code gender age country province city district \\\n",
"0 1 2 NaN 25M M 25 Jordan NaN Zarqa NaN \n",
"1 2 NaN NaN 30M M 30 Jordan NaN Zarqa NaN \n",
"\n",
" ... notes citation \\\n",
"0 ... NaN http://applications.emro.who.int/emhj/v19/Supp... \n",
"1 ... probable http://applications.emro.who.int/emhj/v19/Supp... \n",
"\n",
" citation2 citation3 citation4 citation5 sequence accession patient \\\n",
"0 NaN NaN NaN NaN NaN NaN 1 \n",
"1 NaN NaN NaN NaN NaN NaN 2 \n",
"\n",
" speculation \n",
"0 NaN \n",
"1 NaN \n",
"\n",
"[2 rows x 44 columns]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What if we want the first records? Python is zero-indexed, which means counting starts at 0 instead of 1."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"data.ix[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"number 1\n",
"FT 2\n",
"KSA_case NaN\n",
"code 25M\n",
"gender M\n",
"age 25\n",
"country Jordan\n",
"province NaN\n",
"city Zarqa\n",
"district NaN\n",
"prior_travel NaN\n",
"hospital NaN\n",
"exposure NaN\n",
"onset 3/21/2012\n",
"hospitalized 4/4/2012\n",
"sampled NaN\n",
"reported NaN\n",
"death 4/25/2012\n",
"discharged NaN\n",
"comorbidity NaN\n",
"severity fatal\n",
"outcome fatal\n",
"clinical fatal\n",
"old_cluster A\n",
"cluster A\n",
"Cauchemez cluster 4\n",
"animal_contact FALSE\n",
"camel_contact NaN\n",
"HCW FALSE\n",
"contact_with NaN\n",
"contact NaN\n",
"secondary NaN\n",
"suspected NaN\n",
"inferred NaN\n",
"notes NaN\n",
"citation http://applications.emro.who.int/emhj/v19/Supp...\n",
"citation2 NaN\n",
"citation3 NaN\n",
"citation4 NaN\n",
"citation5 NaN\n",
"sequence NaN\n",
"accession NaN\n",
"patient 1\n",
"speculation NaN\n",
"Name: 0, dtype: object"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Look at the columns. This is a list."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [
"data.columns"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
"Index([u'number', u'FT', u'KSA_case', u'code', u'gender', u'age', u'country',\n",
" u'province', u'city', u'district', u'prior_travel', u'hospital',\n",
" u'exposure', u'onset', u'hospitalized', u'sampled', u'reported',\n",
" u'death', u'discharged', u'comorbidity', u'severity', u'outcome',\n",
" u'clinical', u'old_cluster', u'cluster', u'Cauchemez cluster',\n",
" u'animal_contact', u'camel_contact', u'HCW', u'contact_with',\n",
" u'contact', u'secondary', u'suspected', u'inferred', u'notes',\n",
" u'citation', u'citation2', u'citation3', u'citation4', u'citation5',\n",
" u'sequence', u'accession', u'patient', u'speculation'],\n",
" dtype='object')"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"caitlins_list = ['cat', 'dog', 1]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"caitlins_list"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"['cat', 'dog', 1]"
]
}
],
"prompt_number": 17
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How many rows?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"1291"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data.columns)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"44"
]
}
],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Breakdown of male and female?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.gender.value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"M 846\n",
"F 422\n",
"? 17\n",
"M? 1\n",
"dtype: int64"
]
}
],
"prompt_number": 21
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Uh oh, some values are irregular. Let's replace them. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.gender = data.gender.replace(['?', 'M?'], np.nan)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.to_csv('C:/Users/caitlin.rivers/Downloads/clean_mers_data.csv')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 24
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How's it look now?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.gender.value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"M 846\n",
"F 422\n",
"dtype: int64"
]
}
],
"prompt_number": 25
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fractions are better."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.gender.value_counts(normalize=True, dropna=False)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"M 0.655306\n",
"F 0.326878\n",
"NaN 0.017816\n",
"dtype: float64"
]
}
],
"prompt_number": 27
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What about age?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 29,
"text": [
"0 25\n",
"1 30\n",
"2 40\n",
"3 60\n",
"4 29\n",
"Name: age, dtype: object"
]
}
],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 30,
"text": [
"count 1285\n",
"unique 95\n",
"top 45\n",
"freq 38\n",
"Name: age, dtype: object"
]
}
],
"prompt_number": 30
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hmm, not numbers. There are different types of objects."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age = data.age.convert_objects(convert_numeric=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 31
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So what's the scoop?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
"count 1277.000000\n",
"mean 50.977291\n",
"std 18.012934\n",
"min 0.000000\n",
"25% 37.000000\n",
"50% 51.000000\n",
"75% 65.000000\n",
"max 99.000000\n",
"Name: age, dtype: float64"
]
}
],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.median()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 33,
"text": [
"51.0"
]
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.mean()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"50.97729052466719"
]
}
],
"prompt_number": 34
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check out the distribution"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.hist(bins=50)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 36,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x9c4ac18>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x9de9390>"
]
}
],
"prompt_number": 36
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Is the age distribution different for men and women?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.age.hist(by=data.gender)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 37,
"text": [
"array([<matplotlib.axes._subplots.AxesSubplot object at 0x000000000A0C7EF0>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x000000000A2081D0>], dtype=object)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEKCAYAAAARnO4WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGydJREFUeJzt3X2wXVV9//H3J+HJABIjbUIeIFRMJTYiDwLazi+BAk0d\nTJh2BmTGai3Vzg8rlFpr0k4l/aMWaNV22vKH0qQBS2oGkTFTLQnUq+lQedCImBBDqim5YC7+SBDU\nVgP5/v7YO7lnTu6952Gf/XT25zVzhnPW3itrHbLXN+usvfZaigjMzGz4TSu7AmZmVgwHfDOzhnDA\nNzNrCAd8M7OGcMA3M2sIB3wzs4ZwwDczawgH/BJJ2iPpJ5JeSl8vSppTdr3MipS2g59Kem1b+jZJ\nhySdXlbdho0DfrkCuDIiTk5fr46IfWVXyqxgAXwXuPZwgqQlwKvSYzYgDvhmVgWfAd7d8vk9wJ2A\nyqnOcHLAL58vaDP4GvBqSW+QNB24huQfARsgB/xyCbhP0oH0dW/ZFTIr0V0kvfzLgR3AM+VWZ/gc\nU3YFGi6AlRHx72VXxKxkQRLwtwJn4uGcXLiHb2aVEBFPk9y8/XXAv3Zz4B6+mVXJdcDMiPgfSY5P\nA+b/oWZWGRHx3fakUioypDoO6UhaLWm7pCck3S3peEmzJG2RtEvSZkkzi6jssImIMz1+Xz2S1koa\nk/RES9qFkh5JHwZ6VNJbWo6tlvSUpJ2Sriin1vU1WTuIiJcjYno61GMDMGXAl7QQeB9wXkQsAaYD\n7wRWAVsiYhHwYPrZbFisA5a3pd0G/FlEnAt8NP2MpMUkUwgXp3lul+R7Y1ZJnS7MF4GDwIx0PG0G\n8CywAlifnrMeuCq3GpoVLCK2Agfakr8PnJK+n8n4lMGVwIaIOBgRe4DdwIVF1NOsV1OO4UfEfkkf\nB54G/ge4PyK2SJodEWPpaWPA7JzraVa2VcB/SPprko7SW9P0uSQPDR02CswruG5mXek0pPM64A+A\nhSQX9kmS3tV6TiS7oPvGig27fwRuiIjTgZuAtVOc6/ZgldRpls4FwEMR8TxA+iToW4F9kuZExD5J\npwHPTZRZki98y0VEFP1QzoURcVn6/h7gjvT9M8CClvPmM8ETom4Llpde2kKnMfydwMWSXiVJwGUk\njzxvIlnciPS/901RmcJfN998s8sd4nJLslvS0vT9pcCu9P0XgHdKOk7SmcDrgUcm+gOa9Hfkcot5\n9arTGP7jku4EHgMOAd8APgWcDGyUdB2wB7i655LNKkrSBmApcKqkvSSzct4P/IOk40nuZ70fICJ2\nSNpI0hF6Gbg++mmJZgXo+OBVRNxGOgWtxX6S3r7Z0ImIayc5dNEk538M+Fh+NTIbjKGcL7xs2TKX\nO8TlWveadm00rdxeKc9fn5L869YGThJR/E3bTNwWLA+9toWh7OGbmdnRHPDNzBrCAd/MrCEc8M3M\nGsIB38ysIRzwzcwawgHfzKwhHPDNzBrCAd/MrCEc8M3MGsIB38ysIRzwzcwaouPyyDa5ZE+Y/ngh\nLbOjZWlT4HbViXv4mUUfL6sySWsljUl6oi39g5KelPRtSbe2pK+W9JSknZKuKL7Gw6afNuV21Q33\n8M2Otg74O+DOwwmSLgFWAG+KiIOSfi5NXwxcAywG5gEPSFoUEYeKr7bZ1NzDN2sTEVuBA23J/xf4\ny4g4mJ7zgzR9JbAhIg5GxB5gN3BhUXU160XHgC/pFyVta3n9UNINkmZJ2iJpl6TNkmYWUWGzkrwe\n+D+SviZpRNIFafpcYLTlvFGSnr5Z5XQM+BHxnYg4NyLOBc4HfgJ8HlgFbImIRcCD6WezYXUM8JqI\nuBj4MLBxinM9oGyV1OsY/mXA7ojYK2kFsDRNXw+M4KBvw2sUuBcgIh6VdEjSqcAzwIKW8+anaUdZ\ns2bNkffLli2rzT6oVh0jIyOMjIz0nb+nPW0lrQUei4jbJR2IiNek6QL2H/7ccv5Q7+OZfO1+vp88\nfSyDIva0lbQQ2BQRS9LPvwfMjYibJS0CHoiI09ObtneTjNvPAx4Azmq/8Ie9LQxK/20Kmtiuem0L\nXffwJR0HvAP4SPuxiAhJzfo/bUNL0gaSX6+vlbQX+CiwFlibTtX8GfBugIjYIWkjsAN4Gbjekd2q\nqpchnV8Hvt4yO2FM0pyI2CfpNOC5iTL5Z6xllfVnbK8i4tpJDv3WJOd/DPhYfjUyG4yuh3Qk/Qvw\npYhYn36+DXg+Im6VtAqYGRGr2vIMdWfHQzrlKGJIZ9CGvS0Miod0etNrW+gq4Es6Efhv4MyIeClN\nm0UyU+F0YA9wdUS80JZvqC9yB/xyOOAPLwf83uQS8DNUZqgvcgf8cjjgDy8H/N7kdtPWzKxbWRdB\ns3w44JtZTvr79Wv58Vo6ZmYN4YBvZtYQHtKpiX7HRJt2E8vMJueAXyu9Bm+Ph5rZOA/pmJk1hAO+\nmVlDOOCbmTWEA76ZWUM44JuZNYQDvplZQzjgm7WRtFbSWLrZSfuxD6XbG85qSVst6SlJOyVdUWxt\nzbrngG92tHXA8vZESQuAy0mWCj+cthi4Blic5rldktuVVZIvTLM2EbEVODDBoU8Af9yWthLYEBEH\nI2IPsJtkf1uzynHAN+uCpJXAaER8q+3QXGC05fMoyWbmZpXjpRXMOpA0A/gTkuGcI8lTZPECRlZJ\nDvhmnb0OWAg8ni5iNx/4uqSLgGeABS3nzk/TjrJmzZoj75ctW8ayZctyqawNr5GREUZGRvrO3+2e\ntjOBO4A3kvRe3gs8BXwWOAPvadtrzp5XseyvrOHc8q2ILQ4lLQQ2RcSSCY59Dzg/IvanN23vJhm3\nnwc8AJzVfuEPe1tol6VteIvD7vXaFrodw/9b4IsRcTbwJmAnsArYEhGLgAfTz2a1J2kD8BCwSNJe\nSe9tO+VIVImIHcBGYAfwJeD6RkV2q5WOPXxJpwDbIuIX2tJ3AksjYkzSHGAkIt7Qdk5trv3+9+B0\nD79o3sS8+tzDL0YePfwzgR9IWifpG5I+LelEYHZEjKXnjAGz+6hvxUSPLzOz+ugm4B8DnAfcHhHn\nAT+mbfgm7bo4ApqZVVg3s3RGSeYfP5p+vgdYDeyTNCci9kk6DXhuosyemWBZZZ2ZYGaJbmfpfBX4\n3YjYJWkNMCM99HxE3CppFTAzIla15avNuGW/Y+Qewy+ex/CL0f99rcM8hp+3XttCtwH/HJJpmccB\n/0UyLXM6yeyE0xmCaZkO+PXhgF+M/m+8Qpa2ka3M/tXt7wdyCvgZKlObi9wBvz4c8ItRz4DfrF8H\nec3DNzOzmnPANzNrCAd8M7OGcMA3M2sIr5ZZkuxT3szMeuOAX5p+ZgSZmfXPQzpmZg3hgG9m1hAO\n+GZmDeGAb9ZG0lpJY5KeaEn7K0lPSnpc0r3pPhGHj62W9JSknZKuKKfWZp054JsdbR2wvC1tM/DG\niDgH2EWyYizpFofXAIvTPLdLcruySvKFadYmIrYCB9rStkTEofTjwySblQOsBDZExMGI2APsJtnf\n1qxyHPDNevc7wBfT93NJ9ow4bJRkM3OzynHAN+uBpD8FfhYRd09xWv2WXbRG8INXZl2S9NvA24Ff\nbUl+BljQ8nl+mnYU7/5mWWXd/c3r4aeKXg+/mLLqucZ3J0Wshy9pIbApIpakn5cDHweWRsT/azlv\nMXA3ybj9POAB4Kz2C79ObeEwr4dffb22BffwzdpI2gAsBU6VtBe4mWRWznHAlnQdpP+MiOsjYoek\njcAO4GXg+tpFdmsM9/BTw9rD71eV/96841Ux3MOvvlx6+JL2AC8CrwAHI+JCSbOAzwJnMMmetlYF\n/TY6Mxs23c7SCWBZRJwbEYfnGK8CtkTEIuDB9LOZmVVUL9My27t9K4D16fv1wFUDqZGZmeWilx7+\nA5Iek/S+NG12RIyl78eA2QOvnZmZDUy3s3R+OSK+L+nnSGYp7Gw9GBEhqX53PMzMGqSrgB8R30//\n+wNJnyeZczwmaU5E7JN0GvDcRHnLeNjE2wcOl6wPm5hZouO0TEkzgOkR8ZKkE0lWDfxz4DLg+Yi4\nVdIqYGZErGrLW8pUtOKmWNZhWmZ/9avyFDVPyyyGp2VWXx7TMmcDn097zccA/xwRmyU9BmyUdB3p\ntMw+6mtmZgUZygev3MPPkifJV+Xejnv4xXAPv/q8tIKZWR+y3Puryz8WDvhmZkC2Xxb14PXwzcwa\nwgHfzKwhHPDNzBrCAd/MrCEc8M3aSForaUzSEy1psyRtkbRL0mZJM1uOrZb0lKSdkq4op9ZmnTng\nmx1tHbC8LW3C5cDTLQ6vARaneW6X5HZlleQL06xNRGwFDrQlT7Yc+EpgQ0QcjIg9wG6StabMKscB\n36w7ky0HPhcYbTlvlGQzc7PKccA361G6RsJUT+nU47FLaxw/aWvWncmWA38GWNBy3vw07ShlLBVu\nwyXrUuFePG08V0F5iizLi6dlKGMhsCkilqSfb2OC5cDTm7Z3k4zbzwMeAM5qv/C9eFre+crNW9bf\nrRdPM8tI0gZgKXCqpL3AR4FbmGA58IjYIWkjsAN4Gbi+dpHdGsM9/PFcBeUpsiz38KvCPfy885Wb\nty49fN+0NTNrCAd8M7OGcMA3M2uIrgK+pOmStknalH6edF0RMzOrpm57+DeSzEI4fGdiwnVFzMys\nujoGfEnzgbcDdzC+l9dk64qYmVlFddPD/yTwYeBQS9pk64qYmVlFTRnwJV0JPBcR25hkp94u1hUx\nM7MK6PSk7duAFZLeDpwAvFrSXUy+rshRvH6IZZV1/RAzS3T9pK2kpcAfRcQ7JltXZII8ftK21LL8\npG1V+EnbvPOVm3dYn7Q9/K1uAS6XtAu4NP1sZmYV5rV0xnMVlKfIstzDrwr38PPOV27eYe3hm5lZ\nTTngm5k1hAO+mVlDOOCb9UDSaknbJT0h6W5Jx3ttKasLB3yzLqXbHr4POC/d+nA68E68tpTVhAO+\nWfdeBA4CMyQdA8wAnsVrS1lNOOCbdSki9gMfB54mCfQvRMQWvLaU1YQDvlmXJL0O+ANgITAXOEnS\nu1rP8dpSVmWd1tIxs3EXAA9FxPMAku4F3grs62ZtKa8rZVllXVfKT9qO5yooT5FlZalf74r6uy7r\nSVtJ5wD/DLwF+F/gn4BHgDPosLaUn7TNO1+5eevypK17+DaJfv5xGW4R8bikO4HHSPaH+AbwKeBk\nYKOk64A9wNWlVdJsCu7hj+cqKE+RZRVbv2Hv4WfhHn7e+crNW5cevm/ampk1hAO+mVlDOOCbmTWE\nA76ZWUM44JuZNYQDvplZQ0wZ8CWdIOlhSd+UtEPSX6bpXg7WzKxmpgz4EfG/wCUR8WbgTcAlkn4F\nLwdrZlY7HYd0IuIn6dvjSNb/PoCXgzWrBUl9v2z4dAz4kqZJ+ibJsq9fjojteDlYsxqJPl82bDqu\npRMRh4A3SzoFuF/SJW3HQ5KvDjOziut68bSI+KGkfwXOB8a6WQ4WvCSsZZd1SVgzS0y5eJqkU4GX\nI+IFSa8C7gf+HPg1OiwHm+b34mmlluXF06qiXm3hSO4S8tatvkneuiye1qmHfxqwXtI0kvH+uyLi\nQUnb8HKwZma14uWRx3MVlKfIstzDr4p6tYUjuUvIW7f6Jnnr0sP3k7ZmPZA0U9I9kp5MH0a8yA8i\nWl044Jv15m+BL0bE2SQPI+7EDyJaTXhIZzxXQXmKLMtDOgMu9xRgW0T8Qlv6TmBpRIxJmgOMRMQb\n2s6pUVs4kruEvHWrb5LXQzpmw+dM4AeS1kn6hqRPSzoRP4hoNeGAb9a9Y4DzgNsj4jzgx7QN36Td\neD+IaJXU9YNXZsYoMBoRj6af7wFWA/u6eRDRDyFaVlkfQvQY/niugvIUWZbH8HMo+6vA70bELklr\ngBnpoSkfRKxXWziSu4S8datvkrcuY/gO+OO5CspTZFkO+DmUfQ5wB8nqsf8FvJdkFdmNwOmkDyJG\nxAtt+WrUFo7kLiFv3eqb5HXAp24XefUDatXr14SA3696tYUjuUvIW7f6JnnrEvB909bMrCEc8M3M\nGsIB38ysIRzwzcwawgHfzKwhHPDNzBrCAd/MrCEc8M3MGsIB38ysIToGfEkLJH1Z0nZJ35Z0Q5ru\nXX7MzGqkmx7+QeCmiHgjcDHwAUln411+zMxqpWPAj4h9EfHN9P2PgCeBecAKYH162nrgqrwqaWZm\n2fU0hi9pIXAu8DDe5cfMrFa6DviSTgI+B9wYES+1HvMuP2Zm1dfVjleSjiUJ9ndFxH1p8ph3+bEi\nZN3lxyxvyTLU/SlyaeWO6+Er+SbrSXb0uakl/TaGapef6q83X/X6NWU9fEnTgcdItjt8h6RZwGeB\nM/AGKBnz1q2+2fNmuS7yWA//l4F3AZdI2pa+lgO3AJdL2gVcmn42a4IbgR2Mt3LPWLNa8I5X47kK\nylNkWe7h51D2fOCfgL8A/jDt4e8ElkbEmKQ5wEhEvKEtX43awpHcJeStW32z561aD9/Mxn0S+DBw\nqCXNM9asFhzwzbok6UrguYjYRtKtO4pnrFmVdTVLx8wAeBuwQtLbgROAV0u6C89Ys4JknbHmMfzx\nXAXlKbIsj+HnWIelwB+lY/hDNmPtSO4S8tatvtnzegzfrB4Ot1TPWLNacA9/PFdBeYosyz38qqhX\nWziSu4S8datv9rzu4ZuZ2cA54JuZNYQDvplZQzjgm5k1hAO+mVlDOOCbmTWEA76ZWUM44JuZNYQD\nvplZQzjgm5k1hAO+mVlDOOCbmTVEx4Avaa2kMUlPtKTNkrRF0i5JmyXNzLeaZmaWVTc9/HXA8rY0\nb9psZlYzHQN+RGwFDrQlrwDWp+/XA1cNuF5mZjZg/Y7he9NmaxxJCyR9WdJ2Sd+WdEOa7iFOq4XM\nN229abM1yEHgpoh4I3Ax8AFJZ+MhTquJfjcx72rTZvDGzU2S7K7Um252+8m6cfOgRMQ+YF/6/keS\nngTmkQxxLk1PWw+M4KBvFdTVFoeSFgKbImJJ+rnjps3peTXa1q36WwgOY/36uT6qsMVh2ia+AvwS\n8HREvCZNF7D/8OeW82vUFo7kLiFv3eqbPW+RWxx27OFL2kDSezlV0l7goySbNG+UdB2wB7i6v+p2\nLDuPP9YsE0knAZ8DboyIl1qv04gISR7itErqGPAj4tpJDl024LpMVoM+8vgfCsuHpGNJgv1dEXFf\nmtzVEKeHNy2rrMObXQ3p9P2HZ/wZ2//PUQ+Z9J+nyLLqNaSTDtesJxnOvKklveMQZ5a2kP2Xbp2G\nOeo5LFOXIR0H/MLzFFlW9etXs4D/K8BXgW8x/mVXA48AG4HTSYc4I+KFtrwZA379ApkDfnd5HfDH\n81P1gOX6ZctTp4CfhQN+lcssN2+RAd+Lp5mZNYQDvplZQzjgm5k1hAO+mVlDOOCbmTWEA76ZWUM4\n4JuZNYQDvplZQ/S7PHJPPvjBD7F169eLKMrMzCZRSMD/2te+xeOPXwlc0EOuLSSrz5qZ2SAUEvAT\n5wDLejh/NKd6mJlVR5HLwBcY8M3M7GhZ1vDpjW/ampk1hHv4ZgU54YSTy66CNZwDvllBfvrTZ3vO\nM23aGuATA6+LNVOmIR1JyyXtlPSUpI8MqlJmddNdWzi5j9fxudfdmqPvgC9pOvD3wHJgMXCtpLMH\nVbF6GnG5DeS2UCUjDSu3N1l6+BcCuyNiT0QcBP4FWDmYatXViMttJreFyhhpWLm9yRLw5wF7Wz6P\npmlmTeO2YLWQ5aZt15NHjz8epk9fwbRp3Rd36NBBXnmlr3qZFa2rtnDssb3P0nnllZ/2nMdsMn1v\nYi7pYmBNRCxPP68GDkXErS3n5LdDujValTYxd1uwMvXSFrIE/GOA7wC/CjwLPAJcGxFP9vUHmtWU\n24LVRd9DOhHxsqTfB+4HpgP/6Avcmshtweqi7x6+mZnVy8CetE3nHa9kfHbCKPAF93SsadwWrKoG\nsnha+mThhvTjw+lrGrAhvYGVC0kzJd2SPuF4QNL+9P0tkmbmVW5ZmvZ9ASRNk3SxpN+U9BuSLlKR\n68n2yG2hGE37vjCYtjCQIR1JTwGL04dOWtOPA3ZExFmZC5m43M3Ag8B6YCwiQtJpwHuASyPiipzK\nnQmsAq4CZpNMy3sOuA+4JSJeyKncpn3fK4Dbgd2Mb5AwH3g9cH1E3J9HuVm4Lbgt5FTuYNpCRGR+\nATuBhROkLwS+M4gyJil3Vz/HBlDuZuAjwBzG/9E8jeRC2OzvO7ByJ7uuzgR25lVuTnV2W/D3zeO6\n6qktDKqHv5xkLZHdjD9xuIDkX5/fj4gvZS5k4nK3kOyFuD4ixtK0OST/yl8eEZflVO6uiFjU67EB\nlNu071tKbzkLt4Xujg2g3KZ934G0hYHctI2If5P0iyRriswj+ZnzDPBYRLw8iDImcQ3Jv6xfkTQ7\nTRsDvgBcnWO5/y3pj5n4Yns6x3In+r77gE0M5/ddCzwqaQPjP2MXAO9Mj1WO24LbQk4G0hZqPy0z\nnRExD3g4Il5qSV8eEf+WU5mzSC62FSTjeDDeuG6JiP05lXsRyc+3H0o6Ma3DecB24C8i4oc5lTvR\n9z3cuHL7vmnZi0lmvMxNk54hmfGyI68y68ptwW2h459R54Av6QbgA8CTwLnAjRFxX3psW0ScW2Bd\n7oqI38q5jB3AmyJ50OfTwI+Be4DL0vTfyKnc40l6Es9GxBZJ7wLeCuwAPtX+M9OK57bgttCNuu94\n9X7g/Ij4kaSFwOckLYyIv8mzUEmbSH6qt06JujS9gx8RsSKvoluGBc6PiPPS9/8h6fGcygRYR/IE\n6QxJ7wZOAu4laVwXkvycHbiyZkTUlNtCwm1hCnUP+IqIHwFExB5JS0ku9DPoZ0v37s0n+Rf9DuBQ\nWtYFwF/nWCbAdkm/ExFrgcclvSUiHpW0CPhZjuUuiYglStaMeRaYm/asPgN8K8dyN5JMvVvG0VPv\nNgK5TL2rKbcFt4XO8ppGVMQL+DLw5ra0Y4E7SVYrzKvc6cAfAg8A56Zp3yvg+84kmXf8XZIHeg4C\n3wO+CpyTY7nbSfbaew3wEvDaNP1VwPYcyy1l6l0dX24LbgvdvOrew383yV/0ERFxUNJ7gE/lVWhE\nvAJ8QtJG4JOSnqOAX0uR/Gx7j6RTSObfHgOMRsS+nIv+DMnY8EHgQ8BWSQ8BF5M0uryUNSOijtwW\n3BY6qvVN26qQdCXwtoj4k7Lrkpd0XPjFiNgv6XUkP9t3RkRu46VlzQCx/rkt5FbmQNqCA77VkqT3\nRsS6suthVrZe2oIDvtWSpL0RsaDsepiVrZe2UPcxfBtikp6Y4vDsKY6ZDZVBtQUHfKuynweWAwcm\nOPZQwXUxK9NA2oIDvlXZvwInRcS29gOSvlJCfczKMpC24DF8M7OGGMiOV2ZmVn0O+GZmDeGAb2bW\nEA74ZmYN4YBvZtYQ/x/Kca+CGbUzcgAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x9de9208>"
]
}
],
"prompt_number": 37
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Actually I'm only interested in patients from one country."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.country.value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"KSA 959\n",
"South Korea 186\n",
"UAE 77\n",
"Jordan 20\n",
"Qatar 15\n",
"Oman 9\n",
"Iran 8\n",
"Kuwait 3\n",
"UK 2\n",
"Tunisia 2\n",
"Italy 2\n",
"France 1\n",
"Lebanon 1\n",
"Yemen 1\n",
"dtype: int64"
]
}
],
"prompt_number": 38
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's pull those out."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"southkorea = data[data.country == 'South Korea']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"southkorea.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number</th>\n",
" <th>FT</th>\n",
" <th>KSA_case</th>\n",
" <th>code</th>\n",
" <th>gender</th>\n",
" <th>age</th>\n",
" <th>country</th>\n",
" <th>province</th>\n",
" <th>city</th>\n",
" <th>district</th>\n",
" <th>...</th>\n",
" <th>notes</th>\n",
" <th>citation</th>\n",
" <th>citation2</th>\n",
" <th>citation3</th>\n",
" <th>citation4</th>\n",
" <th>citation5</th>\n",
" <th>sequence</th>\n",
" <th>accession</th>\n",
" <th>patient</th>\n",
" <th>speculation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1047</th>\n",
" <td>1051</td>\n",
" <td>1149</td>\n",
" <td>SK1:W1</td>\n",
" <td>68M</td>\n",
" <td>M</td>\n",
" <td>68</td>\n",
" <td>South Korea</td>\n",
" <td>NaN</td>\n",
" <td>Pyeongtaek</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>68 year-old male with the following travel his...</td>\n",
" <td>http://www.who.int/csr/don/24-may-2015-mers-ko...</td>\n",
" <td>http://www.koreaherald.com/view.php?ud=2015060...</td>\n",
" <td>http://www.thenational.ae/world/east-asia/sout...</td>\n",
" <td>http://www.who.int/csr/don/30-may-2015-mers-ko...</td>\n",
" <td>http://www.eurosurveillance.org/images/dynamic...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1048</th>\n",
" <td>1052</td>\n",
" <td>1152</td>\n",
" <td>SK3:W3</td>\n",
" <td>76M</td>\n",
" <td>M</td>\n",
" <td>76</td>\n",
" <td>South Korea</td>\n",
" <td>NaN</td>\n",
" <td>Pyeongtaek</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>76 year-old male who shared a hospital room wi...</td>\n",
" <td>http://www.who.int/csr/don/30-may-2015-mers-ko...</td>\n",
" <td>http://www.eurosurveillance.org/images/dynamic...</td>\n",
" <td>http://www.who.int/emergencies/mers-cov/MERS-C...</td>\n",
" <td>http://www.who.int/csr/don/06-june-2015-mers-k...</td>\n",
" <td>http://www.eurosurveillance.org/images/dynamic...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1049</th>\n",
" <td>1053</td>\n",
" <td>1151</td>\n",
" <td>SK2:W2</td>\n",
" <td>63F</td>\n",
" <td>F</td>\n",
" <td>63</td>\n",
" <td>South Korea</td>\n",
" <td>NaN</td>\n",
" <td>Pyeongtaek</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>64 [NB 63 in who spreadsheet]year-old female w...</td>\n",
" <td>http://www.who.int/csr/don/24-may-2015-mers-ko...</td>\n",
" <td>http://www.who.int/emergencies/mers-cov/MERS-C...</td>\n",
" <td>http://promedmail.org/direct.php?id=3430149</td>\n",
" <td>http://www.who.int/csr/don/30-may-2015-mers-ko...</td>\n",
" <td>http://www.eurosurveillance.org/images/dynamic...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1051</th>\n",
" <td>1055</td>\n",
" <td>1158</td>\n",
" <td>SK4:W4</td>\n",
" <td>46F</td>\n",
" <td>F</td>\n",
" <td>46</td>\n",
" <td>South Korea</td>\n",
" <td>NaN</td>\n",
" <td>Pyeongtaek</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>46 year-old female who is the daughter of the ...</td>\n",
" <td>http://www.who.int/csr/don/30-may-2015-mers-ko...</td>\n",
" <td>http://www.koreaherald.com/view.php?ud=2015052...</td>\n",
" <td>http://www.koreaherald.com/view.php?ud=2015052...</td>\n",
" <td>http://promedmail.org/direct.php?id=3442296</td>\n",
" <td>http://www.eurosurveillance.org/images/dynamic...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1052</th>\n",
" <td>1056</td>\n",
" <td>1160</td>\n",
" <td>SK5:W5</td>\n",
" <td>50M</td>\n",
" <td>M</td>\n",
" <td>50</td>\n",
" <td>South Korea</td>\n",
" <td>NaN</td>\n",
" <td>Seoul</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>50 year-old, male health professional who trea...</td>\n",
" <td>http://www.who.int/csr/don/30-may-2015-mers-ko...</td>\n",
" <td>http://www.who.int/emergencies/mers-cov/MERS-C...</td>\n",
" <td>http://promedmail.org/direct.php?id=3430149</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 44 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
" number FT KSA_case code gender age country province city \\\n",
"1047 1051 1149 SK1:W1 68M M 68 South Korea NaN Pyeongtaek \n",
"1048 1052 1152 SK3:W3 76M M 76 South Korea NaN Pyeongtaek \n",
"1049 1053 1151 SK2:W2 63F F 63 South Korea NaN Pyeongtaek \n",
"1051 1055 1158 SK4:W4 46F F 46 South Korea NaN Pyeongtaek \n",
"1052 1056 1160 SK5:W5 50M M 50 South Korea NaN Seoul \n",
"\n",
" district ... notes \\\n",
"1047 NaN ... 68 year-old male with the following travel his... \n",
"1048 NaN ... 76 year-old male who shared a hospital room wi... \n",
"1049 NaN ... 64 [NB 63 in who spreadsheet]year-old female w... \n",
"1051 NaN ... 46 year-old female who is the daughter of the ... \n",
"1052 NaN ... 50 year-old, male health professional who trea... \n",
"\n",
" citation \\\n",
"1047 http://www.who.int/csr/don/24-may-2015-mers-ko... \n",
"1048 http://www.who.int/csr/don/30-may-2015-mers-ko... \n",
"1049 http://www.who.int/csr/don/24-may-2015-mers-ko... \n",
"1051 http://www.who.int/csr/don/30-may-2015-mers-ko... \n",
"1052 http://www.who.int/csr/don/30-may-2015-mers-ko... \n",
"\n",
" citation2 \\\n",
"1047 http://www.koreaherald.com/view.php?ud=2015060... \n",
"1048 http://www.eurosurveillance.org/images/dynamic... \n",
"1049 http://www.who.int/emergencies/mers-cov/MERS-C... \n",
"1051 http://www.koreaherald.com/view.php?ud=2015052... \n",
"1052 http://www.who.int/emergencies/mers-cov/MERS-C... \n",
"\n",
" citation3 \\\n",
"1047 http://www.thenational.ae/world/east-asia/sout... \n",
"1048 http://www.who.int/emergencies/mers-cov/MERS-C... \n",
"1049 http://promedmail.org/direct.php?id=3430149 \n",
"1051 http://www.koreaherald.com/view.php?ud=2015052... \n",
"1052 http://promedmail.org/direct.php?id=3430149 \n",
"\n",
" citation4 \\\n",
"1047 http://www.who.int/csr/don/30-may-2015-mers-ko... \n",
"1048 http://www.who.int/csr/don/06-june-2015-mers-k... \n",
"1049 http://www.who.int/csr/don/30-may-2015-mers-ko... \n",
"1051 http://promedmail.org/direct.php?id=3442296 \n",
"1052 NaN \n",
"\n",
" citation5 sequence accession \\\n",
"1047 http://www.eurosurveillance.org/images/dynamic... NaN NaN \n",
"1048 http://www.eurosurveillance.org/images/dynamic... NaN NaN \n",
"1049 http://www.eurosurveillance.org/images/dynamic... NaN NaN \n",
"1051 http://www.eurosurveillance.org/images/dynamic... NaN NaN \n",
"1052 NaN NaN NaN \n",
"\n",
" patient speculation \n",
"1047 NaN NaN \n",
"1048 NaN NaN \n",
"1049 NaN NaN \n",
"1051 NaN NaN \n",
"1052 NaN NaN \n",
"\n",
"[5 rows x 44 columns]"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"southkorea[['gender', 'age', 'city']][:5]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>gender</th>\n",
" <th>age</th>\n",
" <th>city</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1047</th>\n",
" <td>M</td>\n",
" <td>68</td>\n",
" <td>Pyeongtaek</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1048</th>\n",
" <td>M</td>\n",
" <td>76</td>\n",
" <td>Pyeongtaek</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1049</th>\n",
" <td>F</td>\n",
" <td>63</td>\n",
" <td>Pyeongtaek</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1051</th>\n",
" <td>F</td>\n",
" <td>46</td>\n",
" <td>Pyeongtaek</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1052</th>\n",
" <td>M</td>\n",
" <td>50</td>\n",
" <td>Seoul</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 61,
"text": [
" gender age city\n",
"1047 M 68 Pyeongtaek\n",
"1048 M 76 Pyeongtaek\n",
"1049 F 63 Pyeongtaek\n",
"1051 F 46 Pyeongtaek\n",
"1052 M 50 Seoul"
]
}
],
"prompt_number": 61
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"skgb = southkorea.groupby(['gender', 'city'])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"skgb.age.median().plot(kind='bar')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 49,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0xbc743c8>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0xbcde978>"
]
}
],
"prompt_number": 49
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data['incidence'] = data.age/30"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 50
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data['random_number'] = 10"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 52
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data['math'] = data['age'] + data['random_number']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 56
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.math.describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 57,
"text": [
"count 1277.000000\n",
"mean 60.977291\n",
"std 18.012934\n",
"min 10.000000\n",
"25% 47.000000\n",
"50% 61.000000\n",
"75% 75.000000\n",
"max 109.000000\n",
"Name: math, dtype: float64"
]
}
],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots()\n",
"data.math.plot(ax=ax)\n",
"fig.savefig('C:/Users/caitlin.rivers/')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 60,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0xc8183c8>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\ngg==\n",
"text": [
"<matplotlib.figure.Figure at 0xc23d080>"
]
}
],
"prompt_number": 60
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"excel_data = pd.read_csv(infer_datetime_format=True, parse_dates)"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.to_csv('C:/Users/caitlin.rivers/Downloads/my_clean_data.csv')"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# III. Homework\n",
"1. Install (show):\n",
" - pandas\n",
" - numpy\n",
" - seaborn\n",
" - epipy (?)\n",
"2. Produce descriptive statistics in an ipython notebook on your own data set. If something doesn't work or you get stuck, make a note of it so we can talk about it in class. Then skip it and move on, don't stew over it.\n",
"3. Send me the html or ipynb or something that shows what you did."
]
},
{
"cell_type": "code",
"collapsed": true,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": null
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment