{
"metadata": {
"name": "Numerical analysis with NumPy"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Numerical Analysis with NumPy \n",
"\n",
"Materials created by:\n",
" \n",
"Aron Ahmadia, Continuum Analytics\n",
"\n",
"Peter Wang, Continuum Analytics\n",
"\n",
"Ben Zaitlen, Continuum Analytics\n",
"\n",
"Randy Olson, Michigan State Universty\n",
"\n",
"## Learning Objectives\n",
"\n",
"1. Understand NumPy\n",
"2. Create simple arrays of data in NumPy\n",
"3. Access and modify array elements\n",
"4. Compute on arrays"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"The basics"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales = [0.75, 1.5, 2.0, 4.0, 5.0, 6.0, 10.0]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales*2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 2,
"text": [
"[0.75, 1.5, 2.0, 4.0, 5.0, 6.0, 10.0, 0.75, 1.5, 2.0, 4.0, 5.0, 6.0, 10.0]"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales+2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "can only concatenate list (not \"int\") to list",
"output_type": "pyerr",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0msales\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mTypeError\u001b[0m: can only concatenate list (not \"int\") to list"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales = np.array(sales)\n",
"print sales"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 0.75 1.5 2. 4. 5. 6. 10. ]\n"
]
}
],
"prompt_number": 5
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Basic Math"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales+1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 6,
"text": [
"array([ 1.75, 2.5 , 3. , 5. , 6. , 7. , 11. ])"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sales*2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 7,
"text": [
"array([ 1.5, 3. , 4. , 8. , 10. , 12. , 20. ])"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.power(sales, 2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 8,
"text": [
"array([ 0.5625, 2.25 , 4. , 16. , 25. , 36. ,\n",
" 100. ])"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### What is NumPy?\n",
"\n",
"Python library that provides multi-dimensional arrays, tables, and matrices for Python\n",
"\n",
"- Contiguous or strided arrays\n",
"- Homogeneous (but types can be algebraic)\n",
"- Arrays of records and nested records\n",
"- Fast routines for array operations (C, ATLAS, MKL)\n",
"\n",
"### NumPy's Many Uses\n",
"\n",
"- Image and signal processing\n",
"- Linear algebra\n",
"- Data transformation and query\n",
"- Time series analysis\n",
"- Statistical analysis\n",
"- Many more!"
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Create Arrays of Data in NumPy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lots of methods of array initialization\n",
"\n",
"- python list\n",
"- zeros\n",
"- ones\n",
"- diagonal\n",
"- eye \n",
"- random"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.zeros(5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 9,
"text": [
"array([ 0., 0., 0., 0., 0.])"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.ones(5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 10,
"text": [
"array([ 1., 1., 1., 1., 1.])"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.random.random(5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 11,
"text": [
"array([ 0.66648901, 0.89045666, 0.24164698, 0.3969619 , 0.34864545])"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.diag([1,1,1,1,1])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 12,
"text": [
"array([[1, 0, 0, 0, 0],\n",
" [0, 1, 0, 0, 0],\n",
" [0, 0, 1, 0, 0],\n",
" [0, 0, 0, 1, 0],\n",
" [0, 0, 0, 0, 1]])"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NumPy also has methods for generating linearly/log spaced values"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.arange(0,10)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 13,
"text": [
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.arange(10,30,2)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 14,
"text": [
"array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28])"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.linspace(0,2,10)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 15,
"text": [
"array([ 0. , 0.22222222, 0.44444444, 0.66666667, 0.88888889,\n",
" 1.11111111, 1.33333333, 1.55555556, 1.77777778, 2. ])"
]
}
],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NumPy has a type and a shape. The above array are either floats or ints, but these are infered. We could be explicit"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.ones(5)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 16,
"text": [
"array([ 1., 1., 1., 1., 1.])"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.ones(5,dtype='int64')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 17,
"text": [
"array([1, 1, 1, 1, 1], dtype=int64)"
]
}
],
"prompt_number": 17
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We also can define the shape of the array"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.ones(shape=(3,3),dtype='float64')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 18,
"text": [
"array([[ 1., 1., 1.],\n",
" [ 1., 1., 1.],\n",
" [ 1., 1., 1.]])"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.random.uniform(0,1,size=(5,5))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 19,
"text": [
"array([[ 0.00304427, 0.84160095, 0.3167405 , 0.56702975, 0.24500155],\n",
" [ 0.42505285, 0.911683 , 0.33022088, 0.52441459, 0.8219738 ],\n",
" [ 0.44855388, 0.40749562, 0.5910397 , 0.48225375, 0.16479927],\n",
" [ 0.39055229, 0.32811335, 0.23763238, 0.16384718, 0.51039829],\n",
" [ 0.88561498, 0.47630962, 0.15369293, 0.57210622, 0.00708663]])"
]
}
],
"prompt_number": 19
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Multidimensional properties"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = np.zeros(9)\n",
"print data"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data.reshape((3,3,))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 21,
"text": [
"array([[ 0., 0., 0.],\n",
" [ 0., 0., 0.],\n",
" [ 0., 0., 0.]])"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data = data.reshape((3,3))\n",
"data[0,0] = 12\n",
"data[1,0] = 13\n",
"data[2,0] = 14\n",
"print data"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[[ 12. 0. 0.]\n",
" [ 13. 0. 0.]\n",
" [ 14. 0. 0.]]\n"
]
}
],
"prompt_number": 22
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Data access is arr[row, column]\n",
"\n",
"reshaping is just another view of the same data. no "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#row selection\n",
"print data[0,:]\n",
"#column selection\n",
"print data[:,0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 12. 0. 0.]\n",
"[ 12. 13. 14.]\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data[:,1] = 0.2\n",
"print data"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[[ 12. 0.2 0. ]\n",
" [ 13. 0.2 0. ]\n",
" [ 14. 0.2 0. ]]\n"
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data[:,2] = [.3,.4,9.12]\n",
"print data"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[[ 12. 0.2 0.3 ]\n",
" [ 13. 0.2 0.4 ]\n",
" [ 14. 0.2 9.12]]\n"
]
}
],
"prompt_number": 25
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In last cell, shape of assignment must match shape of accessed data"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Exercise 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Create a 4x4 array with numbers from a normal distribution with mean = 5 and standard deviation = 2.7.\n",
"\n",
"2. Sum the values of each column and store the result in a new array.\n",
"\n",
"3. Sum the values of each row and store the result in a new array.\n",
"\n",
"4. Sum all of the values and store the result in a new array."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 26
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's get our feet wet with some real data."
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Import Modules "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import zipfile\n",
"import os\n",
"import urllib2"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 27
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Download Data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We've gone ahead and bundled up a small bucket of this data for our analysis today at http://figshare.com/articles/GSOD_Weather_NOAA/743699\n",
"\n",
"We can grab the data from the following permanent URL:\n",
"http://files.figshare.com/1116528/weather.zip"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dirname = 'weather'\n",
"if os.path.exists(dirname):\n",
" print 'weather directory exists, skipping download/unzip'\n",
"else:\n",
" os.mkdir(dirname)\n",
"\n",
" url = 'http://files.figshare.com/1116528/weather.zip'\n",
" response = urllib2.urlopen(url)\n",
"\n",
" fname = 'weather.zip'\n",
" with open(fname,'wb') as f:\n",
" f.write(response.read())\n",
"\n",
" zfile = zipfile.ZipFile('weather.zip')\n",
" \n",
" for name in zfile.namelist()[1:]:\n",
" print name\n",
" with open(name,\"w\") as f:\n",
" f.write(zfile.read(name))\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"weather/CALOSANG.txt\n",
"weather/CASANFRA.txt\n",
"weather/INSOBEND.txt\n",
"weather/KYLEXING.txt"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"weather/MDWASHDC.txt\n",
"weather/NYNEWYOR.txt\n",
"weather/WASEATTL.txt\n"
]
}
],
"prompt_number": 28
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"What does the text file look like?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"with open('weather/CALOSANG.txt','r') as f:\n",
" print '\\n'.join(f.readlines()[:3])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" 1 1 1995 56.4\r\n",
"\n",
" 1 2 1995 55.1\r\n",
"\n",
" 1 3 1995 54.3\r\n",
"\n"
]
}
],
"prompt_number": 29
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This text file is \n",
"- Month\n",
"- Day\n",
"- Year\n",
"- Temp"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Load data file into numpy array and print first row"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"w_data = np.loadtxt('weather/CALOSANG.txt')\n",
"w_data[0] "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 30,
"text": [
"array([ 1.00000000e+00, 1.00000000e+00, 1.99500000e+03,\n",
" 5.64000000e+01])"
]
}
],
"prompt_number": 30
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"We can do a bit better if we define a `dtype`. That is, the type for each column: string, int, float"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dt = np.dtype([('Month', 'int8'), ('Day', 'int8'), ('Year', 'int16'), ('Temp', 'float64')])\n",
"w_data = np.loadtxt('weather/CALOSANG.txt',dtype=dt)\n",
"w_data[:5] "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 31,
"text": [
"array([(1, 1, 1995, 56.4), (1, 2, 1995, 55.1), (1, 3, 1995, 54.3),\n",
" (1, 4, 1995, 53.6), (1, 5, 1995, 56.6)], \n",
" dtype=[('Month', 'i1'), ('Day', 'i1'), ('Year', ']"
]
},
{
"output_type": "display_data",
"png": "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\nRAYMDEREZPD/+wMMwvseKZUAAAAASUVORK5CYII=\n"
}
],
"prompt_number": 42
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Question: What is the max,min,standard deviation,average, and variance of temperature in 1995 compare to 2012?\n",
"\n",
"NumPy has vectorized conditionals which result in boolean arrays"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"w_data['Year'] == 1995"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 43,
"text": [
"array([ True, True, True, ..., False, False, False], dtype=bool)"
]
}
],
"prompt_number": 43
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These arrays can be used an input into the original array selecting all the rows where the conditional is True"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cond = w_data['Year'] == 1995\n",
"w_data[cond][:5]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 44,
"text": [
"array([(1, 1, 1995, 56.4), (1, 2, 1995, 55.1), (1, 3, 1995, 54.3),\n",
" (1, 4, 1995, 53.6), (1, 5, 1995, 56.6)], \n",
" dtype=[('Month', 'i1'), ('Day', 'i1'), ('Year', '"
]
},
{
"output_type": "display_data",
"png": "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\nTkSuQmCC\n"
}
],
"prompt_number": 53
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###Interesting spike around day 50\n",
"\n",
"Where does that occur? We could look for the maximum value in year 1995 between 0 and 100"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"max_val = np.argmax(year1995['Temp'][:100])\n",
"year1995[max_val], max_val #Ha! Looks like it occur exactly on day 50 of the year"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 54,
"text": [
"((2, 20, 1995, 73.6), 50)"
]
}
],
"prompt_number": 54
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Let's also return to the previous plot of all the years"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.figure(figsize=(9,9))\n",
"plt.plot(w_data['Temp'])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 55,
"text": [
"[]"
]
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAIXCAYAAAC7P9W6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFNW9//FvDwjihkYDGmFEEdkUGCNgYhQkRomJgprF\nJZpEs4gLxN1rvInGezVqjFsEye9Kgho1eq9G1Ci4ZCRoBIw7q2jiuOIuA4LCTP3+KA91+vSptau6\nu7rfr+fhmZlmpqq6upZPnbXgOI4jAAAAOdBU7Q0AAACIiuACAAByg+ACAAByg+ACAAByg+ACAABy\ng+ACAAByo+zgcvzxx0vv3r1ljz322Phae3u7TJgwQZqbm2XixImyevXqjf93zTXXyIABA2TIkCEy\nb968clcPAAAaSNnB5Yc//KE88MADRa9NmzZNmpub5cUXX5Q+ffrI9ddfLyIib7/9tkydOlUefvhh\nmTZtmkyePLnc1QMAgAZSdnDZd999ZZtttil6bcGCBXLCCSdI9+7d5fjjj5f58+eLiMj8+fNl/Pjx\n0tzcLGPGjBHHcaS9vb3cTQAAAA0ikzYuCxculEGDBomIyKBBg2TBggUi4gaXwYMHb/y9gQMHbvw/\nAACAMJkElzizCBQKhSw2AQAA1KGuWSx05MiRsmTJEmlpaZElS5bIyJEjRURk9OjR8tBDD238vaVL\nl278P92uu+4qL730UhabBgAAKqx///6yYsWKVJaVSYnL6NGjZcaMGbJ27VqZMWOG7L333iIiMmrU\nKJk9e7a0tbVJa2urNDU1yZZbblny9y+99JI4jsM/n3+//OUvq74NtfqPfcP+Yf+wf9g3tfcvzcKI\nsoPLUUcdJV/+8pdl+fLl0rdvX/nDH/4gkyZNkra2Nhk4cKC8/vrrcuKJJ4qISO/evWXSpEkybtw4\nOemkk+Tqq68u+w0AAIDGUXZV0a233mp9/e6777a+PmXKFJkyZUq5qwUAAA2IkXNzaOzYsdXehJrF\nvgnG/gnG/gnG/vHHvqmcguM40bsAVUihUJAa3CwAAJBAmvd1SlwAAEBuEFwAAEBuEFwAAEBuEFwA\nAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBu\nEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwAAEBuEFwA\n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\nffu6760WhkjPgt9Ef3GZ15pCwetym9ZxUAsDajY1ld8eUaf2zZlnFl/f0j531BxyarlZzIGljoFv\nf1tk//2917t0KW3MfPrp5TctMI/dvM+2npvgIpJsxEEbc2TJpqZsg0sliuLUDVgVod5+e7SJ6dJg\nBpeoczVFoX8u6mKcxv7cay932WFd67/1LZFDDil/fcr223vvQ108ttkmvad5Zdq0dJdno2bT1se5\nyErWU0hUkrq2qeHvC4Vsuj+vWydywgnu96q3YdxRdcuRRi85nbrGXX55cfV0tUL/N76R/G/1bTbH\ndtKveWnN0bTvvsUTVeb94SLT4NKvXz8ZNmyYtLS0yKhRo0REpL29XSZMmCDNzc0yceJEWb16tX3D\nLFu2yy7pPElsvnnxzdZxsn1CSbMBoR+z5GDsWPemWwlqX6p60zRLYPRReM0bfhqam91qDj/f+57I\nrFnlr2eLLbybhrpoqffz/vvBQ27HvTB//HF6o5UGUePtZFHiZtKfSvOutdX9qqoLCoVkDUDDjovu\n3b3rgir50EeFzoLeZitsqIG49OMs7WH44+rRo7w5noYN80arPflkd+JONdiq/n7SrKLSH9IILgEK\nhYK0trbK008/LQsWLBARkWnTpklzc7O8+OKL0qdPH7n++uutf2t7uU+f9EpdSrc1m+WKiEyalP3F\nvZqTaDmOO9vxU0+5Yem449JZ7tq1xd011cmWdglW0Ng3aVm8WOTZZ93vs5o+QKnUyLaq8eVRR2W/\nrqQzZtciW08182EqLd/4hnt8q+tb1qW/WZZc6+dNJYLLAw/4/1+5n9VWW3ntTAoF91xSDYr10rc0\n96e+zbVQlViOzKuKHOMTXrBggZxwwgnSvXt3Of7442X+/PnWv0u7y14Qx8n/AD1//7t9uOpK6OwU\n2Wknt83GHXcUT9NQjk03Lf5c1Pd5fFro29erZ846uFSK+hx+8pPs1qFKqapZJ5/2utVxXIm5lo44\nwi1RrESpmEi270U/b/TPpNLX7u7ds31Q1K9vaV7rbNedtWvTW34lZV7iMm7cOJk4caLM+qy8feHC\nhTLos4kkBg0atLEkptryHly+8IVsBsyKopIXxXnzsrmJpTn6aph6CS6VeGpTN8JqBZfVq9Mbv0VR\n56naf5Wo6qjUOZrldbRWqoqWL/fad2WhZ0/3uBNJN7jYjoFyp8+plkyfXR977DHZYYcdZMmSJXLI\n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\n2TJpaWnZ+K9nz55yzTXXyOrVq7PfP6m1lknBiBEjnEcffdT597//7QwcONB55513qr1JFTF37lzn\nqaeecnbfffeNr1166aXOKaec4qxbt845+eSTncsvv9xxHMdZuXKlM3DgQOeVV15xWltbnZaWlo1/\n8/Wvf9257bbbnHfffdfZZ599nIULF1b8vaTtzTffdJ5++mnHcRznnXfecXbeeWdn1apV7B/NmjVr\nHMdxnHXr1jlDhw51li9fzv4xXHHFFc7RRx/tHHLIIY7jcH7p+vXr57z33ntFr7F/XGeccYZz/vnn\nO2vXrnXWr1/vfPjhh+wbi46ODmf77bd32traKrJ/aqbE5aOPPhIRkf3220922mknOfDAAxtmgLp9\n991Xttlmm6LXFixYICeccIJ0795djj/++I37otEG+Nt+++1lxIgRIiKy3XbbydChQ2XhwoXsH81m\nm20mIiKrV6+WDRs2SPfu3dk/mtdee03++te/yo9+9KONHQnYP8Uco8UA+8f10EMPyXnnnSebbrqp\ndO3aVXr27Mm+sXjooYdk1113lb59+1Zk/9RMcFm4cKEM0kbIavQB6vT9MWjQIFmwYIGIuB9+ow7w\nt2LFClm0aJGMGjWK/aPp7OyU4cOHS+/eveWUU06R5uZm9o/mtNNOk8svv1yamrzLHfvHUygUZNy4\ncTJx4kSZNWuWiLB/RNzAu27dOpk0aZKMHj1aLr30Ulm7di37xuK2226To446SkQqc+zUTHBBMfMJ\nKEgjDPDX3t4u3/3ud+XKK6+ULbbYgv2jaWpqkmeffVZWrFghU6dOlaeffpr985l7771XevXqJS0t\nLUXvif3jeeyxx+TZZ5+VSy65RE4//XR566232D/ith9bvny5HHHEEdLa2iqLFi2S22+/nX1j+PTT\nT+Wee+6Rb3/72yJSmXOrZoLLyJEjZenSpRt/XrRokey9995V3KLqGjlypCxZskRE3IZLI0eOFBGR\n0aNHy+LFizf+3tKlS2XkyJGy6667ysqVKze+vnjx4rrZf+vXr5cjjjhCjj32WJkwYYKIsH9s+vXr\nJwcffLDMnz+f/fOZxx9/XGbNmiU777yzHHXUUfLII4/Isccey/7R7LDDDiIiMnjwYDn00EPlnnvu\nYf+IyK677ioDBw6UQw45RHr06CFHHXWUPPDAA+wbw/333y9f/OIX5fOf/7yIVObaXDPBpWfPniLi\n9iz697//LQ8++KCMbuDJLUaPHi0zZsyQtWvXyowZMzZ+kKNGjZLZs2dLW1ubtLa2Wgf4e/fdd+Wu\nu+6qi/3nOI6ccMIJsvvuu8vPfvazja+zf1zvvvuufPjhhyIi8t5778mcOXNkwoQJ7J/PXHzxxfLq\nq6/Kv/71L7nttttk3LhxctNNN7F/PvPxxx9Le3u7iIi88847Mnv2bBk/fjz75zMDBgyQ+fPnS2dn\np9x3331ywAEHsG8Mt95668ZqIpEKXZvTaFGcltbWVmfQoEFO//79nauvvrram1MxRx55pLPDDjs4\n3bp1c/r06ePMmDHDWbVqlXPooYc6ffv2dSZMmOC0t7dv/P2rrrrK6d+/vzN48GBn7ty5G19ftGiR\n09LS4vTr188599xzq/FWUvf3v//dKRQKzvDhw50RI0Y4I0aMcO6//372z2eee+45p6WlxRk2bJhz\n4IEHOjNnznQcx2H/WLS2tm7sVcT+cb388svO8OHDneHDhzvjxo1zbrjhBsdx2D/KsmXLnNGjRzvD\nhw93zjjjDGf16tXsG83q1audbbfdduO0Po5TmWOHAegAAEBu1ExVEQAAQBiCCwAAyA2CCwAAyA2C\nCwAAyA2CCwAAyA2CCwAAyA2CCwAAyA2CCwAAyI3/D15i2YpwGieFAAAAAElFTkSuQmCC\n"
}
],
"prompt_number": 55
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###How should we handle those spikes? \n",
"- fill with zeros\n",
"- interporlate (cubic, linear)\n",
"- forward/backward fill\n",
"- fill with average\n",
"\n",
"How do we find spikes?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"min_idx = np.argmin(w_data['Temp']) #only returns one value\n",
"w_data['Temp'][min_idx], min_idx"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 56,
"text": [
"(-99.0, 1453)"
]
}
],
"prompt_number": 56
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`np.where` returns the indices where condition is met"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"np.where(w_data['Temp'] == -99.0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 57,
"text": [
"(array([1453, 1454, 1459, 1460, 1470, 2725, 2726, 2727, 2728, 2934, 2981,\n",
" 4622, 5015, 5212], dtype=int64),)"
]
}
],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"na_vals = np.where(w_data['Temp'] == -99.0)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 58
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"w_data['Temp'][na_vals] = [32 for i in range(len(na_vals))]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 59
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.figure(figsize=(6,4))\n",
"plt.plot(w_data['Temp']);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEACAYAAAC57G0KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXt8FcX5/z8nWoMCgjcEiykImIAiJDYEhUpUvFZIAK1i\nQWwiaor9oWJbq1ahtbR4Q6wCWk2/aqtIq3JTRKlGvCaAeIMIQaEI9QKokECiSPb3xzI5czazuzO7\ns5dzeN6vV15JztmdfXZ29rOzzzzzTMIwDAMEQRBExpEVtQEEQRBEMJDAEwRBZCgk8ARBEBkKCTxB\nEESGQgJPEASRoZDAEwRBZCiuAv/EE09gyJAhOOGEE/Dwww8DAOrr61FSUoKcnByUlpaioaEhcEMJ\ngiAINRwFfseOHZgyZQrmzZuH6upqPPTQQ9ixYwdmzZqFnJwc1NXVoWvXrpg9e3ZY9hIEQRCSOAr8\nm2++iYKCAhx22GFo164dTj/9dLz11luoqalBeXk5srOzUVZWhurq6rDsJQiCICQ50OnL0047Dddc\ncw02bNiANm3a4Pnnn0d2djaWL1+OvLw8AEBeXh5qampCMZYgCIKQx1Hg27Zti3vvvRcTJkzAjh07\n0LdvX2RnZ4OyGxAEQaQBhgIXX3yxsWLFCmPkyJHGO++8YxiGYaxYscIYNWqUcPsePXoYAOiHfuiH\nfuhH4adHjx4q0myLaxTNl19+CQBYunQpPvzwQxQUFKCoqAiVlZVobGxEZWUlBg4cKNz3448/hmEY\naftz2223RW7D/mg72R/9D9kf7c/HH3/sJs1SOLpoAODCCy/El19+ifbt26OyshKJRAIVFRUYM2YM\ncnNzUVBQgGnTpmkxhiAIgtCHq8AvW7as1Wft27fH/PnzAzGIIAiC0APNZHWguLg4ahM8k862A2R/\n1JD9mUHCMAwjsMITCQRYPEEQREaiSzupB08QBJGhkMATBEFkKCTwBEEQGQoJPEEQRIZCAk8QBJGh\nkMATBEFkKCTwBEEQGQoJPEEQRIZCAk8QBJGhkMATBEFkKCTwBEEQGQoJPEEQRIZCAk8QBJGhkMAH\nxIQJwKOPRm0FQRD7M5QuOCASCaCgAFi5MmpLCIJINyhdMEEQBOEICTxBEESGQgJPEASRoZDAEwRB\nZCgk8ARBEBkKCTxBEESGQgJPEASRoZDAEwQRa+bNAxobo7YiPSGBJwgi1owYAcydG7UV6QkJPEHs\np3z8cdQWyPPdd1FbAOzcCWzdGrUVapDAE8R+yJdfAj17Rm2FPM3NUVsADBsGdOoUtRVquAr83/72\nN5x66qk4+eSTce211wIA6uvrUVJSgpycHJSWlqKhoSFwQwmC0MeePc7fT54MzJwZiilpw+bNUVug\njqPAf/XVV5g6dSpeeuklLF++HOvWrcOSJUswa9Ys5OTkoK6uDl27dsXs2bPDspcgCAkuvtjZrZFI\nOO8/ZYr5Exf205yFvnEU+IMPPhiGYWDHjh1obGzE7t270bFjR9TU1KC8vBzZ2dkoKytDdXV1WPYS\nROzYuxeYMSNqK1KZOxfYvt1fGSSqqaRjfbgK/KxZs9CtWzd07twZgwYNQlFREZYvX468vDwAQF5e\nHmpqakIxliDiyObNwD7vZdrA9+CffBK44orobJHlxRejtiD9cBT4rVu3oqKiAmvWrMHGjRvx1ltv\nYdGiRfttjneCSCfc3DCM2bOBRx4J1ha/GAZwzjlRW5F+HOj0ZU1NDQYOHIie+4bbL7roIrz22mso\nLCxEbW0t8vPzUVtbi8LCQtsyJk+e3PJ3cXExiouLtRhOEH559lkzkqRvX3/lyAppXEmH/hqLojGM\n9K9vEVVVVaiqqtJerqPA/+QnP8HEiRPx1VdfoW3btli8eDEmTpyII444ApWVlbjjjjtQWVmJgQMH\n2pbBC3zceeQRYNky4LHHgN27gY4dgW+/jdoqIihGjgQGDwZee81fOUxwduwAOnRQ2/fYY4HXXwd+\n9CN/NgCmCBoGcMAB7tumm0iyh1CmCry18ztF0wi3o4vm0EMPxS233IIRI0Zg8ODB6NevH04//XRU\nVFRg06ZNyM3NxZYtW3D11VdrMSZqZs82xR0AvvkmHpMriPThj39U32fzZuCDD/Qcf+JE4Kij5Lbl\nRTIdevDpYGMccezBA8Dll1+Oyy+/POWz9u3bY/78+UHZRBChoUM4mFh6nYyjS7xWrAC+/jr5fyb1\ndPkePCEPzWS1gRoSIYtfIdU1S9PaZp3sSjfx1yHw331nhrTuT5DA2xCHqdGEHtatM11uInQInd8y\nouhMfPhh+Mf0g4466twZuPLKaG0IGxJ4G9LxYhJicnOB8ePF38XhOkdhw5lnhn9MP+jowX/9NfDu\nu3rsSRdI4Dn4xkM9+MwizumSonDRpBvkg/dGRgn8ZZeZIWc60HHTvfOO/zKIYImDiybqzoSdaMZJ\nTEngveEaRZNOPP44cPDBZmyzX1hDSiSoUWUycbi2O3dGbUH8CeotJ9PJqB48kJyYNHcu0K+f93L2\nt4ZAeIf14L22majzwKRTW08nW+NAxgk844UXgPff974/NSRClrj6umXscmrn27YBGzbos8cP5KLx\nRmwEPpEA1q7VW54faB4XQQDHH+/8fSIBrF8fvB1xEPY42KBKbAQeAD7/3Pu+t92W+r9fgV+92t/+\nOpk508yN45U1a+Lby9yfiYNguNnw/ffuZXzxhR5bnKAevDdiJfB+Lt6TT6b+71fQnnvO3/46mTAB\neOUV7/vX1uqzRTeHH+7v4eUXHXHRXtva88/7PzZPJotgHM4tHes1VgIfJ778MmoLUvGzHmScG+bX\nX6fmTwmbXbv01c+996ptH1QbUzkfw4h3+2Dw6YKj4F//AjZtMv/+8MP0qDMggwXeS69K10X74Q/N\n34ceqqc8AMiQhJ2+ee89/e6m//xHb3mysPPIyti7MHNYty75d9++wMsvR2eLCmnZtPbudY+LjdLn\n/L//mb+LiqKzgSeT/O86B+IZjY36y1ThhhtS/z/1VODVV72Xp+LOSJeeaNQuGutDuKkpGjtUiZXA\ny168/HxgxAjnbbyIWiYJYTohW+/TpwPPPJP62fXXA2++6e/4Uc0ktUsz/NZbZpivCt9/b77dAGoi\nuHJleoh81C4aq8Azd03ciYXAq160Dz4A3njD/Pukk4A//1m/TVFy4onAtGlRWxE/rr8eeOqp1M+m\nTzcXavGDF9G45RbglFP8HdfrBKm9e4Ff/zr1s6eeSi5Qo9LbdViMzRdNTcD27frLjUrg77kn9f9f\n/jIaO1SJhcBbI2BU+OADf6utv/qqOaED0NOD1zExZPVq8Tl98ol6WX/+M1BR4d8mXeTmAm+/nfpZ\nGG9OImFgS9t5EY2FC83z+PZb/28AqsffuRO4667Uz2TCGXUdX4acHODIIwHLWkGeidJFYxjxC7qQ\nJRYCzwTWK6J1GmVFo7gY+N3v/B2fZ9gwPeWI7PcSm3/ffcDWrf7t0cW6dea6t2Ejejiy124vAr1r\nl/m7TZvWvWkZbr89+TaiQ7T4dVh1i+C116rvw9rco4/qsUGXwHvZ308EW9TEQuAZXi+el/1+8Qvg\nnHP8HVeErt6oqJzhw/WUHTVRZ09kMIH3cv0//jj5N794xrPPyu3/+98n4+B1LhvIlydbrlubnTHD\nm006ibLNpMMYhR2BC/yjjzovLqAjDnnZstQwJhmefTbpBtF5Aa0r2j/+uLdydD0o+HNjidiiJoob\nRlSfusIT+fMZOdLf/jpQLS8dBCzqKBoRcemoOBG4wP/7384xo+3aAQ8/bP6tOkFDNzr857zA795t\n5qj3W45XvvsudRp5nEO73nvPe9pcr20hCIH3gmoPWfZhFScx9AsJvDdi4aLZuFF/mW49YL6hsL91\njPrrEg3VNxIRjzyS+n/Qg5mJhJxIi1Ye6t8fuOkm+WOpTvziBWLcOPO3n0FWniDq1alMkb0iF40s\ncTx/K34Efu1aYMoU78e2G8CO08PGjlgIfNRPZ8OwX5RZFV2N/bPP/JfBwuYYYdyIMpOG7Ho+Ki6k\nBx9M/i3Tbti519YCjz0G1Nf7y+N+8MFqxw8TZo+uNh0H/GjEww8Dkyd7P/YDD4g/d7MlkUgOxkdF\nLASe3fAqYYA6lxn77DPgsMPU9xOhS0R1uGisqNr21VdAz55q+3iZPRnEg2fJEmD06Nafs8Rru3f7\nG2Tlx5VU95eZjetUJ9bvamtTz5XZ07u33LHY9rqSvr32mp5yeGQE/okngF/9yrkcL23Nz4My6rWA\nYyHwrNd31VX+y1q1Sm47vqHozGbINyA/wqVD4K03g6oQbdiQGi2iC7t60dkTfuwxYM4c+2Mbhr8k\nZ35ccbrDRJ3SGqi4zFSTpdlx2mmp/+t8gDc3Ax99JP5uxgzg/vtbfy5yx6rgpb2Wl3s/nk5iIfA8\n06eHf0ydDdBPuBoPE3idSY1U7QjKpRNGo2e25+Wlfs7Hvh91lP/yrX97ZelSc4YqQ6WOrA8b1fpl\nb9B+JksFDXM3LlhgvpmEiRdvgZ/03jqJncBbp6Kr8sEHctvxF0dnNj9dAs8W+66u1mOXVzusHH+8\nc7SR3TFGjHDPf+5VKEWvwawsq4uCPTibm5OTcbzUC99mRPtv3w7U1Ij3FZ3nWWcB55/vvI0s/BiH\nistsz57oMmvyvPACUFKS+hlLFWAdV5LBT7tvarKvk6h75zLETuDdKu3GG/UfU2dPVfSw8BJOtX07\n8JvfyDWib78Fzj239ed+XTSieqmr87ZIxrx5wD//6WyP1xuG7/ky7K7pkUeav1VF0IqbwF97rXo2\n0RUr1LY3DHOw2Dp25TWK5vbbgaFDoxeup54ye+px4IkngP/+V/xd1PUkQ+wE3k0MWRIumRFsJ/j9\n2bbduzvvIwN/XJbl0GtDsOsBWtm2zRxUdEOXi8brA3HPHvM3i8cP8gaxS13Rrp3526/Au9WBF3cH\nqx83+DfDiorWielEbVumPIbulaZUYTbv3t16DMFJH4IY23EaC3MqN+rIQIarwK9duxb5+fktPx06\ndMB9992HhoYGlJSUICcnB6WlpWjQNFws29vVWXGsLFFPUBVRIws6BYPddlZb/Ao8qx/VGG0Gu7ZT\npwLt2wOLFnmzS+WY1m3Yb6dX/T17gMWLncvT7YMHzN64TJn8uXz1VevvVd8YrfXnJ/mfjoFadu4/\n/SnQrVvqd7JtZcsW8RuRaltzct9GLd4yuAp8bm4uVq1ahVWrVmHlypU45JBDMGLECMycORM5OTmo\nq6tD165dMdtvztZ9RCHwOgeZdLloADPczC4GV4brrkv932+dsWgNr4LGH7+hQS3JnCjhk1Mvya03\nZx185Vm4MNUfLsLNReOETpeg6NheB1kZVleaCtY25wVWt2vXto50cjo3vl5/8QugsND825q9VAWv\nnZm4oOSiWbp0KXr27Iljjz0WNTU1KC8vR3Z2NsrKylCtaTQwSoFnKzH5YcuW1p/5sVXGJlEj1PEm\noTuKxnptVV5jRYugOy0CofK6bv1Mpg06zRzVOVB53332PnbDENuqGhYo2y7mzAHatpXbVoamJnEm\nV1a3fib7HXRQ8u+33kr+bRim61P2LWW/Evg5c+Zg9L4ZFcuXL0fevm5QXl4eamQdxi6EVWn8cXRO\nzFi/3vlYUaJqx9Ch4s/9umgY7I1Jxi7R+AgrT2aQ1elh4neQ1YrbamMqTJzY+i2OPxeR7X5dNHa8\n/bbeOSOrVwN/+Uvrz3WIKj/T2MqECcCll8qV49eWqO/9A2U3/O6777Bw4UJM2zeiY0havnbtZADm\nVOHi4mIUFxc7bi9qnJ99ZvpMf/Sj5GeG4fzq5af3efHF/sM1edxuuJUrzZWpfvADfccU8b//qcV+\nW/PIszrV4aIBTPGSRXRMJ4FXwUs0j1Md8L501X1VkInPFh2LLe3HkH0g+LHbMLyv2cBjZ2tdXaoe\nHCitbM6E1YOvqqpCVVWVvgL3IV0Nixcvxsknn4yj9ilEYWEhamtrkZ+fj9raWhQyh5eFvLzJqKsT\n54Lo27f1Z6ILOGiQGXttffX0s2Sa08XRMdgqeywA+PGPgYceAsaPD/aJf8op3npgzc3+5gqwfBzW\nc2O5Z+xcLE8+CVxyibNd/G/r/jy6oxr8+OCdYPnkZQdZvfTg+/cXl+eG3QCqjFCvXGm2c5njehFV\n6wpoTukFVB4sXgVetU1YO79T/GRH45C+bZ988skW9wwAFBUVobKyEo2NjaisrMRAm8Ud7U60vj51\noQSn7XfsaP1ZkEl8dIusTA+JhQ7qSEFqlxZYJhGYCGv0jGqjf/99++94rD3fd95x3j4uAq9zX3ZP\nOL0FuPnYvcbBB4lKAINT+5K9P9ii5dYYdtVzdVqtK2r3iwxSzXTXrl1YunQpRnKrGVRUVGDTpk3I\nzc3Fli1bcLVi/tZDDxV/Hoccyzk5esuTOSc/oZp8Q3vpJWf/oxeam821VNmDQ/XVmsUSiwZKgaT9\nc+em5lVxC0V0Eni7Y4jcen5dNGvWpH6Xm5v8+7TTzLw4PE4Cf+ut5m9Rjvjly1Mf3oYhbi+qg6w6\nUlO7oTIQ7sV1c8014s+9hlkynJbr09mDDwopgW/bti22bduG9u3bt3zWvn17zJ8/H5s2bcK8efPQ\njs0gsaB6sXQIvOjNwIrTBfCyxqbXY1m38ese+vvf/e0vYvt2UwTOO8/8X3byTF2d+XebNs7b8mmC\n+RuKF0LRMVldqdSZSAi8tDknkWZpJgBzAH/cuNTvvSaSGzDAjKpxi6LRsXCNCroHG9Ml9jwdBlnT\nbiarDDNn+tu/Sxfg5z9X389urpdKD9Pv+as+UF9/3T1V8oknypfHzqOmxsxbA7hnbfzDH5J/33BD\n8m83gWcuJ5X6FWF9QMjclEG5aNz47jt3gf/JT7yX7wW2IpsughzYFA32+imL56OPzKRxPJWV/uay\n+CUSgQ/61SYrSy1VgQgvES12Cy4H7aLhUW28b7/tnu/aKtAyx+AHc884w3lbfiWtzz93Pg4/3YJN\nqpHxwTvhReDdynf6XlXgnWL63dqLTD34CVYAkm+Nqvc1s+1vfxN/LltOVFhtGTvWTBrHf3frrfbu\nozAIXOBVR/lFU69VcXoFfvRR4F//sv/+9NPN317CrO67T/y5NWrBieZmcxp/WHi5YVTEc+tW9wec\nTDQFEzL+urC84DIP0A0b7O3mBwCt/nSeDz9MJrvzs4A53z6t0R8inMYI+AeiV3RlU/U6E9yaS0fH\nIGsYxOlhY0eoPfg9e8zeolPFiBqJaq/UaWDk8svNacx2NrAb2EsPnk9VzIf3yczI43vwfmJ4VevK\nWg9XXQWUlXk/hrW8/Hw1e+wQDag6+eC99OB37QJOOMF+u4cfToqR9VVc5dh33538m/X4VOBdNNa5\nCnbb+t1GBqdkaSrHCKsH/8IL8gsEHX54sLYEReACz1+sm24y/b1OFWMNf1y2TH3ZK7cQSqfvs7PN\n314Enu/ViRYlWLXKvsfFhGvlSn8rDfkV+IcfNl+5/faUWLlffKFuA4M/F2YPP6NVJYrGjsMOAzp3\nTi3H7cbdu9dfWgvV3Ch2aRFkXDQyuA2CyxKGwPuF98Gfd578jFbRrG4SeAtsdF+lYoYMkXsd5hcI\n4NfLVIUJvN+ZcKKea0GB6acTwerk9df9HdevwLP9nYRD10QRhoxANzebCcCOOCL5GXsQ+unBn3mm\neoy8rlmSjCuvVNted0y/rvNRddHYXaMgo2js2rsboo4ZCbwF3Q2TZ8iQ5N/Z2eILxz+F7dLFMttE\nScNkWbcOGDZM/J3dTcCOq3N1KRHWHrXdtfCbWZNf+9RvGYB4Ni276fz04LOyzNQUTr73oHnwQWD4\ncPnt+TplkUR+er179wLnnON9f0YYPfigfPAPP+wcXrpsWTLsV8SePeoLtoRB7KJoAG8XkU9T+pvf\niLdxyvL3i1+Yv9kApx83Sa9e9t+55Q9Zvtz7cUVYB607dwaeecb8u6AguSgJQ6YHz3Klr1oFbNrk\nfHxdN6RI4P12GCZNSp4vn7HRWt5pp8kNhjK8iK2XBztvpzW/jIotzc2tY/W94CTwmzbZz0xmC7tP\nmGCOTwTtgxfZOX48cNddqZ9ZO4E9e9rbYr0PgnQzqRDLHvz113sr/5ZbzN9eIhwqKszfxx5r/uZD\n+77+Gnj6aXOhiqBgdSK7ms6f/tQ6LHPlymRaAAafNpXBoohWrbIfLHTqwbPVowoKgAsuSP3Oem39\nxKhbo2iYCHITqlu+c9pXRH29eUOzMrOy7Nvna6+ZOeKDZN485+9Fs1P5z9icA6f97KipMevr6aeB\nU091394OJ4EfOxY4+eTUz6zXaOZMMxItSIGvrbV/0FhXY2PuWh6+nlVsicqdE7jA8zeGrMCLpmkD\nztExAPDHPyaneqvC/JCiEMv1681yb77ZW9k8bj14t+0Yt9wC3HZb6mc//nHr9VJFAu90HNbInQSe\nd2foaLh2g+j8Dff448kb0zppet06+7c2O1gZshkym5ujnbDCj92I7iORGIkQzdLetct84I0cae9a\nlEHHgjmAXO/366/Vgy9UsHPR8p08vv55mxsbW/foM1bgRXh9bWe9ayfYYr2swq+6Sq5sFjUjEvgB\nA+TKkMFJ4NnkIOuK8qpl8bgNoNmVwadm9oJKg7a6iRj8TTNvXvKmEQkAy3OzZ4/5I/uKzPyubtkh\n9+6VF7Dt283FMXTCVllSzTNjxeqGYLzxhvn7xhuBHj3Uy21uNheoduPbb93r0em82Kznrl3NJf10\nIrMMo9NCLwzReE5ULptYuWi8pAewYk1i9tBD4u2s8c7s9ZL1hKK4IGy1nPnz5baXybmTSACXXZb6\n2fffJxf0tnvYyqYV9rvuqxO1teLPnfzVhYXA2Wc7l8s/9NhqP27XWyUcUSY01A9B9Ab5OvWSbG/L\nFmDKFHEKcJ5jjknOs5BdiUzE7t2tV7rygt3xLroo9X/mNrYTeP5zUfvcLwSeYddAdWRBZL5zt0FS\na4UfdBDw6adyg12iHuKDD8rZZ3fudg8iP3TqZP62ntO//w0UFYnticvgEJDsBVtjzp1sfO+95MPL\nDjagzuN23e2OaZ2FGQYqg8vsOrvBn5+su4dPbMcm+TktZg6Yg/6yk4vc+PJL/2WsWZMMOnBqV4MH\nt/6Mzx/FpyUOOhJOhVj14EWTg1RhMcVuU7j5izl4sLkIc9eucscQvWKywU0ZN5IIa95qViZLneCE\nKM/7+PFJf7xT6gYVd5lKRmidDwpr3fjNPSN6mG7fnnTvbdwoX5boxnfCLlf/3Ln2+7CUDFZYPbAo\nFDvcQvys8AnfnOBnPP/2t+bvtWvd93N6MLmthsXj9jCRZdQo923YWJYoTfQ//5l6n+63As8QXeBF\ni4AxY/yXzcTspZfk93nttdYiqPoazDJY8uXwF7qgQL7c8nLzd9++7osDf/aZOILimGPMrJiAcwNW\n6cE73VB2eXis+3t5U7FGdrg9iL1kDLzhhqQr6/e/l9vnu+/Uo07YQhSAGX/PuOgi+yyofB59w0he\nM5ak65BDnI85ZIj8jE3AfaJgZWXrz0Tuwv/7P+dyRNfoq6/cI4qCgtkjmukuGstiYwBekvGFRWwE\nfsiQVHFMJEyXiSqys/L8Zpu0g7lFgNTBUpXX0n1rmQNw7w3IxM2fd17qqL7XfOSiG5vVI+vB2dXb\nySebA9k64uJFkVL/+1/qGq868xfZleclnQWrn1NPbT0QK5v+gJXBRFVHj1GlvfPpnRmiBXzs7BK9\nrfKovG3oZt068dKELL2EqB288krq//ttD17kouFHnK03v5dMeaqVayd2VltkBYNNAgLEgqj64NA1\noMbyrQDOAm89z1/+Mvm304LdbgsqsxBTHecjEtavv5Z7i7CmppUNC9Q1RsLOXyaFrGg9WsNIpndm\nZXl9YPOoPBBF13Dnztaf2b0JNDSYkVMrV6Z+pkIQveS33zZX4xINqLOOo+i41jcO6zZBzp9xIzSB\nN4xkTDzfQHi/O4siYXjxsckKCNvOrhfmFJfuNJbAZ53r2LH19zIN0y0Ui38dlj1f/jyd6tVqHx/7\nzU9Ac5u0Yv2fDX7rnNnqBb/hn35xSmhmFZannmq9zT//max7VpaMwLu1E5l2xNqzbJs75hj77wYN\nSh3s1pki22sngo1licY8VBKyBRlZpkpoAs83XtEJZ2W19iV6EXi7SBxrD4PZYDcRyCkBFNu3qQkY\nMULNPhn4BiJaCZEPRZOZBSrDxo1mb50fsLWmsuXLtM4GdMs9w96s/Aj8rFliW6w4LS5u3a9DB+/2\nMI4+Wn5bdh+I6kFmBjbvtmQPbR3RZzLthY19xCHJlpMNLEy1Wze1MlkdiMa9fvaz1G2csEupEQWh\nCTxLBQC0Dm+qrRUPFHmZGWf3pLUbwLVOtWccdVTq4sk87IJ9/rn7gJDVn7d9u3tMNd/btr7VBMX8\n+akCCiQb8+23mzNJnRq3m8Cz7/0IvIqQyWYq1LH+7vjx8tuyay+qJ361Krf9AWDbNvO3bFijEyod\ngs2bgb/8xd/xdLiVGFbb2ViG6mLidh2DMWOS0XEy9WQdpN0vBJ5ft/GRR1K/4wcVg4LdDAxW6f/4\nh/0+dhMZ+PhXALj/fvsyystTH14ffZS64IMIJ8Gw+vXtGo9syKcTrAd0881mI1eZwGH9nN3QfgRe\nx41ineCmQ2hkZx4DSYEW1dugQfL7A8mcQDIYhnPHQnXs6ne/U9s+KKwDnEDShXXAAWphrHaDu3yU\nmvW6TZnSensWMcfQcS96JZLxXh2LFPiFiYVsYiPR30ysfvUr+zIOOKD1+bpFBzn5+6y9bJHoPf+8\n+6pMVkT1YB0IvOIK9wEjt0lsou9/+EN3+4DWD4dnnrGf/Wx3Xa3uFLu3NBV+/GP5bf22fbeH3Lnn\n2n/nFGGm4mZy4phjkkn/nNA1SOq03m8iYYZA+8WpUzJ5svO+O3boydTplUgEXldSIllEoYQyN5rI\n/w20FngnDjigtW+1udmcceklX4k157QoZrtTJz030JFHpv7fsaN7pk92be2OL6ozJ+HhBc06ID5i\nROoCIF5fxu8YAAAgAElEQVQ48EBg4EB/Zcjy7bfJgUVr6tmgccr0eMghrRPXWXGaiMW4/npzct4f\n/uA++SoM+DYoCuN0g3Xc+DZrHbNzG7Q/9NBo4+Ij7cGLeoP89GeZihEtlGAV7/Ly1mXJCDyfulfk\norGWIXLViFwAixeb+etHj3a3wQ1RYiNd/k02UYrHzd97xx3O3zsJjQhWx/Pm2YcNilC5qeyW0OPD\n+Hi8Jp/jH45hPVQYTp2qsjL3+SP8pCw7Ro82H7iJBHDccWr2BY2Xe4L53XmBP/PM1OvoVC86xkb8\nEmkPXnQT8hOFnFbZYa/1hYWtv5PxJ65f774NHzvOYxcmKRoEFNmyYYPeQSaZY7rhtZdhN8Blh2iW\noJPbYdIk83dJiTikVdYvf8UV9oti2GHnevE6FuA2wUe07qcb06d7s4VH18QcHe6uoPCzoAov8FlZ\nqT52p/smbE+FiEgEng24iiqHD410ilBhA7MyN9sHH/hbJNmKXQ9eZRAySIEPsmw33NxXonxDTqtC\nuU1ekhXbE08ETjpJbtugcJu4d9ZZqfMoZNARIqlL4FVm9obttvBzjta2zLtcnc4jDmONkU6qFVUO\nX3lOU5ZVozFUEkiJsK4P6sUGniCnM4fZg7fiJvCXXgqUluo5Fn88K24Tr4I4pht2Lh+e229XK9Pa\nS/Rynrrqxm1xGZ6wQwe9uEtYvVjdTXw4ZSIB9O/v3a6giVTgRULEZ9tzyg/iJWe1H/jGyxrnH/+Y\nuo1KNEWQPZgoe/BOMzUZUYit12Pec4/3Y3pBJSkYkEx164Zdbn3Avm6sIYB2533YYeZvlY6FUx2y\ndB9OEUEqrFoFVFV527epyXTv8fBjMFu2AD/5iWfTAkfqkuzatQvjxo3D8ccfjz59+qC6uhr19fUo\nKSlBTk4OSktL0eBh/SxRw7KbeGTl1792jj/XDT8IxUTMenOdeKJ8eUEKfJjJjhIJcxIbezCzhc2d\n3m7ceqkyPV2GnVBY16v1ChsDYJx9tr50CyJU24WOdmTXXmQHgtu1U3/oObkvzj3XnI0qE7ljB79g\nR//+3lapAsyev7WO+XG/xx6zvwZOIZxhISUFt912G3JycvD+++/j/fffR15eHmbNmoWcnBzU1dWh\na9eumD17tvrBBUeXDXs75hhzFfawkFmqy2t5MtgN+Irw0oO3npPTqkT8xB7DAGbPbu0qcBLBPn2c\nbbnpJufveeyuhZdMpDL86U/BCryOZHlDhqiV4fchEURnpVOn1LdmfqKkDLIL8OjA7vxvvDE8G+yQ\nak5Lly7FTTfdhDZt2uDAAw9Ehw4dUFNTg/LycmRnZ6OsrAzVMvOsLfhpGGGn5NQt8Kqcdpr8tjrq\nho9mssIPfouuoWGIZxjK8uKL8tvKXgunTJgq7N3rTeD5B6aXNMN2WAU+kVC3z297CepeZOfWoUPr\nORlu6LDJr6szDjl7XKth8+bNaGpqQkVFBYqKijBt2jQ0NjZi+fLlyNsXypKXl4cat3XSRAe3ObrM\nIBwTlvHjzR5k0PCx0jp6cCoPtwcftF8sWUSUPnjAzHbplqvE6QESBE7xyiqv783N5gIq1tfv6mrn\ntyz++rkthKGCaK6C6uQvlcFREToFnk/ex9yiBx4onu/ihI63Ctky7Lbr3t2/DX5xXR6jqakJ69at\nw5133omhQ4fiqquuwty5c2FIP54mc38X7/sxsasYmUU72L6dOwNXXSVpigWvi3yH7aJxymwpwk/M\nrypukVB2PPBA64WNvaBjkPXee+Xzwv/gB+JZnwMGmP75xx4T78cLvMwyjLJYH5SGATz6qNnxkfVh\n+xV4nS4a1dQTdsRB4Hv1kj9WVVUVqryOBDvgKqU9e/ZEbm4uhu27A0aPHo3HHnsMhYWFqK2tRX5+\nPmpra1EomnEEIFXg5fDb4GTxKmpB9eCnTtVTdhxm0Lmha1KMjvpSKcOaSIrnkkvsBZ5H1OtmtGtn\nJhE75xw5e0Tt6NBDga1b5fa3K0MFpw5Fc7Nah8PO5aeKqJxbbxWvRmWHUz573RQXF6O4uLjl/ymi\nLGYekKr6Xr16obq6Gs3NzXjuuecwdOhQFBUVobKyEo2NjaisrMRAD3Ov7RqWTh+lE14FXrQfW3Tb\nD7/7XXLlIz+EKfCia8g/6+3y5etKbqXjbUplQoqTWJ13nn9bAPNNQBZriB67Hn7GQKxl+dkuip43\nIPYCqAzeb98u/4YZpzVYrUgJ/F133YWJEyeioKAAbdq0wSWXXIKKigps2rQJubm52LJlC66++mrl\ng/tx0ejAa+/PbSUnGdi5q6wUI4uftUJVEaUe4LFLlarLB69D4HVGxfDrwgbN1Vfre6iIkK3bIAMe\nHn20dXpxGUReAJWOz+GH63nARY2UlB5//PF4W5CRaf78+b4O7qcHr0MYdbponB5K48aZDZWHnbuM\nv1qFl18OtwcvWt4s3dAp8IMGATNm6CvPidmzW6eP9kKQLhrAfFtzCrt1suWyy4KxSScepgCFRkh9\nZTFe87R07KjHjeNF4P/+d3Fv3Ungw3I5Ad4H8FR8tmHj9HakowevM5wtHcY/vOK2HKPqfiLi3Bu2\nY/v2qC2wJ9JUBV7R5cLxUk55uTiM06ks0Xc7dqgfO0j+9Cf9ZbIp7H5xSjqno/etU+DDfJiLYAJp\nXYPYK/36+S9Dl8DLRgVdeKH9dyqRLbKEPSdHhdglGwPcG4Tf9SAZOqN1nN46RDf9Bx+oH8Pv4hY6\nkUkToetB7LRYQxwmk/CEebM7zf9o316ujNJS+/QgiQTw7rvJ//lMrzxug9S6cjS5La7BCELEnSCB\n10x5uZ5y3JafE+HlNVUkdF5cIjoibNgiBn4pKnLfxk3g+cRyXgnTRSOTayisB05pKXD55f7LefZZ\n+TTKdmsouC3iojJU5+TicnPdsrWPw57ot98LvDUkjomM3cUMa7UbmVC9Tz6RK8up56GrJ3vddf7L\nsFuGUBUdvlJZf3XQfllZURblso+KkSPj4+93W9hCxW3FL3BtRVa4w9IPNt4V53GDUATeGtdbVmZm\nDBw7Vrz92LH2vlXb+VQekGkwOsL5ovbLBoFMo3aaFMSQSfsc9JRvWYGX2S6sHrxd/UchNjIrF/2/\n/+e+jWEA3brZf+92vyYSZhk//anzMdxwS4bHYPlxRG+iXmfJ6yYUgX/8cctB9y175dSztWuodg+F\noNARC6srr3WckHktPflk921kVr138ifb+YUZMkmqZEX5Zz+T286JoN+gohiTkFlnd9o0/8eREXg3\nZOpH1lZ2Dzz9dOrnubnAP/4hV0bQROI9ikMWSdkl/GSP53ROMgsCyKwRqwNdPTy3cj7+GLjlFvdy\n3NwMbgPLTvMIpk937hEyzj/ffRtAT+6cDRv8lwHEyy0g04PX4RcPy9ftt1MX1kRNGdJO4HU1bKd8\nIF6O59cuWXucKCtz30ZXD8/tZuvcWc411bat8/duLjKncYlEwkwM5hZ1ddhh+urFLWJEl7tOh9jJ\ntBeg9cpOVmQELQ7pe2WRsXX8ePs3uqizufLEePxXTFwX641Dj0pmSreMnTJhbW6TO2QbuZvLwk0Q\nhwwxc/iI2LLFDAH87W/lbHFCMJFbyFFHOdefrt6dDh+87IIUN9zg/P2bb7qXkU4CL5P5/KGHgBNO\nEH8Xp6iaGJkiR9hCGlYP3u/+994rt92aNe7byExQclrjE9B3M8rMVbCrOy9zDeyQCQtlrFhh/13Q\nAs/jdg1kJ4m5CZZ1UWoROu7bsHzwbvmV3I4nG68fBqEIvHVxBKfFF9zQ8XSsrNR/vKgFXmeSK5mb\nYPBg5+91CbxMKGA6+EIZfm1irjyZ9uL2gJPNohmHt1MgPIF3mlgnc7x96yDFglAEnvcvX3hh+DPN\nrMiE5jHCatxxuYkAuZ6dW65sXecjc7PZPYTj5Atl+O2gbNmipxxAPt95XFwOYdkhOwvY7mGhY0Ki\nLkKpMj5M0O9Fkn2t/Ppre99hEMmP3LZzy/EdJ4GXsUW2J+p38PKee9y3SacefNBvejJrB//yl+bv\njh3lyoqLwOvowes4jhuyD4gwCOXSjRmT/Ntv5fXsKbedroyTgFwDd2tcbsm8MlXgVbGGNcr4d+1S\nR8umqE1H/Iiu6kM3Lm0zrDcy2fONWx4kEaE/m1UbJh8md8IJwNCh/m1QvTBO06cZbo1CV+/j1FOT\nfz/zjNw+ouM45VXRKfCq4nDrreZvNtAr016uvVZcv24DwW7cdRdQUqK+3+jR/o4LmIt5OOFHdFUz\ncGaSwKeDKOskcIH/9a8tB1Q8Ij8QpKvnodpQdCR1cjtv2ZuIH8CxC9Nygg2OOqUR6NzZvRynOvQz\nTZuVyxYSkblWBx8szj/iN3fM9dd7Eze+nV5yibdj61jIw45zz5VPMAYEK/CjRslvq0PgZR5u1INX\nwFpZfgRelfz81P8nTDB/qyZpcouj/vhj9zJ0CTzfqGTeLOz2d2qcTmloGU43m58oKVYuywwoWy8i\ne3T4u/0I/DXX6M2dxLjuOuC008TfydhbWgq8955em7xwySXmSmeyUSfsGttlRJU5d52rd6UDgQu8\ndTUeVYHnp0GrPjEvvNBc+IClF2ZJq3TmgQfk/MS6Bqp09RpE5dxxh/mbiasTQfXqeIFXeYCJBD6q\nHhYTrL/+1Xy7YPzhD3rKv+ce+1Wu+HNOhx5m27byCf3YPWSXGkFXmGRcXFI6CFzgrdN5VV+z/Lho\nAHNE2+qOkMlPIsukSXLbBdGDV6V796SLRlROHMIK2cB4Vhawdq38fqL61dFbe+AB4NVX1fa59Vag\nsbH150EssB4ldguqyyKbtZHB2qfd24sMQffgvYyLBUngAm99nVJ9OvIXxKu4sYZhGObPUUd5K0fE\noEFy28VB4D/5JJnhUVROEOFwYfUizzuv9Wd+bmYWQtili7qgZGUlxZy/rqec4t0eXaxbF7UFSdh9\nefbZcuMlVoG31qfMPfTEE+7b+LkX49b7j70P3o+LhsEiPoIQG9nz0SWe48f7298pva5qD56JGEuN\nysY4omjk1jepU04BbrrJe3lO68CqIBOXHhQdOugv89JLzd9eBvjtuPlmuRQa7B5idTpunPqxiovd\nt4lDtltdBG4OO2GWFD/MQVYGE/ghQ/yXVVVl/mYDtbLno8v9MXhwajIr1YFWJvA6XDTMD8zqQJQe\nOAqxb2oyE2ANG+a9DF128+1Ddg6HCNlc9Lzdfl0oIgYMMH8vXaq/bDcSCfPasnP080aUm5v8+9ln\nk3937w5cdplcGWG9BfshtB48E0Q/N45fFw1rnH5gDwm2Qk0U2Sb5elBdTGT4cODOO/UI/DnnpO4X\nl5mjOpayk0045QZ/3f2khI6LcLDz0dGevZTBX1trqKdKefx8Er7jd845qQPjqsTlOjFCNycKgdcl\nPP36tS4zih6qn0iJww83UziI/NOq58K2Z4PW1ldoL8Ql8kPXYFzU0VNXXeX9mKLr6Dd9gUwIrldU\n2h1fn7w+qLieRDmtSOAVLsLIkeYPI2qBZxfv+eeTrpGoBV4np5zSeu6AE+zcWU73rCxT7Pv21W5a\n6OgSeF3tw6s9VkH10zsFkm3Pq5Dx9aH73lHJ+28n8GwcSYa2bVP1CYhHJBpP6ALvluCI5+mnTZcC\nw6uw6Ur+wxrkeeepN/CgXDRe60SUG6dvX+Cdd9TL4l/bN2xQy9YJADt2eJu0FSRhrXwli0yOfsC9\nnfn1y7OlLuPWUwXcFyZh9OxppjBnuYp4UVa9T61jhHGrl1C9pnV19rPQguTss4HVq/2XI7p4frJN\njhnjbXHev/wlOZXfqxD17Gn2PvzE7bLevtNru2z+bR1jNDqJm8Dfc4/9ylWyyE4ocoKdT1aWtzoK\nsgcvS11d8m/DkFtT1g7rvnETeClzunXrhpNOOgn5+fkYsG+ksr6+HiUlJcjJyUFpaSkaGhpcy+nZ\nU30ATEdvNZFQn1RhVw5D1d8s2u76682oFreFpa2cc05ygQ8/QuSnYQPm66xhxC+trFf4UMu4uWja\ntvU+QU+ny4wXeC/oEPhVq7ztZ4fOxG2yb1phIXWZEokEqqqqsGrVKtTsW7Bw1qxZyMnJQV1dHbp2\n7YrZAY2exGXq9YsvmnkzrPhN2/qDHwDbtvkrwyt79njfl8dJ4MPupflJdMYTtx68H95/3/yt41ro\nFHivvPKK/zJ4dKZe7t/fny26kT41w3ImNTU1KC8vR3Z2NsrKylBdXa3dOCDaiSI8Z52VOtuO2cVm\nhkaFU1ZIN/z24Bl+XTQ68dPzDqKtDR2aWSkKdIZJekXXOg+MRCI1Qk6FuER92SHdgz/jjDNQWlqK\nBQsWAACWL1+OvH1ZlfLy8lp69rqJi0/WCoupl50tKErgpaNxXHGF93J0DWzqcNEEmURNliAEvlMn\nYMYMPWXFARZxEqWLJoiOhEwKAxFxF3ipQdY33ngDXbp0QW1tLYYNG4YBAwa06tHbMXny5Ja/i4uL\nUSwzV5iDj7qJU2WywWLZRnrkkWaa1+nTk58FMdNQhXvvNZNp+UWni8bPNT71VOCCC7zvr8sOXWXt\n3GlGJH3zjT5b/DJunJlMLUoXTRB4vUZ+Jq/xVFVVoYpNk9eIlMB32XcWvXv3xvDhw7Fw4UIUFhai\ntrYW+fn5qK2tRaFN4mte4L0wfLiZJOu44+Il8AyVBsuHa775JnD00frtUYGP/73ySu/l6OjB67jx\n33jD3/68DTrjmaMO72XILGDuBj/nwQtxFXi79MtuzJwpHptTxdr5nTJliv9CIeGi2b17N+rr6wEA\nW7duxZIlS3DuueeiqKgIlZWVaGxsRGVlJQaKltTRQCKRzOMeJ4H34ouMW2ZBHq8+SB5RXaTT+p/s\n2G+/7W2pPjv8jAvoqr9PPlFPe+xUfpQumiB0oEsXb+XKrJ0QJa49+C+++AIjRowAABxxxBGYNGkS\njj32WFRUVGDMmDHIzc1FQUEBpk2bFrixcRJ4IomOhHBx4MYbgTPPBIqK9Jbrp93qavOsk6SCkwDH\nITqI4eXc9hdcBb579+549913W33evn17zJ8/PxCjiPTCSeDj+kouomNHM1pKN3EQeF3osCc315xF\nylIPq3LNNUBFRfL/TBrE1k1M8v/Jke7rKaaT2KngJPBxE6goSPd2y+P3XLKykrOwvcIvkblyZfxi\nz+NEjF603MmkGyUu6PA163DRZPKD4MgjwztWUDmPGGyQ1e57N3S4dvjIuoKCeLmL4gZVjUcOOshc\niUaFOPbgdaxcpNMHn4lCP3o08Nln3vaNU33cdZc5acuPTTrEeMAA7/UZBD/8YdQW2JNWAu831alO\nEgng9tvV94krPXp439fpho/zOYdFIgF07hy1FepYr501z4qXa6urPcSpPjdvNscE4mQTI2188KtX\nmwmXCP18/72/uO/+/YEXXhB/J9vbi8MU+DgSpx689dpE5aKJIw88ANx/f9RWtCZtBF5HNkhCjN9J\nPVlZyeX7iMzF78P3/vvNtRQykUQinp2TtBF4Ij2JY6NPJ+LSg7/ySnNdBT+orJZE6IEEPkT2R7GL\ni0ClK3GpvwcfjNoCwgsZ6hEj0o24CFnc2B87BYQ+SOBDhG5WImh0tjFqr+kPCTwRKGGmC85EqD4I\nP5DAE4GiGiZJpBKlwNPDJf0hgQ8REjF3qI4IQh8k8ESgkGD7I53y6RPxg8IkQ2R/vPnoNd8fPXsC\n+9bbCR239krXNv6QwBOxgMRCzFtvqWVRpXokeEjgCSLG6F6XVSf74xtpukE++BChG8Id6oGmD3St\n4g8JPEFkENSJIHhI4EOEbj57KF1w/HC7FnSt4g8JfIjsjzfE/njO+wvkook/JPBEoMiKAIkFQeiH\nBJ4gMoigF90m0gsSeIIgiAyFBD5EyB9NEESYkMCHCAk8kU5Qe01/SOCJWEBiogeqR4KHBJ4IFBKc\ncAlzYJQGYeOPlMDv3bsX+fn5GDZsGACgvr4eJSUlyMnJQWlpKRoaGgI1kkhfKEySIKJDSuBnzJiB\nPn36ILGvOzZr1izk5OSgrq4OXbt2xezZswM1MlOg3iyRSVB7jj+uAr9582Y8//zzuOKKK2Ds62bV\n1NSgvLwc2dnZKCsrQ3V1deCGZgJ0QxBBE+ai2/TWFX9cBf66667DnXfeiays5KbLly9HXl4eACAv\nLw81NTXBWUgQBEF4wlHgFy1ahE6dOiE/P7+l9w4g5W+C0Ak1rfhA1yL9cVzw480338SCBQvw/PPP\no6mpCTt37sTYsWNRWFiI2tpa5Ofno7a2FoWFhbZlTJ48ueXv4uJiFBcX67KdyCDIfUXsz1RVVaGq\nqkp7uY4CP3XqVEydOhUA8Oqrr+Kuu+7C448/jjvuuAOVlZUtvwcOHGhbBi/w+zv7o4ipnvP+WEc6\nofpLT6yd3ylTpmgpVykOnkXRVFRUYNOmTcjNzcWWLVtw9dVXazEm09kfbz4KkySI6JBek3XIkCEY\nMmQIAKB9+/aYP39+YEYRBBE9+2OHJNOgmawhQjcMQRBhQgJPEBkEdSIIHhJ4gsggaCyD4CGBDxHq\nXREEESYk8EQsoIdf/KBUBekPCXyIkIjZQ2KhB1qTleAhgScIgshQSOAJgiAyFBL4ECEXDUEQYUIC\nTxAZBHUiCB4S+BChm49IJ6i9pj8k8ARBEBkKCTxBEESGQgJPEASRoZDAhwj5NIlMgiZCxR8S+BAh\ngScIIkxI4AmC8AR1WOIPCTwRK+i1P32gaxV/SOAJIoOgXjXBQwIfInTzuUN1lD7QtYo/JPAhQjcE\nkU5QPvj0hwSeIAgiQyGBDxHqwRNBQ22M4CGBJwiCyFBI4AmCIDKUA6M2YH/ilFPM3yNGRGtHmJSW\nAvX17ttddRWwYgXQrx9w9NHB25WJnHUWMGqUnrLatwd69HDe5rrrgM2b9RyPCIaEYQQ3Fp5IJBBg\n8QRBEBmJLu0kFw1BEESG4ijwTU1NKCoqQv/+/TFw4EBMnz4dAFBfX4+SkhLk5OSgtLQUDQ0NoRhL\nEARByOMo8G3atMErr7yCd999F6+++ioeeeQR1NXVYdasWcjJyUFdXR26du2K2bNnh2VvqFRVVUVt\ngmfS2XaA7I8asj8zcHXRHHLIIQCAhoYGfP/998jOzkZNTQ3Ky8uRnZ2NsrIyVFdXB25oFKRzI0ln\n2wGyP2rI/szAVeCbm5vRr18/HH300bjmmmuQk5OD5cuXIy8vDwCQl5eHmpqawA0lCIIg1HANk8zK\nysJ7772HjRs34vzzz8egQYMoMoYgCCIdMBSYNGmSMWvWLGPkyJHGO++8YxiGYaxYscIYNWqUcPse\nPXoYAOiHfuiHfuhH4adHjx4q0myLYw9+27ZtOPDAA9GxY0ds374dL774IiZNmoSdO3eisrISd9xx\nByorKzFw4EDh/uvXr3cqniAIgggQx4lOH3zwAcaNG4e9e/eic+fO+PnPf47LLrsM9fX1GDNmDFat\nWoWCggL84x//QLt27cK0myAIgnAh0JmsBEEQRHQEMpN12bJl6N27N3r16oW//vWvQRzCE2VlZTj6\n6KPRt2/fls+cJm3dd9996NWrF/r06YPXX3+95fPa2loUFBTguOOOw8033xyK7Z9++ilOP/10nHDC\nCSguLsYTTzyRVvZ7mTQXJ/sZe/fuRX5+PoYNG5Z29nfr1g0nnXQS8vPzMWDAgLSzf9euXRg3bhyO\nP/549OnTB9XV1Wlj/9q1a5Gfn9/y06FDB9x3331oaGgI1n4tnnwL/fv3N1599VVj48aNRm5urrF1\n69YgDqPMsmXLjHfeecc48cQTWz6bNm2acc011xhNTU3GhAkTjDvvvNMwDMP44osvjNzcXOO///2v\nUVVVZeTn57fsc9555xlz5swxtm3bZgwaNMhYvnx54LZ/9tlnxqpVqwzDMIytW7ca3bt3N3bu3Jk2\n9huGYezatcswDMNoamoyTjjhBGPdunVpZb9hGMbdd99tXHrppcawYcMMw0if9mMYhtGtWzdj+/bt\nKZ+lk/2TJk0ybrnlFqOxsdHYs2eP8c0336SV/Yy9e/canTt3NjZt2hS4/doF/ptvvjH69+/f8v+v\nfvUrY9GiRboP45kNGzakCPyoUaNahHPlypXGhRdeaBiGYSxYsMCYOHFiy3b9+/c36uvrDcMwjOOO\nO67l87vvvtu4//77wzA9hQsuuMD4z3/+k5b2b9u2raXxppP9n376qXHmmWcaL7/8snHBBRcYhpFe\n7adbt27Gtm3bUj5LJ/v79etn7N69O+WzdLKfsWTJEmPw4MGGYQRvv3YXDT8JCgD69OmDt99+W/dh\ntGE3aau6uhq9e/du2S43NxfV1dVYv349OnXq1PJ5FOe3fv16rF69GgMGDEgr+1UmzcXR/uuuuw53\n3nknsrKSt0062Z9IJHDGGWegtLQUCxYsSCv7N2/ejKamJlRUVKCoqAjTpk1DY2Nj2tjPM2fOHIwe\nPRpA8PW/32eTNBTGmBOC9dBU9tdBfX09Lr74YkyfPh3t2rVLK/vZpLn169dj5syZWLVqVdrYv2jR\nInTq1An5+fkpx0wX+wHgjTfewHvvvYc///nPuP766/H555+njf1NTU1Yt24dRo0ahaqqKqxevRpz\n585NG/sZ3333HRYuXIiLLrpI+fhe7Ncu8IWFhfjoo49a/l+9erVtnHwcKCwsRG1tLQBz8KKwsBAA\nUFRUhDVr1rRs99FHH6GwsBA9e/bEF1980fL5mjVrQju/PXv2YNSoURg7dixKSkrSzn5Gt27dcP75\n56O6ujpt7H/zzTexYMECdO/eHaNHj8bLL7+MsWPHpo39ANClSxcAQO/evTF8+HAsXLgwbezv2bMn\ncnNzMWzYMBx88MEYPXo0XnjhhbSxn7F48WKcfPLJOOqoowAEf/9qF/gOHToAMCNpNm7ciJdeeglF\nRUW6D6ONoqIiVFZWorGxMWXS1oABA7BkyRJs2rQJVVVVyMrKQvv27QGYr1Jz5szBtm3b8Oyzz4Zy\nfiaLMk0AAAGgSURBVIZhoLy8HCeeeCKuvfbatLN/27Zt+OabbwCgZdJcSUlJ2tg/depUfPrpp9iw\nYQPmzJmDM844A48//nja2L97927U71taa+vWrViyZAnOPffctLEfAHr16oXq6mo0Nzfjueeew9Ch\nQ9PKfgB48sknW9wzQAj3r+8RAwFVVVVGXl6e0aNHD2PGjBlBHMITl1xyidGlSxfjoIMOMrp27WpU\nVlYaO3fuNIYPH24ce+yxRklJSctAhmEYxr333mv06NHD6N27t7Fs2bKWz1evXm3k5+cb3bp1M268\n8cZQbH/ttdeMRCJh9OvXz+jfv7/Rv39/Y/HixWlj//vvv2/k5+cbJ510knH22Wcbjz76qGEYRtrY\nz1NVVdUSRZMu9n/yySdGv379jH79+hlnnHGG8cgjj6SV/YZhGGvXrjWKioqMfv36GZMmTTIaGhrS\nyv6GhgbjiCOOMHbu3NnyWdD200QngiCIDGW/H2QlCILIVEjgCYIgMhQSeIIgiAyFBJ4gCCJDIYEn\nCILIUEjgCYIgMhQSeIIgiAyFBJ4gCCJD+f+91NEbv85oDwAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 60
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Perhaps this is a good stopping point in our analysis and we want to save the state of the array/matrix"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#saving data\n",
"np.savez('weather-data.npz',w_data)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 61
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#loading data\n",
"dataz = np.load('weather-data.npz')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 62
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dataz['arr_0']"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 63,
"text": [
"array([(1, 1, 1995, 56.4), (1, 2, 1995, 55.1), (1, 3, 1995, 54.3), ...,\n",
" (6, 21, 2013, 68.4), (6, 22, 2013, 68.4), (6, 23, 2013, 66.1)], \n",
" dtype=[('Month', 'i1'), ('Day', 'i1'), ('Year', '