Skip to content

Instantly share code, notes, and snippets.

@mkcor
Last active August 29, 2015 14:18
Show Gist options
  • Select an option

  • Save mkcor/8dd71bf22fa40ec3eae4 to your computer and use it in GitHub Desktop.

Select an option

Save mkcor/8dd71bf22fa40ec3eae4 to your computer and use it in GitHub Desktop.
Notebook for "From Python basics (lists and dictionaries) to data analysis"
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:b1a79d124f0a97b5c182c904e89d3e239054b83188f68e151ce387c23aeb34c5"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"2. From Python basics (lists and dictionaries) to data analysis."
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"This section is devoted to introducing data structures and their manipulation in Python."
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Python as a calculator"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"10 + 2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"text": [
"12"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"2 * 3"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"6"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"1 / 2 # Attention here: Python 2 vs 3"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"0"
]
}
],
"prompt_number": 3
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Types"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"int"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(1.5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"float"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type('a')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"str"
]
}
],
"prompt_number": 6
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Names"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"myname = 'Marianne'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"myage = 29"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(myname)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Marianne\n"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(myage)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"29\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dir() # returns a list of the names defined in the local namespace"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"['In',\n",
" 'Out',\n",
" '_',\n",
" '_1',\n",
" '_2',\n",
" '_3',\n",
" '_4',\n",
" '_5',\n",
" '_6',\n",
" '__',\n",
" '___',\n",
" '__builtin__',\n",
" '__builtins__',\n",
" '__doc__',\n",
" '__name__',\n",
" '_dh',\n",
" '_i',\n",
" '_i1',\n",
" '_i10',\n",
" '_i11',\n",
" '_i2',\n",
" '_i3',\n",
" '_i4',\n",
" '_i5',\n",
" '_i6',\n",
" '_i7',\n",
" '_i8',\n",
" '_i9',\n",
" '_ih',\n",
" '_ii',\n",
" '_iii',\n",
" '_oh',\n",
" '_sh',\n",
" 'exit',\n",
" 'get_ipython',\n",
" 'myage',\n",
" 'myname',\n",
" 'quit']"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# dir(np)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Strings"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(myname)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"str"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Length (built-in function)\n",
"len(myname)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"8"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"myname[0] # Access element"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"'M'"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"myname[1:3] # Slice"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"'ar'"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"myname + 'other_string' # Concatenation"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"'Marianneother_string'"
]
}
],
"prompt_number": 18
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Lists"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1 = [1, 2, 3]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(l1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"list"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(l1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"3"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l2 = [5, 6]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1 + l2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 23,
"text": [
"[1, 2, 3, 5, 6]"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Access (get) elements\n",
"l1[1]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
"2"
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"1"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(l1 + l2)[4]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
"6"
]
}
],
"prompt_number": 26
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Challenge: Access the last element of a list (say, l1 + l2) in the general case."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"(l1 + l2)[len(l1 + l2) - 1] # last element"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"6"
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l2[-2]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
"5"
]
}
],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Change (set) elements\n",
"l1[0] = 0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 30,
"text": [
"[0, 2, 3]"
]
}
],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(l1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[0, 2, 3]\n"
]
}
],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Convenient lists\n",
"range(10)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]"
]
}
],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(range(10))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 33,
"text": [
"list"
]
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(range(10))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
"10"
]
}
],
"prompt_number": 34
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range(1, 20, 2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 35,
"text": [
"[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]"
]
}
],
"prompt_number": 35
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range(10, 1, -1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 36,
"text": [
"[10, 9, 8, 7, 6, 5, 4, 3, 2]"
]
}
],
"prompt_number": 36
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"simpsons = ['Bart', 'Marge', 'Homer', 'Lisa', 'Maggie']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range(len(simpsons))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
"[0, 1, 2, 3, 4]"
]
}
],
"prompt_number": 38
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"For-loop syntax"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for i in range(len(simpsons)):\n",
" row_like = 'Index: ' + str(i) + ' | Name: ' + simpsons[i]\n",
" print(row_like)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Index: 0 | Name: Bart\n",
"Index: 1 | Name: Marge\n",
"Index: 2 | Name: Homer\n",
"Index: 3 | Name: Lisa\n",
"Index: 4 | Name: Maggie\n"
]
}
],
"prompt_number": 39
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lists let you group similar items together."
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Dictionaries"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As the name suggests, dictionaries are used to look things up. Specifically, a dictionary associates *keys* with *values*."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"meaning = {'apple': 'round edible fruit',\n",
" 'computer': 'electronic device that drives people crazy',\n",
" 'window': 'glass fitted in a wall',\n",
" 'python': 'large tropical snake',\n",
" }"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"meaning['apple'] # Look up, access, get an element"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"'round edible fruit'"
]
}
],
"prompt_number": 41
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(meaning)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"dict"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Add an element\n",
"meaning['ruby'] = 'attractive semi-precious gem'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 43
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(meaning)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 44,
"text": [
"5"
]
}
],
"prompt_number": 44
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each *key* is unique, but values can repeat."
]
},
{
"cell_type": "heading",
"level": 5,
"metadata": {},
"source": [
"Challenge: Change the meaning of 'python'."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Take-away: A list is a sequence: each element of a sequence is assigned a number (its position or index). The first index is 0, the second index is 1, and so forth. Dictionaries are not ordered. Lists and dictionaries are one-dimensional data structures."
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Methods"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A method is a function that's attached to some object. It will return different values depending on which object it's attached to."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(meaning.keys())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['python', 'window', 'computer', 'ruby', 'apple']\n"
]
}
],
"prompt_number": 45
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(meaning.values())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['large tropical snake', 'glass fitted in a wall', 'electronic device that drives people crazy', 'attractive semi-precious gem', 'round edible fruit']\n"
]
}
],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# meaning. # Press tab to see all available methods"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Add elements to a list..\n",
"l1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
"[0, 2, 3]"
]
}
],
"prompt_number": 48
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1.append(4)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 49
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"l1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
"[0, 2, 3, 4]"
]
}
],
"prompt_number": 50
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Plotly magic"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Build a trace: it's a dictionary with some required keys and optional ones\n",
"mytrace = {'x': [0, 0.5, 1, 1.5], 'y': [10, 9, 13, 8]}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 51
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Plot info is contained in a dictionary with keys 'data' and 'layout'.\n",
"# Value of 'data' is a list of traces.\n",
"data = [mytrace]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 52
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import plotly.plotly as py # Load plotly submodule"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 53
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"py.iplot(data, filename=\"plotly_test\", fileopt=\"overwrite\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~marianne2/1109.embed\" height=\"525\" width=\"100%\"></iframe>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 54,
"text": [
"<plotly.tools.PlotlyDisplay at 0x7faddf80edd0>"
]
}
],
"prompt_number": 54
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you need two-dimensional data structures, look into numpy arrays and pandas' data frames."
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Numpy arrays"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.array([[1, 2, 3], [4, 5, 6]])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 55
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 56,
"text": [
"array([[1, 2, 3],\n",
" [4, 5, 6]])"
]
}
],
"prompt_number": 56
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.array((np.random.rand(2, 2)) * 3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 57,
"text": [
"array([[ 0.29181839, 1.96933287],\n",
" [ 2.4385385 , 2.32647563]])"
]
}
],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(arr)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 58,
"text": [
"numpy.ndarray"
]
}
],
"prompt_number": 58
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.dtype"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 59,
"text": [
"dtype('int64')"
]
}
],
"prompt_number": 59
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr = np.array([[1, 2, 3], [4, 5, 6]], dtype=float)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 60
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Arrays are homogeneous."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.dtype"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 61,
"text": [
"dtype('float64')"
]
}
],
"prompt_number": 61
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 62,
"text": [
"array([ 1., 2., 3.])"
]
}
],
"prompt_number": 62
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 63,
"text": [
"(2, 3)"
]
}
],
"prompt_number": 63
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr[1, 2]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 64,
"text": [
"6.0"
]
}
],
"prompt_number": 64
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr[1][2]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 65,
"text": [
"6.0"
]
}
],
"prompt_number": 65
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr[1, :2]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 66,
"text": [
"array([ 4., 5.])"
]
}
],
"prompt_number": 66
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.max()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 67,
"text": [
"6.0"
]
}
],
"prompt_number": 67
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"arr.mean(axis=0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 68,
"text": [
"array([ 2.5, 3.5, 4.5])"
]
}
],
"prompt_number": 68
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mytrace2 = {'x': arr[0], 'y': arr[1]}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 69
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Data frames"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 70
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pd.DataFrame({'a': [42, 43, 44], 'b': [2.2, 1.1, 3.3]})"
],
"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>a</th>\n",
" <th>b</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 42</td>\n",
" <td> 2.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 43</td>\n",
" <td> 1.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 44</td>\n",
" <td> 3.3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 71,
"text": [
" a b\n",
"0 42 2.2\n",
"1 43 1.1\n",
"2 44 3.3"
]
}
],
"prompt_number": 71
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df = pd.DataFrame({'a': [42, 43, 44], 'b': [2.2, 1.1, 3.3]})"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 72
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['a']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 73,
"text": [
"0 42\n",
"1 43\n",
"2 44\n",
"Name: a, dtype: int64"
]
}
],
"prompt_number": 73
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['b']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 74,
"text": [
"0 2.2\n",
"1 1.1\n",
"2 3.3\n",
"Name: b, dtype: float64"
]
}
],
"prompt_number": 74
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Data frames can be heterogeneous."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mytrace3 = {'x': df['a'], 'y': df['b']}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 75
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"py.iplot([mytrace3], filename=\"df_test\", fileopt=\"overwrite\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~marianne2/1112.embed\" height=\"525\" width=\"100%\"></iframe>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 76,
"text": [
"<plotly.tools.PlotlyDisplay at 0x7faddee8f710>"
]
}
],
"prompt_number": 76
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df2 = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 77
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df2.mean()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 78,
"text": [
"a 0.464662\n",
"b -0.015077\n",
"c -0.019598\n",
"d -0.190314\n",
"e -0.119687\n",
"dtype: float64"
]
}
],
"prompt_number": 78
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 79
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df2.mean().plot()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 80,
"text": [
"<matplotlib.axes.AxesSubplot at 0x7faddddc7a90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\ngg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7faddddc7550>"
]
}
],
"prompt_number": 80
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = pd.read_csv('https://raw.githubusercontent.com/mkcor/baseball-notebook/master/Batting.csv')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 81
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.head()"
],
"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>playerID</th>\n",
" <th>yearID</th>\n",
" <th>stint</th>\n",
" <th>teamID</th>\n",
" <th>lgID</th>\n",
" <th>G</th>\n",
" <th>G_batting</th>\n",
" <th>AB</th>\n",
" <th>R</th>\n",
" <th>H</th>\n",
" <th>...</th>\n",
" <th>SB</th>\n",
" <th>CS</th>\n",
" <th>BB</th>\n",
" <th>SO</th>\n",
" <th>IBB</th>\n",
" <th>HBP</th>\n",
" <th>SH</th>\n",
" <th>SF</th>\n",
" <th>GIDP</th>\n",
" <th>G_old</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> aardsda01</td>\n",
" <td> 2004</td>\n",
" <td> 1</td>\n",
" <td> SFN</td>\n",
" <td> NL</td>\n",
" <td> 11</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> aardsda01</td>\n",
" <td> 2006</td>\n",
" <td> 1</td>\n",
" <td> CHN</td>\n",
" <td> NL</td>\n",
" <td> 45</td>\n",
" <td> 43</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> aardsda01</td>\n",
" <td> 2007</td>\n",
" <td> 1</td>\n",
" <td> CHA</td>\n",
" <td> AL</td>\n",
" <td> 25</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> aardsda01</td>\n",
" <td> 2008</td>\n",
" <td> 1</td>\n",
" <td> BOS</td>\n",
" <td> AL</td>\n",
" <td> 47</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> aardsda01</td>\n",
" <td> 2009</td>\n",
" <td> 1</td>\n",
" <td> SEA</td>\n",
" <td> AL</td>\n",
" <td> 73</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 24 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 82,
"text": [
" playerID yearID stint teamID lgID G G_batting AB R H ... SB CS \\\n",
"0 aardsda01 2004 1 SFN NL 11 11 0 0 0 ... 0 0 \n",
"1 aardsda01 2006 1 CHN NL 45 43 2 0 0 ... 0 0 \n",
"2 aardsda01 2007 1 CHA AL 25 2 0 0 0 ... 0 0 \n",
"3 aardsda01 2008 1 BOS AL 47 5 1 0 0 ... 0 0 \n",
"4 aardsda01 2009 1 SEA AL 73 3 0 0 0 ... 0 0 \n",
"\n",
" BB SO IBB HBP SH SF GIDP G_old \n",
"0 0 0 0 0 0 0 0 11 \n",
"1 0 0 0 0 1 0 0 45 \n",
"2 0 0 0 0 0 0 0 2 \n",
"3 0 1 0 0 0 0 0 5 \n",
"4 0 0 0 0 0 0 0 NaN \n",
"\n",
"[5 rows x 24 columns]"
]
}
],
"prompt_number": 82
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data['yearID'].min()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 83,
"text": [
"1871"
]
}
],
"prompt_number": 83
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"filtered = data[data['yearID'] > 2003]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 84
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"filtered['avg'] = filtered['H'] / filtered['AB']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 85
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"filtered.head()"
],
"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>playerID</th>\n",
" <th>yearID</th>\n",
" <th>stint</th>\n",
" <th>teamID</th>\n",
" <th>lgID</th>\n",
" <th>G</th>\n",
" <th>G_batting</th>\n",
" <th>AB</th>\n",
" <th>R</th>\n",
" <th>H</th>\n",
" <th>...</th>\n",
" <th>CS</th>\n",
" <th>BB</th>\n",
" <th>SO</th>\n",
" <th>IBB</th>\n",
" <th>HBP</th>\n",
" <th>SH</th>\n",
" <th>SF</th>\n",
" <th>GIDP</th>\n",
" <th>G_old</th>\n",
" <th>avg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> aardsda01</td>\n",
" <td> 2004</td>\n",
" <td> 1</td>\n",
" <td> SFN</td>\n",
" <td> NL</td>\n",
" <td> 11</td>\n",
" <td> 11</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 11</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> aardsda01</td>\n",
" <td> 2006</td>\n",
" <td> 1</td>\n",
" <td> CHN</td>\n",
" <td> NL</td>\n",
" <td> 45</td>\n",
" <td> 43</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 45</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> aardsda01</td>\n",
" <td> 2007</td>\n",
" <td> 1</td>\n",
" <td> CHA</td>\n",
" <td> AL</td>\n",
" <td> 25</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> aardsda01</td>\n",
" <td> 2008</td>\n",
" <td> 1</td>\n",
" <td> BOS</td>\n",
" <td> AL</td>\n",
" <td> 47</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> aardsda01</td>\n",
" <td> 2009</td>\n",
" <td> 1</td>\n",
" <td> SEA</td>\n",
" <td> AL</td>\n",
" <td> 73</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>...</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 25 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 86,
"text": [
" playerID yearID stint teamID lgID G G_batting AB R H ... CS BB \\\n",
"0 aardsda01 2004 1 SFN NL 11 11 0 0 0 ... 0 0 \n",
"1 aardsda01 2006 1 CHN NL 45 43 2 0 0 ... 0 0 \n",
"2 aardsda01 2007 1 CHA AL 25 2 0 0 0 ... 0 0 \n",
"3 aardsda01 2008 1 BOS AL 47 5 1 0 0 ... 0 0 \n",
"4 aardsda01 2009 1 SEA AL 73 3 0 0 0 ... 0 0 \n",
"\n",
" SO IBB HBP SH SF GIDP G_old avg \n",
"0 0 0 0 0 0 0 11 NaN \n",
"1 0 0 0 1 0 0 45 0 \n",
"2 0 0 0 0 0 0 2 NaN \n",
"3 1 0 0 0 0 0 5 0 \n",
"4 0 0 0 0 0 0 NaN NaN \n",
"\n",
"[5 rows x 25 columns]"
]
}
],
"prompt_number": 86
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"filtered['avg'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 87,
"text": [
"<matplotlib.axes.AxesSubplot at 0x7faddda82710>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n2T0AAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x7faddda82e50>"
]
}
],
"prompt_number": 87
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Challenge: Create or import data as a data frame. Make a plotly plot using one or two dimensions of the data frame."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Take-away: Data frames are convenient data structures for data exploration, pre-processing, and processing (leading to visualization)."
]
},
{
"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