{ "metadata": { "name": "Introduction To NumPy" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "# shouldn't be needed if you started the server with `ipython notebook --pylab inline` but otherwise..." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", "For more information, type 'help(pylab)'.\n" ] } ], "prompt_number": 128 }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "mpl.rcParams['image.interpolation']= 'nearest'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 167 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "0. Introduction and basics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Github Repo for IPython Notebook\n", "\n", "http://github.com/andrewgiessel/pydata_bos_2013_intro_to_numpy\n", "\n", "on the command line: `git clone http://github.com/andrewgiessel/pydata_bos_2013_intro_to_numpy`\n", "\n", "then: `cd pydata_bos_2013_intro_to_numpy`\n", "\n", "finally: `ipython notebook --pylab inline`" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Who am I?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####Contact Info \n", " \n", "
\n", "* Andrew Giessel \n", "* twitter: @giessel \n", "* github: @andrewgiessel \n", "* email: andrew_giessel@hms.harvard.edu \n", "* web: http://giessel.com \n", " \n", "Postdoctoral fellow at HMS, Datta Lab, http://dattalab.org\n", "\n", "Plug: See my talk tomorrow!" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "What do I use NumPy for?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* images and image series \n", "\n", " \n", " \n", "\n", "* electrophysiology data \n", "\n", "\n", " \n", " \n", "* data analysis \n", "\n", "\n", "\n", "\n", "* each element of the collection has the same data type (signed integer, floats, unsigned integers, booleans)\n", "* array is a python object which is a *view* on this section of memory\n", "\n", "\n", "\n", "* Attributes\n", " * data - memory location\n", " * shape - size of each dimension (3,3)\n", " * strides - how to move in memory for each dimension (row to row, column to column) (3, 1)\n", " * dtype - data type of the elements - affects the size of the stride and the shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* The ndarray object allows for different views (sub sections, reshaping, transposition, etc) without actually changing anything in memory- just the interpretation of the stored memory changes.\n", "\n", "* All interfaces with this data structure are written in C and accessing/modifying the data structures are therefore **fast**" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "2. Array construction" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.array() - takes a list or tuple and makes an array. core creation function\n", "A = np.array([1, 2, 3, 4, 5])\n", "A" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 79, "text": [ "array([1, 2, 3, 4, 5])" ] } ], "prompt_number": 79 }, { "cell_type": "code", "collapsed": false, "input": [ "B = np.array([[5.,6.,7.],[8.,9.,10.]])\n", "print B" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 5. 6. 7.]\n", " [ 8. 9. 10.]]\n" ] } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure()\n", "plt.plot(A, 'o', ls='')\n", "\n", "plt.figure()\n", "plt.imshow(B)\n", "plt.colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 81, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nNoMNOW3IKJHTaeT0DgY+ABQJOnwAsAgdPgDAiIFvYEuvZ0NOGzJK5HQaOb2DgQ8ARYIOHwAsQocP\nADBi4BvY0uvZkNOGjBI5nUZO72DgA0CRoMMHAIvQ4QMAjBj4Brb0ejbktCGjRE6nkdM7GPgAUCTo\n8AHAInT4AAAjBr6BLb2eDTltyCiR02nk9I6yTC9++eWX6unp0Y4dO3T48OGMFxofH1dvb68kqaWl\nRXV1dc6lBAAULOM7/Pn5eTU3N2d1oWg0qiNHjujIkSP63e9+l9XXBN9+Rzdv38lqrVts+FfsJTty\n2pBRIqfTyOkdGQf+Sy+9pIqKCuNFZmZmVFZWpurqalVXV0uS5ubmjF/39c43dCHa7/mhDwDfBY50\n+BMTEwoEAopGo4pGo6qpqVEymcwuwO43db1/0IkYG8KWXs+GnDZklMjpNHJ6h/G2zJGREf31r3/N\n2OHPzs7q/fff16lTp5RKpVb+2+fzpf2aW7du5Z8aAIpYvrdlZvzQVpKyuU3f7/draWlJT58+1dLS\nkhYXFzMOeyn/wACA/GR8h9/f36979+7pyZMn2rFjh9566y1JUjwel9/vX/Pg1KNHj/TRRx+ptLSU\nu3QAwINce9IWALC5ePAKAIqEscPPVy4PYrn50FYu3zscDiuZTMrn86mhoUGNjY2bktGWB+ByyenW\nXkrStWvXNDY2pi1btujo0aMrtxKvx839zCWnW/vZ29urkZERVVZWKhQKqaqqKu1aN/cyl5xu/mwu\nm5+f18mTJ7V//341NTWlXZfznqY2SGdnZ2p6ejo1PT2d+vWvf+3YWqfl8r3D4XDqX//61yYl+5+/\n//3vqc8++yzV09NjXOvmXuaS0629XO2zzz5L/eEPf8i4xs39XJZNTrf3829/+1vq97//fcY1XtjL\nbHK6vZepVCp148aN1MWLF1ODg4MZ1+W6pxtS6eTyIFa+D21tds5lKRc+8tjoB+Cckm3OZW7s5WoV\nFRVaWFhI+7rb+7nMlHOZW/u5sLCg4eFhbdu2Le0aL+xlNjmXufmzOTs7q/v37+uVV17JmCOfPd2Q\nSmf1g1iSVh7EevHFFwta62ZOSSovL1d3d7eef/55HThwQIFAYMMz5sLNvcyVF/by7t27+tnPfpb2\nda/spymn5O5+njlzRj6fTwcOHEi7xgt7mU1Oyf2fzYGBATU1NenJkycZ1+W1pw787eMZMzMzqQsX\nLqRmZ2fX/Heha93MuVoikUj99re/3YSE/zM8PGysStzcy2XZ5FzNjb1MpVKpv/zlL6kbN25kXOOF\n/cwm52pu7udvfvObtK97YS9TKXPO1dzYy//85z+p8+fPp1KpVOrPf/5zamBgIO3afPZ0Q97h5/Ig\nVj4PbbmR89tf5/f7NyHh/6Q26AE4p2WTczU39vLhw4f66quv1N7ennGd2/uZbc7V3NhPSdq2bZu+\n973vpX3d7b1cZsq5mht7OTo6qvn5eXV3d2tyclKLi4vauXPnuh/G5rOnG3YffroHsbz20FYuOSOR\niCYnJ1VTU6P29vaMn/Q7yZYH4HLJ6dZeStKJEye0detWlZaW6oUXXlAoFEqb0839zCWnW/sZDoc1\nPT2tqqoqtbW1aevWrWkzurmXueR082dztU8++USzs7N6/fXX02bNdU958AoAigQPXgFAkWDgA0CR\nYOADQJFg4ANAkWDgA0CRYOADQJFg4ANAkfh/SZ23go/pqIcAAAAASUVORK5CYII=\n" }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.arange() - works like range()\n", "np.arange(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 82, "text": [ "array([0, 1, 2, 3, 4])" ] } ], "prompt_number": 82 }, { "cell_type": "code", "collapsed": false, "input": [ "np.arange(2,30,4) # 2 to 30, every 4th value" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 83, "text": [ "array([ 2, 6, 10, 14, 18, 22, 26])" ] } ], "prompt_number": 83 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.zeros(), np.ones(), np.empty() - take a tuple, each entry is the size in that dimension\n", "A = np.zeros((4,10))\n", "B = np.ones((15,2))\n", "C = np.empty((5))\n", "A, B, C" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 84, "text": [ "(array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),\n", " array([[ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.]]),\n", " array([ -0.00000000e+000, -2.00000013e+000, 2.12274051e-314,\n", " 2.30109990e-314, 2.13292407e-314]))" ] } ], "prompt_number": 84 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.zeros_like(), np.ones_like(), np.empty_like() - take their shape from what you pass in\n", "# note that this also uses the datatype of the array, as well\n", "B_2 = np.ones_like(A)\n", "A, B_2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 85, "text": [ "(array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),\n", " array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],\n", " [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],\n", " [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],\n", " [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]]))" ] } ], "prompt_number": 85 }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "see also: np.tile(), np.r_(), np.c_(), np.linspace(), np.random.random(), np.fromfile(), np.genfromtxt()" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "3. Arrray Indexing, Manipulation and Attributes" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "3.1 Array Indexing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indexing is pythonic and very similar to lists- for a review of slice indexing of strings (and lists) here: \n", "\n", "http://docs.python.org/2/tutorial/introduction.html#strings\n", "\n", "In sort, they are accessed like lists, using slices for each dimension. Like lists and strings, they use 0-based indexing." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.random.random((10,10))\n", "plt.imshow(A)\n", "plt.colorbar()\n", "A[0,0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 136, "text": [ "0.46927082670852238" ] }, { "output_type": "display_data", "png": "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\nTDo7O526vSl5eXno6lJ31W5voVAIR48exZ133gm3rDxpbGx01SAFAGPHjkVDQwOOHTvG2ZQDHJtR\nnT9/HiNHjoTf7wcADB8+HE1NTSgsLHSqhLTt3bsXc+bMkV2GkD179qC0tBSXLl2SXYqQ9vZ2XL58\nGZs3b0ZbWxtKS0sxebL6u/6mTJmC3bt3IxwOY/78+bLLyXiOzagKCgrwxRdfYMGCBSgvL0dLSwsK\nCtTfOHvo0CGMGjUKo0aNkl2Krvb2djQ0NGDKlCmySxGWm5uL/Px8+Hw+PPbYY3jjjTcQjUZll5VS\na2sr3nrrLaxatQpPPfUUXn/9deVrdjvHZlQ5OTmIRqNob29HNBpFJBLBoEHOvyTeiFOnTuH48eOu\nCHcBoKGhAeFwGFVVVWhubkYkEsGkSZOU/9JixIgRuHjxIgoKCjBgwADZ5ejyeDx9Hqvd8ojtZo5u\noWlsbMQbb7yBrKwsV3zr9+ijj2LEiBHIysrC9773vZ5w3Q00TUMoFMK9994ruxRdX3/9NXbu3Ikz\nZ85g5syZmD59uuySdNXX1+PIkSPweDy45557cNddd8kuKaNxrx8RKY8LPolIeRyoiEh5HKiISHkc\nqIhIeRyoiEh5HKiISHn/D/qlC0nl/IasAAAAAElFTkSuQmCC\n" } ], "prompt_number": 136 }, { "cell_type": "code", "collapsed": false, "input": [ "# and assignment obviously works\n", "A[0,0] = 1.0\n", "plt.imshow(A)\n", "plt.colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 137, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 137 }, { "cell_type": "code", "collapsed": false, "input": [ "# using slices to get part of an array\n", "# the notation is start:stop:interval, once for each dimension\n", "# if you leave off a slice, numpy assumes you mean all of the remaining dimensions\n", "\n", "plt.plot(A[:,0])\n", "figure()\n", "plt.imshow(A[:5,:])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 143, "text": [ "" ] }, { "output_type": "display_data", "png": "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\ngg==\n" }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 143 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "3.2 Iterating over NumPy arrays" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It should be noted that iterating over NumPy arrays can in many cases be avoided all together (see below). But they are iterators, and return slices of the array relative to the first axis. If 1d, this is much like a list" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for item in np.array([1,3,5,7,9]):\n", " print item" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n", "3\n", "5\n", "7\n", "9\n" ] } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.random.random((2,10))\n", "for i in A:\n", " print i" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.11701571 0.46056106 0.01030415 0.10114525 0.54354656 0.69549508\n", " 0.98440174 0.1424281 0.05723334 0.21373704]\n", "[ 0.85163565 0.3325828 0.59396438 0.17541558 0.98426345 0.97172212\n", " 0.90464501 0.91477527 0.59878944 0.45344777]\n" ] } ], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [ "# we can temporarily switch the axis to iterate over with np.rollaxis(), see below\n", "# alternatively you can get the shape of the array and use those as loop variables." ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 146 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "3.3 Array Attributes\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ndarrays have many methods and attributes. Of particular note here .shape, .dtype, and .ndim" ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.arange(25).reshape(5,5)\n", "\n", "print A.shape # tuple of dimension sizes, I use this one constantly\n", "print A.ndim # equal to len(asdf.shape)\n", "print A.dtype # default on my platform is 64bit int\n", "print A.size # total number of elements in the array" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(5, 5)\n", "2\n", "int64\n", "25\n" ] } ], "prompt_number": 150 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "3.4 Array Manipulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many routines to manipulate and alter properties of NumPy arrays. Many are methods on ndarrays, and some are redundently defined as module level NumPy functions. Here are a handful of the ones I end up using the most." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# .copy() - return a copy of an array, not a view. also is a method on an ndarray object\n", "A = np.array([1,2,3,4])\n", "B = A.copy() # or - np.copy(asdf)\n", "B[0] = 99\n", "\n", "A, B" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 151, "text": [ "(array([1, 2, 3, 4]), array([99, 2, 3, 4]))" ] } ], "prompt_number": 151 }, { "cell_type": "code", "collapsed": false, "input": [ "# .reshape() - takes an array and a tuple of the new size to change that array to\n", "# and returns a view on the *same array*\n", "\n", "A = np.array([1,2,3,4])\n", "print A\n", "print\n", "B = A.reshape((2,2))\n", "print B\n", "print \n", "B[0,0] = 9\n", "print A" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1 2 3 4]\n", "\n", "[[1 2]\n", " [3 4]]\n", "\n", "[9 2 3 4]\n" ] } ], "prompt_number": 152 }, { "cell_type": "code", "collapsed": false, "input": [ "# .astype() - casting method, can use built-in data types, a host of datatypes includined in NumPy, or strings\n", "A = np.array([0,1,2,3,4])\n", "print A.astype(float)\n", "print A.astype(bool) # 0 is False, >0 is True\n", "\n", "B = np.array([0.1,0.2,0.3,0.4,0.5])\n", "print B.astype(int) # note the floor \n", "\n", "C = np.array([-4,-3,-2,-1,0,1,2,3,4]).astype('uint16')\n", "print C # note wraparound\n", "\n", "# finally, note that astype() returns a casted COPY of the array" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0. 1. 2. 3. 4.]\n", "[False True True True True]\n", "[0 0 0 0 0]\n", "[65532 65533 65534 65535 0 1 2 3 4]\n" ] } ], "prompt_number": 153 }, { "cell_type": "markdown", "metadata": {}, "source": [ "For more info about data types in NumPy see: http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.roll() - rotate the data along a given axis, returns a copy\n", "A = np.array([1,2,3,4])\n", "B = np.roll(A, 1)\n", "\n", "print A, B\n", "print '---------'\n", "\n", "A = A.reshape((2,2))\n", "C = np.roll(A, 1, axis=0)\n", "D = np.roll(A, 1, axis=1)\n", "print A\n", "print\n", "print C\n", "print\n", "print D" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[1 2 3 4] [4 1 2 3]\n", "---------\n", "[[1 2]\n", " [3 4]]\n", "\n", "[[3 4]\n", " [1 2]]\n", "\n", "[[2 1]\n", " [4 3]]\n" ] } ], "prompt_number": 154 }, { "cell_type": "code", "collapsed": false, "input": [ "# .T - transpose method on an ndarray, returns a view on the original array\n", "# unlike the others listed here, this is an attribute, not a method\n", "A = np.arange(25).reshape(5,5)\n", "print A\n", "print\n", "print A.T\n", "print\n", "print A.T[4,0]\n", "A.T[4,0] = 99\n", "print\n", "print A[4,0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 0 1 2 3 4]\n", " [ 5 6 7 8 9]\n", " [10 11 12 13 14]\n", " [15 16 17 18 19]\n", " [20 21 22 23 24]]\n", "\n", "[[ 0 5 10 15 20]\n", " [ 1 6 11 16 21]\n", " [ 2 7 12 17 22]\n", " [ 3 8 13 18 23]\n", " [ 4 9 14 19 24]]\n", "\n", "4\n", "\n", "20\n" ] } ], "prompt_number": 155 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.rollaxis() - reorder axes in an array, returning a view\n", "# takes an array, the axis to reorder, and the position to roll before.\n", "# the relative order of the other axes are not changed\n", "\n", "A = np.zeros((2,3,4))\n", "B = np.rollaxis(A, 2, 0)\n", "print A.shape, B.shape\n", "print '---------'\n", "B[0,0,0] = 1\n", "print A" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(2, 3, 4) (4, 2, 3)\n", "---------\n", "[[[ 1. 0. 0. 0.]\n", " [ 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0.]]\n", "\n", " [[ 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0.]]]\n" ] } ], "prompt_number": 156 }, { "cell_type": "code", "collapsed": false, "input": [ "# note that we can use rollaxis with iteration to get a slices of an array in a given dimension\n", "# simply roll that axes to the start\n", "\n", "A = np.zeros((2,3,4))\n", "for array_slice in np.rollaxis(A,2,0):\n", " print array_slice.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(2, 3)\n", "(2, 3)\n", "(2, 3)\n", "(2, 3)\n" ] } ], "prompt_number": 157 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.unique() - like set, but for ndarrays:\n", "A = np.array([1,1,3,4,5,0])\n", "print np.unique(A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[0 1 3 4 5]\n" ] } ], "prompt_number": 158 }, { "cell_type": "code", "collapsed": false, "input": [ "# .flatten() - return a copy of an multidimensional array flattened into one dimension\n", "# compart to .flat - an attribute which is a 1d iterator over the whole array\n", "A = np.arange(25).reshape(5,5)\n", "B = A.flatten()\n", "\n", "A, B" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 159, "text": [ "(array([[ 0, 1, 2, 3, 4],\n", " [ 5, 6, 7, 8, 9],\n", " [10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19],\n", " [20, 21, 22, 23, 24]]),\n", " array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n", " 17, 18, 19, 20, 21, 22, 23, 24]))" ] } ], "prompt_number": 159 }, { "cell_type": "code", "collapsed": false, "input": [ "# .tolist() - convert an ndarray to a list - works for multidimensonial arrays\n", "A = np.arange(25).reshape(5,5)\n", "print A.tolist()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]]\n" ] } ], "prompt_number": 160 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "4. Array based Calcuations" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "4.1 Array operations are element-by-element, Broadcasting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NdArrays can added, subtracted, multiplied and divided using +,-,*, and /. Operations done this way are on an element by element basis. Note that * is **not** matrix multiplication, it is element by element multiplication." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.ones((5,5))\n", "print A\n", "print\n", "print A+A\n", "print\n", "print A*A # 1*1 = 1!\n", "print\n", "print np.dot(A, A) # multiple matrices with np.dot" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]]\n", "\n", "[[ 2. 2. 2. 2. 2.]\n", " [ 2. 2. 2. 2. 2.]\n", " [ 2. 2. 2. 2. 2.]\n", " [ 2. 2. 2. 2. 2.]\n", " [ 2. 2. 2. 2. 2.]]\n", "\n", "[[ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]]\n", "\n", "[[ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]]\n" ] } ], "prompt_number": 104 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fundamentally, two arrays must be the exact same shape to do element-by-element operations. However, we can also combine arrays of slightly different shapes by \"broadcasting\" the smaller array to an appropriate shape. For instance, this is how one would multiply a matrix by a scalar- the scalar is broadcast to the appropriate shape first\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print A\n", "print\n", "print A*5" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1. 1.]]\n", "\n", "[[ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]\n", " [ 5. 5. 5. 5. 5.]]\n" ] } ], "prompt_number": 105 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Broadcasting can be tricky to wrap your head around, but generally it just works-- although, you might have to transpose arrays from time to time. \n", "\n", "\n", "\n", "When operating on two arrays, NumPy compares their shapes element-wise. It starts with the trailing dimensions, and works its way forward. Two dimensions are compatible when\n", "\n", "1. they are equal, or\n", "2. one of them is 1\n", "\n", "See the http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html for more details." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "4.2 Summary statistics and other functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In fact, most functions on ndarrays are 'universal functions', or 'ufuncs' for short. These are functions, generally written in C, which operate on ndarrays in an element-by-element manner. One might think about them as something like list comprehensions, but they are specific to ndarrays and handle broadcasting, casting, etc. In addition to the general operations above, there are things like sine, cosine, greater-than, etc.\n", "\n", "For more information on unfuncs, see here: http://docs.scipy.org/doc/numpy/reference/ufuncs.html\n", "\n", "Now I'll show you some of the functions in the NumPy API that I use most often." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A note- many of the functions that follow take the axis keyword. This means that the function is calculated over that specific axis. If this is left off, then the function is calculated on a flattened version of the array. Most of these functions are methods on ndarrays as well as functions in the numpy namespace itself." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.sum(), .sum() - calculate the sum of the elements over a given axes, returning a new array\n", "A = np.arange(25).reshape(5,5)\n", "print A\n", "print\n", "print A.sum()\n", "print\n", "print A.sum(axis=0)\n", "print\n", "print A.sum(axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 0 1 2 3 4]\n", " [ 5 6 7 8 9]\n", " [10 11 12 13 14]\n", " [15 16 17 18 19]\n", " [20 21 22 23 24]]\n", "\n", "300\n", "\n", "[50 55 60 65 70]\n", "\n", "[ 10 35 60 85 110]\n" ] } ], "prompt_number": 106 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.mean(), .mean() - calcuated the average of elements over a given axis, returning a new array\n", "A = np.arange(25).reshape(5,5)\n", "print A\n", "print\n", "print A.mean()\n", "print\n", "print A.mean(axis=0)\n", "print\n", "print A.mean(axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 0 1 2 3 4]\n", " [ 5 6 7 8 9]\n", " [10 11 12 13 14]\n", " [15 16 17 18 19]\n", " [20 21 22 23 24]]\n", "\n", "12.0\n", "\n", "[ 10. 11. 12. 13. 14.]\n", "\n", "[ 2. 7. 12. 17. 22.]\n" ] } ], "prompt_number": 107 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**See also:** np.std(), np.median(), np.min() and np.max()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.argmin(), .argmin(), np.argmax(), .argmax(), - return the index of the mininum or maximum value in the array\n", "# note that these take the axis keyword- otherwise they return the max of the flattened array\n", "# see also .argwhere()\n", "\n", "A = np.arange(25)\n", "B = A.reshape(5,5)\n", "print A\n", "print\n", "print B\n", "\n", "print np.argmin(A)\n", "print\n", "print np.argmax(B, axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24]\n", "\n", "[[ 0 1 2 3 4]\n", " [ 5 6 7 8 9]\n", " [10 11 12 13 14]\n", " [15 16 17 18 19]\n", " [20 21 22 23 24]]\n", "0\n", "\n", "[4 4 4 4 4]\n" ] } ], "prompt_number": 108 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.ceil, np.floor, np.round - rounding operations, element-wise\n", "A = np.random.random((10,10)) # create an array of random numbers between 0 and 1\n", "\n", "A_ceil = np.ceil(A)\n", "A_floor = np.floor(A)\n", "A_round = np.round(A)\n", "\n", "figure(figsize=(12,16))\n", "subplot(1,4,1)\n", "imshow(A)\n", "subplot(1,4,2)\n", "imshow(A_ceil, vmin=0, vmax=1)\n", "subplot(1,4,3)\n", "imshow(A_floor)\n", "subplot(1,4,4)\n", "imshow(A_round)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 109, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAArYAAACsCAYAAACO0e84AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHOJJREFUeJzt3X+QHWW95/HPmQRyCdlIiIAbAjaKy8/SwGZduCZ44sxV\n17Jqq+6aLQhXKpTeW4VXit2l6q4slmG2XCjAVeOltNxrzFJreUv5IVoqqXhmtzHBBIiXhMhNAsF0\nAgESk5CJOGaYZM7+MSTOTE73me7Tz/Ocfp73q2qq0tPpeZ8zfjl2ep7pU2s2m00BAAAAFdfj+gEA\nAAAAZeDEFgAAAF7gxBYAAABe4MQWAAAAXuDEFgAAAF6YXtYXGhgYKOtLIWC9vb3Wm8wuymB7dplb\nlIXZRRWlzW1pJ7aS1Hu8r+Xn4y1S/QPpx9XuLHbHseartdR98bBUn5F+7Ma9GQ8owxkaSt23KR7S\nwvrM1P3XDG4s1JSko2f9PGXPNkmXpR73mebhws3FWpe6b3u8X5fWz225b/neBwv1GtufLHRcGdb1\ntZ7dRFJk84HQrGRzcaNh4Ku219eX9t9oIvvfXVddmp1oNBaX/jWnouhrbr9WFOqtUH/qvnZNE9o1\niz7PzqrFFf3+Fn2eWXPLUgQAAAB4wcqJbdbVWmPNjKu1pmRdrTUn/WqtSWlXa30T0aRZSVFAXZo+\niWhS7VDbpQivvPKKHnroIUnS0qVLNX/+fOMPCigDs4sqYm5RVcwuukHbK7YPPvigli9fruXLl+v7\n3/9+oUi8pdBhHYmH7Tc3xenrb83Z5qA5tsa225Uxu0m5D4lmgM28yphbd8/URZdmt+A1t7uboVQz\nr9gePXpU06dP15w5c05+7q233tLpp59u/IEBnWB2UUXMLaqK2UW3yDyxfe211/TOd75TDz449lvu\nZ599tl599VVFUZQrwhpbk1hj20pZs5vvb5eDpl/NPMqaW9bY0rSN19zub4ZSzVyKMG/ePB04cEA3\n3HCDrr/+eh08eFDz5s1L/fvjlxzEW/Jt6/fx2EeO7fHLDeJh5dr+p/hN/VP8ZuHtTfHQhKUHU9ke\nXb/+5Pbo+vW5tseWHGwrvP1a/KJei1/MtT1+ucH2eH+ubW345dhHnu0S5Z3dZNKf2WY7z3ZZ8s6t\n+2fOtj/bnbH5mlvkuXbSc7Ht/hHk2+7k6KLfoTSZV2xnzJih0dFRDQ0NaXR0VMePH8/8scL4K7Pj\n/9zqPranXMX9F/Xc2/Xfj/t6M1o8nhnp+6+uzyq4PXayOvnq7ML6zAknsq329wwuOrnds2jRhP3t\ntk+9Mnti+8R9bNP2j93H9l/W3zdh71S2L9XrJ7dbXaEd/7lT9l97Xf7tEu9jm3d2o5Q/Jzr1X5um\nt7Mej6ntxHJP+tP31lZvfNNkrxN557a7JjcSk2Rye/LnTHz94my+5hZ5rmm9do/H1HbS9u+beESJ\nTP23EmXsnfy5U/d32p+o7V0Rli1bplWrVqmnp0c33XRTu78OdA1mF1XE3KKqmF10g7Yntu9+97t1\n++23dxRhja1JrLFNU8bsRuU8FJoBN/MqY27dPVMXXZrdgtfc7m6GUuWdxwAAAOAFKye23MfWJO5j\na1JCk2YlJQF1afokoUm1Q22XIuTx5x8daPn5wdM36x31BanHNXfVCvVqv2mm79wbS+fX0/cvKZSU\nvnc0fd+BX0p7r0vdfe35vyoYlX71d59u+fl4j1S/MOPAjxVO6pW16ftmSro29cAHi0cBAN7r14qU\nPYmyfni9Qv0l99o3zTDXTPsemSt2FytXbLNOao3JOqk1ZfJv+luQeVJrUOpJrWcimjQrKQqoS9Mv\nEU1vim66rLEFAACAF6yc2A7Gm21kJtob22+W/CYDUxHvsZ6UJG1wk7UuoUmzkpKAujT9ktD0puim\nyxVbAAAAeIE1tmVija13Ipo0KykKqEvTLxFNb4puulyxBQAAgBdYY1sm1th6J6FJs5KSgLo0/ZLQ\n9KbopssVWwAAAHiBNbZlYo2tdyKaNCspCqhL0y8RTW+KbrpcsQUAAIAXWGNbJtbYeiehSbOSkoC6\nNP2S0PSm6KbLFVsAAAB4gTW2ZWKNrXcimjQrKQqoS9MvEU1vim6608v8Yn+uXxU6rva9ZrHg9cUO\nk6S/+fuVhY77X//utsLNX73RW/hY3V7ssF/fVzz5r4v+e2T+jGLHNQr2AABB6NcK1w/BihXqd/0Q\nKsvKFduX4102MhO9GNtvHrLfjJ+3nhzrvumma1tCk2YlJQF1afoloelN0U2XNbYAAADwgpUT2wvq\nF9nITPS+uv3m2fab9SusJ8e6s9x0bYto0qykKKAuTb9ENL0puulyxRYAAABeYI1tmVhj652EJs1K\nSgLq0vRLQtOboptu27sirF69Wnv27NGZZ56pz3zmM5ozZ46NxwV0hLlFVTG7qCpmF92g7YntzTff\nLEl6+umn1Wg0tHTp0twR1tiawxrb1sqYWymUlVc0u0k5sxuV+pi6u0uzW1R3dsNo2i+66U55KcKs\nWbN07Ngxk48FKB1zi6pidlFVzC5cmvKJ7ZNPPqnrrst+Z63xa2lfjned3D7x57T9kqTBeOwjz/b4\ndbQvTtr+f1/P3P9qvFOvxjsLb+tQPHFN7aFYSr6euT8+8qfN+IjybT8/cT3tie0Tn0vbf8Kv3/7I\nsz1+HW385sTtr/8ue78Uv/2RZ7t8U5lbaeIaoGTcdjJpe/J+E9sbLfeSt5s2e+M/Z6vXql3W1zdh\narM7+ZEkk/6ctt/UNpNkbtv0K0N5qje73feqa6KetNlvarvdd7dYIV2t2Wy2fduvTZs2af/+/frE\nJz6R+ncGBgb0eO+GlvtejndlLkf4n4u/2O4htJb1zmMvxpnLEf7mbw2889ihOHM5QvONWqGmpNR3\nHoufz16O8Ov/WDyZ9c5j8ZvpyxFqm0cL9RqN/6ve3g7enW2SqcytNDa76/r6Wu5LZP/HKDSr11zc\naFif3YGBAfX1rUvZm8jNDx5ddGl2otFYzOx2YdPEO49lF83J6hZ9J7msuW17xfall17Sjh072p4c\nZGGNrTmssW2tjLmVQll5RbOblDO7UVkPpwJdmt2iurMbRtN+0U237Ynt1772Nb3wwgvq7+/X6tWr\nbTwmoGPMLaqK2UVVMbvoBm3vivDAAw90HGm3FMGINksRjGizFMGEdksRjHUzliJ0gzLmVurGH1DR\nrFozr3JmN1H3/dCRZvWa+VR3dsNo2i+66fLOYwAAAPBC2yu2eezUe1vvqL9XO1vvkSTdve4/F+r9\nt0e+lr7zXfXMY799938q1Pz2F4sdJ0l6ovihaf9L1T+QfdjC5K3CydvffW/m/p+mfL757WL/XhpQ\no9BxJkU0aVZSFFCXpl+izL1Ff6kq+5eUzDS7TdRmf9Ff5OpE8e9t+vkCV2wBAADgBSsntgfif7aR\nmej52HoyftZ6UvFv7Delifcs9llCk2YlJQF1afolCaJpv+hyguyWuWILAAAAL1g5sX1n/XIbmYmu\nqFtP1q+ynlT9SvtNydG9iR2IaNKspCigLk2/REE07RddTpDdMldsAQAA4AXW2JaINbb+SWjSrKQk\noC5NvyRBNO0XWWMLAAAAVAprbEvEGlv/RDRpVlIUUJemX6IgmvaLrLEFAAAAKoU1tiVija1/Epo0\nKykJqEvTL0kQTftF1tgCAAAAlcIa2xKxxtY/EU2alRQF1KXplyiIpv0ia2wBAACASmGNbYlYY+uf\nhCbNSkoC6tL0SxJE034xnDW208v8Yo99elnLz8f7pPqqjAMXFOvd8emvp+6Le6T6h9KP/ep/uKVQ\n879c8630nUckzU7fXbuqWagpSdqQ8vmDsfR0PfWw5n+tFW8OpO+K90v1l1N2birYu7jgcQCASlmh\n/pafT2TmB9dpPZPNTvRrhYGvmijrmWZ9j8xVy2flim39PBuVSc2Mk1pjzYyTWmPm1h1Epfq1TrLW\nRTRpVlIUUJemTyKaVDvEGlsAAAB4wcqJbbzPRmVS80kHzSP2mzoYO4hKcdrSCM8kNGlWUhJQl6ZP\nEppUO8QVWwAAAHhhSie2IyMj+tznPqc1a9YUirDG1iDW2KbqdG6lcNZe0ewunc9uVObD6fIuzW7S\n6exG5T4cmgFWp3Ri+4tf/ELvec97VKt18Bv2gGXMLaqK2UVVMbtwre2J7fDwsJ577jktXLhQzWax\n21WxxtYg1ti2VMbcSuGsvaLZPcqZ3aTMh9TlXZrdoozZTcp9SDQDrLY9sX388cf18Y9/fEpfbPwJ\nbLwv5/ZLYx+5tsedvMZPTtze/Jvs/TvjvdoZ7y28HR+ZeCIbH5E2/0GZ+/Vq/KdPvBrn2z4YTzyJ\nzbkdD4195Noed/Iab5i4vfn57P3xa2MfebbLlGdupYn/4SWOt1930H/dcs+37TLlm93Jj8T1NpNk\nbtv0K0Pn8sxu1iOxvd2Nr7kuvyNlf3UT398stWbGP6uGhob0jW98Q1/4whcUx7GOHj2aOrQDAwPq\n/d99bXIpCr5Bgz5d8DhJXz3XwBs0tNHRGzS8Uuyw5g4zb9CQ6b8XzF3fUG9vb8Hon+SZW2lsdtf1\nFZxdQNLihv3ZHRgYUF/fuo6bCFujsdjJ7PKam83MGzRkM/UGDSZkveZmvvPY9u3bNTIyopUrV2r/\n/v06fvy4rrzySs2fP9/IAwXKwNyiqphdVBWzi26ReWJ79dVX6+qrr5YkxXGs4eHhQkMa77N/Z4T4\nSft3RoiPOLgzwsHYyZ0R4g3de2eEsuZWGvuRR1TaI6MZYjOP8mY3kZtn6qJLsxuUNbuJwvjOumiG\nUs08sR2vXq8bfBiAGcwtqorZRVUxu3DJyhs0cB9bg7iPrVERTZqVFAXUpemTiCbVDvHOYwAAAPDC\nlJciTMU3vtf68y9Kel/GcV/9P9sK9R7VX6bu2xT/QQvrZ6buv/2vv1moeftTyzL2PivpqtS9K58q\nfoeC26an3FGhGUu1eupx/zjy7ws3l532WPrOjO4fDxd8nhuLHWZSojDWXtH0TSLW2NKsokTZz7Lo\n3QKyfuPfVDNbdrWTOxSkP97sZieyv0fpXRN3YuCKLQAAALxg5cQ262qtKVlXa81Jv1prTMbVWi+7\nlkU0aVZSFFCXpk+iQJohPVPbXa7YAgAAwAtWTmxftBGZZFP8h/Z/qXTP2k82Y/tNl13LEpo0KykJ\nqEvTJ0kgzZCeqe0uV2wBAADgBdbYloo1tr6JaNKspCigLk2fRIE0Q3qmrLEFAAAACmCNbalYY+ub\nhCbNSkoC6tL0SRJIM6RnyhpbAAAAoADW2JaKNba+iWjSrKQooC5Nn0SBNEN6pqyxBQAAAApgjW2p\nWGPrm4QmzUpKAurS9EkSSDOkZ8oaWwAAAKCA6WV+sb3Nu1p+fqakvRnH7a5dUqg3szmUuu+6ek1S\n+n59565CzUXND2XsvVTSH1P33rayWagpSXosbUc987Blte8XbyYjGTs/JKn1/jNmbSmUazR+V+g4\nkyKaNCspCqhLs4r6tcL1Qzgp6sKqme+Pi2Z2t2izkbGPK7YAAADwgpUT2z1xYiMzwdPxUevNwbjY\nlcqOHI7tNyVp4xNuupYlNGlWUhJQl6ZfkgCKrqoumva7XLEFAACAF6yc2F5Yj2xkJvhg/c+sN99R\n/4D1ps6q229K0jUfdtO1LKJJs5KigLo0/RIFUHRVddG03237y2ODg4NauXKlhoeHdfnll+vGG2+0\n8biAjjG7qCLmFlXF7KIbtD2xfeSRR/SRj3xEixYtKhzZEyfWr9o+HR+1ftV2MN5i/6rt4djNVduN\nT3T9VdsyZjeR/X/j0vSrmVcZc+vumbro0uwWVZ1d+0VXVRdN+922SxF2797d4ZACbjC7qCLmFlXF\n7KIbZJ7YDg0N6ciRI/rmN7+p+++/X1u3bs38YuPvfrAnTk5uX1iPJmxP3j8mfvtj6tvj73zwdHz0\nlDshZO9PNPE39fJtD8ZbJtwFYfIdEVru3znu8e+M820fjifeAeHE9omrtWn7T/rl2x85tsff+WDj\nE6feCSFz/zNvf+TZLk/e2U0m/fnEdqROJyX/dtbjMbU9uW2jH1nuSeb+9yxL3rntrskd/2dbvUR+\nTVLWttrsL+PrF9fts5u1N+vRlNUP97+V8Z8r8+unqzWbzcx3Dbjnnnt02223qaenR/fcc49WrFih\nnp5Tz4cHBga0tnd9ZizNfbUvFTpuW/OiQsdJ0mW15YWOy36DhmzrV/5F4WPT36ChjTjjTSraSU4r\ndly0rdBhjcbv1NvbW6zZQp7ZXdfXV1oX4VncaJQ2u3nmtq9vXSlNhKvRWBzE7K5Qf+Fju+nNJDAm\na27bLkWYO3eu3njjDc2YMUPTpk0r9AC4j61B3Mc2VRmzm5T7kGgG2MyrjLl190xddGl2i6rOrv2i\nq6qLpv1u218eW7ZsmR599FHt2rVLS5YsafmvL6AbMbuoIuYWVcXsohu0PbGdNWuWbrrppo4i3MfW\nIO5jm6qM2Y3KeSg0A27mVcbchnK/Sprdpaqza7/oquqiab/LP6cAAADgBSsntqyxNYg1tkYlNGlW\nUhJQl6ZfkgCKrqoumva7bZci5PGd459t+fmR0Q067fi1qcetLXh+faCWvm9Q0oGMY29vFnvqs2of\nTd2XKPuC+3q9UKgpSfrO+1p/foekS9IPa/7FmcWbv0/fFQ9J9bT9/6NYbkCNYgcCAILQyd0NbMt6\nrImyzxdc3InB1Pc2kYnFCOnnC1au2J724fSTWlOusl50tHrlkrqLqur/xknWuogmzUqKAurS9EsU\nQDGkdb32q6yxBQAAgBesnNiOPLHBRmaCZ60XHa1e2RG7qCou943CulZCk2YlJQF1afolCaAY0rpe\n+1Wu2AIAAMALrLEtUeSgyRpbsyKaNCspCqhL0y9RAMVQVru6qXLFFgAAAF5gjW2JEgdN1tialdCk\nWUlJQF2afkkCKIay2tVNlSu2AAAA8AJrbEsUOWiyxtasiCbNSooC6tL0SxRAMZTVrm6qXLEFAACA\nF1hjW6LEQZM1tmYlNGlWUhJQl6ZfkgCKoax2dVPlii0AAAC8wBrbEkUOmqyxNSuiSbOSooC6NP0S\nBVAMZbWrmypXbAEAAOCF6WV+sYOr57f8fLxDql+SftwFzRcK9V5e9q9S98X7pPp56ccurv1loaYu\n/WL6vqFYmllP3f1nGw8Va0r61Dv+oeXn98U7dF7GN/eruqVw89zat1L3bZN0Wcq+v/q7wsmuk8j+\nvzZp+tV0I5GbZ+qiS7OKVqi/5ecTZT/Lfq0otTeVZlHZj9VUNYuLpv0qV2wBAADgBSsntllXa401\nM67WGpNxtdaUrKu1JqVdrfVNRJNmJUUBdWn6JAqkyTM1hyu2AAAA8ELbNbbPPPOM1qxZo9NOO02f\n+tSndPHFF+eOtFtja0K7NbZGtFlja0K7NbamZK2x7RZlzG6iMFZB0eweZcwta2xpusBrbrdXXTS7\ncI3tj370I91xxx265ZZb9NBDD9l4TEApmF1UEXOLqmJ20Q3aXrG96KKLtH37dh0+fLjglQPW2JrE\nGtt0ZcxuVO5DohlgM68y5pY1tjRd4DW326suml24xnbBggX68Y9/rEajoSuuuCLz78Y7Jv45z/Zw\n/JSG46dybcf7xn29fcq1LT399kfB7aF47CPH9uj69Sc3R9evz7W9L96hfeO+YXm3d8Z7tTPem2t7\n27hnv+3tj6lux3vGPvJsly3P7CaT/sw223m2y5Rnbt0/c7b92e6crdfcIs/Vdq/K2931aFpvZ6k1\nm81m2s7BwUE98MADuvPOOzU6Oqr+/n6tWLFCPT2nng8PDAyod1dfy6/T9j62n7V/H9vaPz5fqKlL\nL0/fZ/Q+to+0/Hy7NbZX6dnCTdv3sR34aEO9vb3FDp4k7+yu62s9u4nCWAVFszOLG+XMbt657etb\nl/KVErHGluZUNBqLncxu0ddcF/exLdrM1q5qQnYz63tkrlpM1mtu5hXbWq2m8ee9GefAQFdhdlFF\nzC2qitlFt8hcYzt79mxdc801+spXvqJaraZPfvKTLf/11Q5rbM1hjW1rZc1uVP5DoxlYM4+y5pY1\ntjRt4zW3ClUXTfvVtr881tfXp76UHxkA3YzZRRUxt6gqZhfdwMobNIz/JTFbJv6imCXjf1nMkn0u\nvrma+ItiPkto0qykJKAuTZ8kgTR5pubwzmMAAADwQtulCHnU7i24WHywYHBB+q56m0Pf+la72+i0\n1jir0GGSpNo7Plz42EtqTxQ6bm/7v5Jq0T8UO+7ffjYudNzdA8eKBQ2KaNKspCigLs0qMnOngWKi\nNvtN3S0gFFHGvqJz0MjYxxVbAAAAeMHOie0fYyuZ8eKXrCf1nP2kNjpoSm7WTbuQ0KRZSUlAXZp+\nSQIohtN00eWKLQAAALxg58T2jLqVzHj191pP6v32k7rGQVNyc29iFyKaNCspCqhL0y9RAMVwmi66\nXLEFAACAF1hjWyLW2PonoUmzkpKAujT9kgRQDKfpossVWwAAAHiBNbYlYo2tfyKaNCspCqhL0y9R\nAMVwmi66XLEFAACAF1hjWyLW2PonoUmzkpKAujT9kgRQDKfpossVWwAAAHiBNbYlYo2tfyKaNCsp\nCqhL0y9RAMVwmi66XLEFAACAF1hjWyLW2PonoUmzkpKAujT9kgRQDKfpoltrNpvNMr7QwMBAGV8G\ngevt7bXeZHZRBtuzy9yiLMwuqihtbks7sQUAAABcYo0tAAAAvMCJLQAAALzAiS0AAAC8wIktAAAA\nvDDtrrvuusvUF3/llVe0atUqbdy4URdccIFmz55tKnXS6tWr9ZOf/ESbNm3SZZddpjPOOMN484SR\nkRHdeuutmjZtmi6++GLjvcHBQd13331au3atXn/9db3//ebfIuKZZ57Rd7/7XW3YsEHvete7dPbZ\nZxtvuhDS7NqeW4nZNcn27PKaaxZzaw6za5az2W0a9OUvf7l56NCh5qFDh5r33nuvydQpnnrqqeYP\nf/hDq82f/exnzfvvv7+5Zs0aK71Vq1Y1161bZ6V1wh133NEcGRlpHj58uHn33XdbbdsU0uzanttm\nk9k1ydXs8pprBnNrHrNrhqvZNbYU4ejRo5o+fbrmzJmjOXPmSJLeeustU7lTzJo1S8eOHbPWGx4e\n1nPPPaeFCxeqaekOart379aiRYustE646KKLtH37dm3dutXa1T3bQppdF3MrMbumuJxdXnPNYG7N\nY3bNcDW7xpYivPzyy9q3b5+2bt2qLVu2aMaMGTrnnHN01llnmcid4rHHHlNfX5+VH2dI0k9/+lMt\nXLhQR48e1bFjx4z/jzg0NKTHH39cv/3tbxXHsWbPnq3zzjvPaFOSRkdH9fOf/1w7d+7UkiVLdM45\n5xhv2hbS7NqeW4nZNcnl7PKaawZzax6za4ar2TV2xXbevHk6cOCAbrjhBl1//fU6ePCg5s2bZyo3\nwaZNm3T++efr/PPPt9IbGhrS9u3btWDBAis9SZo5c6bOPfdcLV++XLfeeqsefvhhjY6OGm0ODg5q\n7dq1uvPOO/WlL31JP/jBD4w3XQhldl3MrcTsmuRqdnnNNYO5NY/ZNcPl7E439YVnzJih0dFRDQ0N\naXR0VMePH9fpp59uKnfSSy+9pB07dujGG2803jph+/btGhkZ0cqVK7V//34dP35cV155pebPn2+0\nO3fuXL3xxhuaN2+epk2bZrQlSbVabcKPTWz+6NqmUGbX1dxKzK4pLmaX11xzmFuzmF1zXM6u0bfU\n3b17tx5++GH19PRo6dKlVv4P8/Of/7zmzp2rnp4eXXjhhbr55puNN8eL41jDw8P62Mc+Zrz15ptv\n6tFHH9WuXbu0ZMkSXXfddcabjUZDmzdvVq1W0+LFi/XBD37QeNOF0GbX5txKzK5JtmeX11yzmFtz\nmF2zXM2u0RNbAAAAwBbeoAEAAABe4MQWAAAAXuDEFgAAAF7gxBYAAABe4MQWAAAAXuDEFgAAAF74\n/zApb0pvX7BsAAAAAElFTkSuQmCC\n" } ], "prompt_number": 109 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.dot - dot product. works for vectors and matrices - for 2d matricies it is the matrix product\n", "A = [[1, 0], [0, 1]]\n", "B = [[4, 1], [2, 2]]\n", "print np.dot(A, B)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[4 1]\n", " [2 2]]\n" ] } ], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.exp(), np.log(), np.power(), calculate exponential, log, and power functions on an element by element basis\n", "\n", "A = np.arange(10)\n", "print A\n", "print\n", "print np.log(A)\n", "print\n", "print np.power(A, 2) # second argument is the power function -- can be another array!\n", "print \n", "print np.exp(A+1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[0 1 2 3 4 5 6 7 8 9]\n", "\n", "[ -inf 0. 0.69314718 1.09861229 1.38629436 1.60943791\n", " 1.79175947 1.94591015 2.07944154 2.19722458]\n", "\n", "[ 0 1 4 9 16 25 36 49 64 81]\n", "\n", "[ 2.71828183e+00 7.38905610e+00 2.00855369e+01 5.45981500e+01\n", " 1.48413159e+02 4.03428793e+02 1.09663316e+03 2.98095799e+03\n", " 8.10308393e+03 2.20264658e+04]\n" ] } ], "prompt_number": 111 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.diff - discrete difference\n", "# note: has an axis argument\n", "\n", "A = np.arange(25)\n", "A[12:] += 10\n", "plot(A, label='data')\n", "plot(np.diff(A), label='first difference')\n", "legend()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 112, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 112 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although strictly speaking not part of NumPy, scipy has a module for different forms of numerical integration - see scipy.integrate.trapz() for example" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "5. Advanced Indexing and other NumPy built-ins" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "5.1 Advanced Indexing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition to slices, NumPy supports several other indexing methods, some of which are similar to MATLAB. These can be very powerful. In general, one can use another ndarray object (or even a list/tuple, which will be cast to an ndarray) as an index in any of the dimensions." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.arange(10,0,-1) # make a reverse list\n", "print A[[1,5,7]]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[9 5 3]\n" ] } ], "prompt_number": 113 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another common use is to use a boolean array of the same size as one or more of the dimensions of the original array to pick the indices we care about. Because many operations on NumPy arrays return truth on an element by element basis, we can combine these quite powerfully." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.arange(100).reshape(10,10)\n", "index = A > 30\n", "print A[index]\n", "\n", "print A[index].shape\n", "\n", "imshow(A)\n", "figure()\n", "imshow(index)\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55\n", " 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80\n", " 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]\n", "(69,)\n" ] }, { "output_type": "pyout", "prompt_number": 114, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nRK5CYII=\n" }, { "output_type": "display_data", "png": "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\nRK5CYII=\n" } ], "prompt_number": 114 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Boolean indexing is most natural when the boolean array is the same size as the array you're working with, but it can also address a subset of dimensions." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.random.random((100,100,100)) * np.arange(100) # 100 frames of increasing random numbers\n", "figure()\n", "subplot(1,3,1)\n", "imshow(A[:,:,0], vmax=100)\n", "subplot(1,3,2)\n", "imshow(A[:,:,50], vmax=100)\n", "subplot(1,3,3)\n", "imshow(A[:,:,99], vmax=100)\n", "\n", "index = np.zeros((100,100), dtype=bool)\n", "index[50:65,50:60] = True\n", "print A[index,:].shape\n", "\n", "\n", "figure()\n", "imshow(index)\n", "figure()\n", "plot(A[index,:].mean(axis=0))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(150, 100)\n" ] }, { "output_type": "pyout", "prompt_number": 115, "text": [ "[]" ] }, { "output_type": "display_data", "png": "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\nn4raRxJrhkC+AAAAAElFTkSuQmCC\n" }, { "output_type": "display_data", "png": "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\nAAAAAElFTkSuQmCC\n" }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 115 }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a lot of helpful boolean logic NumPy functions that can let you manipulate boolean indices:\n", "\n", "* np.logical_not()\n", "* np.logical_and()\n", "* np.logical_or()\n", "* np.logical_xor()\n", "\n", "And finally, in addition to just doing <, >, etc., there are some built-in functions that return boolean arrays suitable for indexing, such as:\n", "\n", "* np.isnan()\n", "* np.isreal()\n", "* np.isinf()\n", "\n", "For more information on indexing, this section is worth some study http://wiki.scipy.org/Tentative_NumPy_Tutorial#head-0dffc419afa7d77d51062d40d2d84143db8216c2" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "5.2 Other NumPy Builtins" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are several methods for array concatenation and spliting, 3 for the first three dimensions, and one for combining over any dimension\n", "\n", "* np.hstack(), np.hsplit()\n", "* np.vstack(), np.vsplit()\n", "* np.dstack(), np.dsplit()\n", "* np.concatenate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, I'll mention some useful misc. functions.\n", "\n", "* np.atleast_2d(), np.atleast_3d() - adds empty dimensions to an array to get it to at least 2 or 3d. Useful for broadcasting\n", "* np.histogram() - generates bins and counts for histograms. I tend to use matplotlib for histograms but this can be good to get the values\n", "* np.genfromtxt() - a fast text parser. Pandas is far more flexible, but for most .csv files, this will work great\n" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "6. Other NumPy libraries" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "6.1 Random " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NumPy has a submodule called 'random' that lets one generate a lot of arrays of random numbers. We've already seen my default - np.random.random()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.random.random() - takes a tuple that is the shape of the array (like np.zeros()) and files with with random floats on the interval [0.0, 1.0)\n", "# note that if you call it with no arguments, it returns a single number, of type 'float'\n", "\n", "A = np.random.random(5)\n", "B = np.random.random((5,5))\n", "\n", "print A\n", "print\n", "print B" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.12696198 0.53462711 0.35026549 0.93054381 0.8217209 ]\n", "\n", "[[ 0.68204443 0.25616553 0.65095089 0.28894131 0.98159034]\n", " [ 0.26287008 0.69991753 0.67039299 0.36662947 0.41593416]\n", " [ 0.86577548 0.67656145 0.58054953 0.13957687 0.97708813]\n", " [ 0.22748499 0.51708836 0.50054294 0.59994996 0.43973479]\n", " [ 0.62321851 0.91584399 0.79006355 0.17133623 0.76340225]]\n" ] } ], "prompt_number": 116 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to set the random generator so that it isn't so... random, you can use np.random.seed(). Good for having test code that doesn't change but is drawn from a random distribution." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.random.seed()\n", "for i in range(10):\n", " np.random.seed(0)\n", " print np.random.random()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n", "0.548813503927\n" ] } ], "prompt_number": 117 }, { "cell_type": "code", "collapsed": false, "input": [ "# np.random.randint() is different- it returns a specified number of random integers in your specified interval\n", "for i in range(10):\n", " print np.random.randint(0,7) # dice roll! (note that the high value is exclusive) # randomintegers() is inclusive\n", " \n", "print\n", "# if you want a collection of them, you use the 'size' keyword\n", "print np.random.randint(0,7,10)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5\n", "0\n", "3\n", "3\n", "3\n", "1\n", "3\n", "5\n", "2\n", "4\n", "\n", "[6 0 0 4 2 1 6 6 0 1]\n" ] } ], "prompt_number": 118 }, { "cell_type": "markdown", "metadata": {}, "source": [ "np.random.shuffle() is a convienent way to randomize an array that you've already created. Note that it modifies in place! np.random.permutation() returns a shuffled *view* on the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.arange(15)\n", "print A\n", "print\n", "np.random.shuffle(A)\n", "print A" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]\n", "\n", "[10 1 6 7 2 12 14 11 0 3 4 13 8 9 5]\n" ] } ], "prompt_number": 119 }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a number of distributions built into NumPy that you can sample, they all have various parameters and a 'size' keyword." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# np.random.normal() - takes mean, std, and # of samples\n", "for i in [10,100,1000,10000,100000]:\n", " figure()\n", " plt.hist(np.random.normal(5, 5, i))\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" }, { "output_type": "display_data", "png": "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\n/wXRPY7UTe0vZQAAAABJRU5ErkJggg==\n" }, { "output_type": "display_data", "png": "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\n" }, { "output_type": "display_data", "png": "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\nQ/F7ivklYMcecUfxA0BgKH5PMb8E7Ngj7ih+AAgMxe8p5peAHXvEHcUPAIGh+D3F/BKwY4+4o/gB\nIDAUv6eYXwJ27BF3FD8ABIbi9xTzS8COPeKO4geAwFD8nmJ+CdixR9xR/AAQGIrfU8wvATv2iDuK\nHwACQ/F7ivklYMcecUfxA0BgYi7/0ODgoHK5nOLxuA4ePKhDhw5pcnJSo6OjkqSWlhbV1dVJ0rLr\nsMtms9zRABbsEXdOxV9VVaXu7m6lUqniWiaT0dmzZyVJX3/9tb744gvrOgBgfTgVvyRFUVT88/z8\nvGKxmBKJRHEtn8+rUCiUXI/H466nDQZ3MoAde8SdU/Fv3bpVly5d0p49e3T8+HG9ePFCqVRKmUxG\nkpRMJpXL5RRFUcn1hoaGVbsAAEB5nIq/s7NTkvTvf/9b169fV3t7u2ZmZtTd3a0oinTx4kWl02lF\nUVRy3ebNud3r39MN8fjN31H24fWUc/zh/3ykSllaWtyU56qUubk5qeZDSf68f1Z6PDQ0pN///vfe\nvJ71Pi5HVfTmzKZMjx490p07d9Te3q7+/n51dXWpUChoeHhYvb29krTseiljY2NqampyfTmbykb+\n4Ore1Audu/m4IufqO7xP52/9uKnOVclrGji6Xx/9t/g3mo28R1bbxMSEmpubV/x8pzv+y5cva3p6\nWslkUm1tbZKk1tZWjYyMqLq6Wu3t7cXnLrcOO97QgB17xJ1T8X/++ee/Wquvr1dPT8+K1wGsv99V\nVene1IuKnGv3trhqdmypyLlg5/xbPVhbq/2fsVM/LWj6ZX7V/n02+UXn6SEqbG5+saJjpdUsfkY9\n7ij+QEy/zFd07g7AX/yVDZ7iTgawY4+4o/gBIDAUv6f4u8YBO/aIO4ofAAJD8XuK+SVgxx5xR/ED\nQGAofk8xvwTs2CPuKH4ACAzF7ynml4Ade8QdxQ8AgaH4PcX8ErBjj7ij+AEgMBS/p5hfAnbsEXcU\nPwAEhuL3FPNLwI494o7iB4DAUPyeYn4J2LFH3FH8ABAYit9TzC8BO/aIO4ofAAJD8XuK+SVgxx5x\nR/EDQGAofk8xvwTs2CPuKH4ACAzF7ynml4Ade8RdbL1fQMimflrQ9Mt8Rc6VX4wqch5gOb+rqtK9\nqRcVOdfubXHV7NhSkXNtRBT/Opp+mde5m48rcq6+w/sqch5gOXPzizp/68eKnGvg6H6K36IixT85\nOanR0VFJUktLi+rq6ipxWgBACRWZ8WcyGXV0dKijo0PXrl2rxCkBAMtY8zv++fl5xWIxJRKJ4lo+\nn1c8Hl/rUwMASljz4p+amlIqlVImk5EkJZNJ5XI5NTQ0rPWpnfCBK4DNriqKojVtn4WFBV28eFHd\n3d2Koqj451J3/GNjY2v5UgBg02publ7xc9f8jn/Lli0qFAr6+eefVSgUtLS0tOyYp5wXDgBws+Z3\n/JL0n//8R3/7299UXV3Nb/UAwDqrSPEDAPzBX9kAAIHx4pu7V65c0dOnT7Vt2zadPn26+KufIX7x\n6+HDh7p69aoOHDigU6dOFddDzEIK97ql0u+FUPMo1RGhZjE6OqoHDx5ox44d6uzs1M6dO8vPIvLI\nd999F/31r38tHl+4cCGanZ2NZmdnoy+//HIdX1nl3Lt3L/ruu++iq1evvrUeYhZRFO51R1Hp90LI\neUTR2x0Rehbff/999M0330RRVH4WXtzxv7Z9+3YtLi5KCveLX42NjXrw4MFba6FmEep1v/bueyH0\nPCTTEQsLC0Fnsbi4qPv376umpsYpi4oW/z//+U/9/e9/f2utvb1d9fX1kqTbt2/ryJEjkjbeF7/K\n9b4s3rTZs1hOqNe9HPIwHZHL5YLO4k9/+pPi8biOHz/ulEVFi7+xsVGNjY0lHxsfH1dtba1qa2sl\nSel0WjMzM2998SudTlfy5a4pWxbv2uxZLCfU615O6Hm82RELCwtBZzEwMKDx8XENDQ3p7NmzZWfh\nxajnyZMn+uGHH9TW1lZcK+eLX5tN9M5v2IaaRajX/aY33wsh5/FuR4ScxWu7d+/WBx984JSFF7/H\n/8c//lG7du1SdXW19u7dq87OTklhfvHrxo0bunv3rp4/f64DBw7ozJkzksLMQgr3uqXS74VQ8yjV\nEaFmMTg4qNnZWe3cuVOtra3atWtX2Vl4UfwAgMrhC1wAEBiKHwACQ/EDQGAofgAIDMUPAIGh+AEg\nMBQ/AATm/wCC1fFOnHSq2wAAAABJRU5ErkJggg==\n" }, { "output_type": "display_data", "png": "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\no31NO8p+XLwtlUqps7Nz0/sbjYwuX76s+fl5BYNBdXd3S5Ki0ajGx8dVW1urnp6e/L7F1gEA7jAK\nhFOnTr1Va21t1eDg4HvX4Yz5KOCMNWKON6YBACQRCJ7DIx/AGWvEHIEAAJBEIHgOn9MCOGONmCMQ\nAACSCATPYT4KOGONmCMQAACSCATPYT4KOGONmCMQAACSCATPYT4KOGONmCMQAACSCATPYT4KOGON\nmCMQAACSCATPYT4KOGONmCMQAACSDP8/BLiHz3pHpftdTY3uz70o+3Ebt/nVVF/HGnkPBAKAklpa\nzrr2X3c21deV/bgfE0ZGHsMjH8AZa8QcgQAAkEQgeA6/Yw04Y42YIxAAAJIIBM9hPgo4Y42YIxAA\nAJL4tdOKMffziuZfZjbcb2lpSb///e9LdtxM1irZvwVUAt6HYM7VQJidnVUikZAkRSIRtbS0uHk6\nrpp/mdHpW483ufdPJTvuuYOflOzfAuBtro6M4vG4ent71dvbq+vXr7t5KgA+Ejw7MOfaM4Tl5WX5\nfD4FAoF8LZPJyO/3u3VKAFDVXAuEubk5hUIhxeNxSVIwGFQ6nVZbW5tbp/T/57XJWX6pMcsH3s/a\nZyiV+nU2J2ufn/SxqLEsy5WfRCsrKxoZGdHAwIAsy8r/udAzhImJCRfOEAC8r7Ozc9P7uvYMoa6u\nTrlcTq9evVIul9Pq6uo7x0XFXBAAwIxrzxAk6b///a/+/ve/q7a2tup/ywgA3OZqIAAAKgfvVAYA\nSKrwdypfvXpVT58+1bZt23TixIn8r6hW4xvaHjx4oGvXrmnv3r06fvx4vl6NvZCq97qlwvdCtfaj\n0M+Iau1FIpHQzMyM6uvrFYvF1NDQUHwvLA/47rvvrL/97W/57QsXLliLi4vW4uKi9eWXX7p4ZuVz\n//5967vvvrOuXbv2Wr0ae2FZ1XvdllX4XqjmfljW6z8jqr0X33//vfXNN99YllV8Lyr6GcKa7du3\nK5vNSqreN7S1t7drZmbmtVq19qJar3vNm/dCtfdDsn9GrKysVHUvstmspqen1dTUZNSLigiE//zn\nP/rHP/7xWq2np0etra2SpDt37ujQoUOSKvcNbaWyUS/W+9h78S7Vet3vQj/snxHpdLqqe3H27Fn5\n/X51dXUZ9aIiAqG9vV3t7e0FvzY5Oanm5mY1NzdLksLhsBYWFl57Q1s4HC7n6X5QTr1408fei3ep\n1ut+l2rvx/qfESsrK1Xdi4sXL2pyclJff/21+vv7i+5FRQTCuzx58kQPHz5Ud3d3vlbMG9o+NtYb\nvyFcrb2o1uteb/29UM39ePNnRDX3Yk1jY6O2bt1q1IuKfh/CX/7yF+3cuVO1tbXavXu3YrGYpOp8\nQ9vNmzd17949PX/+XHv37tXJkyclVWcvpOq9bqnwvVCt/Sj0M6JaezE6OqrFxUU1NDQoGo1q586d\nRfeiogMBAFA+vDENACCJQAAA/IZAAABIIhAAAL8hEAAAkggEAMBvCAQAgCTp/wD9yj3ssrsOnAAA\nAABJRU5ErkJggg==\n" } ], "prompt_number": 165 }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many others - binomial, multivariate, poisson, power, etc. See http://docs.scipy.org/doc/numpy/reference/routines.random.html for a complete list" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "6.2 Linear Algebra\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "np.linalg is a NumPy submodule with many standard linear algebra routines." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# solve for Ax = b \n", "A = np.array([[1,2], [-1,1]]) \n", "b = np.array([1,1]) \n", "x = np.linalg.solve(A,b) \n", "\n", "print x" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[-0.33333333 0.66666667]\n" ] } ], "prompt_number": 121 }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.random.randint(0, 10, 25).reshape(5, 5)\n", "print A\n", "e_vals, e_vecs = np.linalg.eig(A)\n", "print\n", "print e_vals\n", "print e_vecs" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[9 8 5 7 0]\n", " [4 3 7 1 4]\n", " [2 5 1 0 0]\n", " [1 9 6 1 9]\n", " [0 7 9 1 6]]\n", "\n", "[ 19.08863964+0.j 3.85846812+3.66977644j 3.85846812-3.66977644j\n", " -3.40278794+1.08975429j -3.40278794-1.08975429j]\n", "[[-0.70154094+0.j -0.31209910-0.40197915j -0.31209910+0.40197915j\n", " 0.34872346+0.16574551j 0.34872346-0.16574551j]\n", " [-0.36990076+0.j -0.06325480+0.0579489j -0.06325480-0.0579489j\n", " 0.23805294-0.30985306j 0.23805294+0.30985306j]\n", " [-0.17981373+0.j -0.21144924+0.0915727j -0.21144924-0.0915727j\n", " -0.46851152+0.16062818j -0.46851152-0.16062818j]\n", " [-0.45990272+0.j 0.66330367+0.j 0.66330367+0.j\n", " -0.58109013+0.j -0.58109013+0.j ]\n", " [-0.35660937+0.j 0.44956891+0.196131j 0.44956891-0.196131j\n", " 0.31980954+0.11399083j 0.31980954-0.11399083j]]\n" ] } ], "prompt_number": 122 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "6.3 FFT" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# example stolen from http://glowingpython.blogspot.com/2011/08/how-to-plot-frequency-spectrum-with.html\n", "\n", "figure(figsize=(12,8))\n", "def plotSpectrum(y,Fs):\n", " \"\"\"\n", " Plots a Single-Sided Amplitude Spectrum of y(t)\n", " \"\"\"\n", " n = len(y) # length of the signal\n", " k = np.arange(n)\n", " T = n/Fs\n", " frq = k/T # two sides frequency range\n", " frq = frq[range(n/2)] # one side frequency range\n", "\n", " Y = np.fft.fft(y)/n # fft computing and normalization\n", " Y = Y[range(n/2)]\n", " \n", " plot(frq,abs(Y),'r') # plotting the spectrum\n", " xlabel('Freq (Hz)')\n", " ylabel('|Y(freq)|')\n", "\n", "Fs = 150.0; # sampling rate\n", "Ts = 1.0/Fs; # sampling interval\n", "t = np.arange(0,1,Ts) # time vector\n", "\n", "ff = 5; # frequency of the signal\n", "y = np.sin(2*np.pi*ff*t)\n", "\n", "subplot(2,1,1)\n", "plot(t,y)\n", "xlabel('Time')\n", "ylabel('Amplitude')\n", "subplot(2,1,2)\n", "plotSpectrum(y,Fs)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nSkrCXB0CkXJWFz1x4wD933+U6k/rvjjtjw731zQq97XPlJnaVbcPYXUzVvXq7tMvru+v/3xvj17r\nxF3L9lTW6/6/btN3zuuucZewihWrBqYn6mcj+mrWOzu1asfpb8q07UCd/ufftul7F6Zr9CB3r2Ih\neIMzuumuK/roZ29u15q9Vac9f31ZtR54/TNNzu6lKx0YW0RkXHtBqn546Tn6X699po1fnv4D+3/v\nrtS/v7VD9w8/Txc5MLYYqrjHHnvsMSe/YVlZmQYOHKiDBw/q0ksvPe35v/nNbzR16lQNHjxY+fn5\nGjZsWIfn7ty5U716uXfAPhalntVFIy5I1ZKPyvR5+RF957zuJ70V+GfldfrZG5/r5qyzNfnbveR1\n8FPp+eef79j3wlFnJyfoqr4pWvDfJSqvbdTgjG4nHTHaUFajf39ru348pJduubino2NIvC+cl9Hd\np2/37q7/fG+3mlv9uuicpJP+mX+w57Bmv7tL9w07T9c73HjzvnBeZupZuqhnkuas2qWkhDgNTD/5\n3QhXfl6hJ1fv1SMjMzW8n7N7N/O+cN6g9ERlpp6l/3h3l85NTlDfDq75eHXjAS1eU6pfXn+BLssI\nzx1OT6asrEwXXHBBUK91fBr9kksu0aZNmzp1bn19veLj45Wa+tVthBsbG5WQwJ7QbtIjqYv+818H\n6j/e3aUZK7br3mHnKf645nrrgTrNK9yr+4ed5/hfmIic3t/waf7NgzTz7R2a8+4uTb28t47/zPVx\naY1+9+E+PTyyr7J7O/cXJiKrf4+zNP/mQfr3t3boi+oGTbzsXB3ffr+/67BeWP+Ffnn9BfpWz6SI\n1QlnXXRusp783kA9+tYOfVHdqJuz2m81+ta2Ci3felBz/3WAIxfewh2+c153/eqGAZqxYru+qGnU\nd/t/1Q/6Jb30yX6tLanWvJsG6dxu0XOXbI8/2MuMT2PDhg36y1/+0u6xyZMnq2/fvtq0aZM++ugj\n3Xbbbaf8Gjt37tS7776r+PijnxGampp03XXXKTMz86Tnr1y5UtnZ2Sb1I3AtrX4t/GCfCndVtns8\nMcGr/31NX10YoX9ICwsLuVI9ghqbWzX//b0q3lfd7vFvdI3T9BGZ6pcWmX9IeV9EVl1ji3793m5t\n3t9+1jc9qYseGZmpXt0j8w8p74vIOlzfrF/91y7t+toWhL2/4dPDIzPVI7FLROrifRFZB2obNefd\nXSqrbr8FYf8eZ2n6iL7q5tA1IccrLi7WqFGjgnpt2JrvU+ls893Q0KB58+YpNzdXfr+/7fcdrXyv\nXLkyHOUCAAAA7QTbfEdkE8TO9vs+n0+tra2qq6tTa2urWlpaTjlyEmwIAAAAgBMcX/l+9dVXtW7d\nOlVWViorK0t33nln23NFRUXy+XztRkd2796tZcuWyev1aty4cerTp4+T5QIAAABmIjJ2AgAAAJyJ\nuMkOAAAA4BCabwAAAMAhEbngMlglJSUqKCiQpNPOfwdyLqJbIH/WS5Ys0Z49e5SUlKQ77rij3R7y\niC2B/h3Q1NSk+++/XzfffLPGjBnjRImIgEDeF4cPH9b8+fPV0NCgrKwsTZo0yaky4bBA3hdr1qzR\n8uXL1aVLF916660aMGCAU2XCQZs3b9bSpUuVlZV12t35Au45/VFk9uzZ/oqKCn9FRYX/iSeeMDsX\n0S2YP+sPP/zQ/+c//znMlSGSAn1fvP766/65c+f6ly9f7kB1iJRA3heLFy/2r1692qHKEEmBvC8e\nfvhhf1NTk7+ystL/+OOPO1QhnLZ+/Xr/hx9+6F+6dOlpzw3035uoWfkO5G6X3BnzzBHsn3VycrKa\nm5vDXR4iJND3RUNDgzZs2KArrrhC9fX1Jz0H0S/Q98Xu3bt1++23O1UeIiTQ90W/fv20ZcsWVVZW\nsuodwzp7R/Zg+pCoab7LysqUnp6u/Px8SVJaWppKS0tPerfLQM5FdAv2z/r999/XjTfe6ECFiIRA\n3xdvvvmmxowZo8rKypM+j9gQyPuirq5OVVVVeuaZZ1RbW6sxY8bo4osvdrhiOCHQvy8GDx6sv/zl\nL2pqatIPfvADByuFGwXTh0TNBZcZGRkqLy/XhAkTNH78eB08eFAZGRkhn4voFsyf9dq1a9W7d2/1\n7t3boSrhtEDeF3V1ddqyZYsGDx7scJVwWiDvi8TERPXs2VM5OTm69957tWzZMrW2tjpcMZwQyPvi\n8OHDWrFihR599FHNmDFDL774Iu+LM1wwfUjUrHwHcrfLQO+MiegV6J/19u3btXXrVi6cinGBvC+2\nbNmipqYmzZ8/X/v371dLS4v+5V/+hYu0Y1Cgf1/06NFDhw4dUkZGhuLi4hysFE4K5H3h8Xja3aXb\nz61SYlpn/nyD6Tmj6iY7Hd3tkjtjntkCeV9MmzZNPXr0kNfr1fnnn68pU6ZEqmyEWSDvi2NWrVql\nhoYGjR492uly4ZBA3hc1NTV6+eWXtXPnTo0cOVLXXHNNpMpGmAXyvnjnnXe0bt06eTweXX311Ro6\ndGikykYYdXRHdoueM6qabwAAACCaRc3MNwAAABDtaL4BAAAAh9B8AwAAAA6h+QYAAAAcEjVbDQIA\nOvbBBx/ojTfekHR0S83MzEzFxcXpsssu09ixYyVJpaWlKiws5MYgABBB7HYCADHmnnvu0RNPPKHk\n5ORIlwIA+BpWvgEgxjU2Nmr27Nmqq6vT2WefrenTp7c999hjj2ngwIH66KOPdMstt2jFihXKysrS\nD3/4Q0nSvn379MYbb6i0tFT9+vXTLbfcoqSkpEj9rwBA1GPmGwBiXEJCgn7xi1/o9ttvP+E5j8ej\nc889V9dee61WrFih+++/X6tXr257/g9/+INuuukmzZw5U7169dLKlSudLB0AYg4r3wBwhuhoyrBf\nv37as2ePMjMzlZaWpqqqKknSoUOHtH37dj377LOSpNbWVkZZACBENN8AAEknNudxcXHq2rWrZsyY\nIY/HE6GqACC2MHYCADip7t27q3///nrrrbfU2toqSW3/BQAEh5VvAIgxHa1Sn271+tjzx5/34x//\nWCtWrNCMGTMUHx+vq666Stdff71dsQBwhmGrQQAAAMAhjJ0AAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4hOYb\nAAAAcAjNNwAAAOAQmm8AAADAITTfAAAAgENovgEAAACH0HwDAAAADqH5BgAAABxC8w0AAAA4JD4S\n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\n" } ], "prompt_number": 123 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "6.4 Polynomials" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Polynomials are handled in the polynomial submodule of NumPy." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# polynomials have their own convience classes, you pass in the coefficents.\n", "# the degree is infered from the length of the coefficent list.\n", "\n", "p = np.polynomial.Polynomial([5,1,1]) \n", "\n", "# we can evaluate at a point or over a range of values\n", "print p(3)\n", "plot(np.arange(0,10,0.01), p(np.arange(0,10,0.01)))\n", "xlabel('x')\n", "ylabel('y')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "17.0\n" ] }, { "output_type": "pyout", "prompt_number": 124, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 124 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also fit data to a polynomial of a given degree, which uses the least squares routine to find the best values for the coefficients." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "http://docs.scipy.org/doc/numpy/reference/generated/numpy.polynomial.polynomial.polyfit.html#numpy.polynomial.polynomial.polyfit" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# let's cheat and use the polynomial function to make some data for us\n", "x_vals = np.arange(0,10,0.01)\n", "p = np.polynomial.Polynomial([5,1,1])\n", "clean_data = p(x_vals)\n", "\n", "num_points = clean_data.shape[0]\n", "dirty_data = clean_data + (np.random.random(num_points) * 10 - 5) # now dirty_data is clean data +/- 5 " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 125 }, { "cell_type": "code", "collapsed": false, "input": [ "fit_coefs = np.polynomial.polynomial.polyfit(x_vals, dirty_data, 2) # takes x values, y values and the degree to try and fit the data to\n", "print fit_coefs\n", "fit_p = np.polynomial.Polynomial(fit_coefs) # now build a polynomial with those fit values\n", "\n", "# plot them\n", "plot(x_vals, dirty_data, label='dirty data')\n", "plot(x_vals, fit_p(x_vals), lw=2, color='black', label='fit')\n", "legend()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 5.12561007 1.01919966 0.99603507]\n" ] }, { "output_type": "pyout", "prompt_number": 126, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD+CAYAAAAwAx7XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VFX6wPHv1Ex6TyAEEgi9wwqiIiKwoNhAAQEFAbGg\nrspiWbH/dFXUXdG1oIJuXMWCBQugKIoasNCkJ0ACJCGB9D595vfHJHMzaZKQMCnv53n22cy9d27O\nvLm8c3zvueeonE6nEyGEEO2O2tsNEEII0TIkwQshRDslCV4IIdopSfBCCNFOSYIXQoh2ShK8EEK0\nU9qGdh48eJB33nmH/v37M2fOHADefvtt0tPT8ff358YbbyQ0NBSAzMxM1qxZA8D06dOJjY1t4aYL\nIYRoiKqhcfB79uzBZDKRkpLiTvBVfv/9d44fP8706dMB+Oc//8ltt90GwJtvvsl9993Xgs0WQgjx\nZxos0QwePJiAgIA69wUEBGCz2QAwmUxotVpCQ0PdPXqLxdLMTRVCCNEYDZZoGrJlyxYmT54MQHZ2\nNhERESQmJgIQFhZGVlYW8fHxzdJIIYQQjdekBL99+3a6dOlCly5dAIiJiSEvL4/FixfjdDpZvnw5\nMTEx9b5/06ZNTWutEEJ0cOPHjz/tY/80wdcs0aemppKSksJ1113n3ubj44PD4aCiogKHw4Hdbkev\n1zd43uHDh592I4UQQsDOnTsbdXyDNfi1a9eyZs0aduzYwRtvvAHACy+8wKFDh3j88cd5++233cfO\nnj2bVatWkZiYyNy5c5vQ9I4pKSnJ201oNSQWComFQmLh6mg3ZV7IBnvwU6ZMYcqUKR7bXn755TqP\njYuLY8mSJY1ugBBCiIbdsTaF2BADk4Ib974Gh0m2lE2bNkmJRgghTsPElbsACDZoeaC/tVE1eHmS\nVQgh2gC7o5lLNKLlJSUlMXr0aG83o1WQWCiaGouysjJKSkoAUKlUzd0sryguLiY4uJG1iTbK6XSi\n0WiIioqq9fezSYIXouPKz88HoHPnzu0muYPr83QkFRUV5OTkEB0d7bG9KT14KdF4mfRYFRILRVNi\nYTabCQ8Pb1fJvSPy8/PDbLWxOa3QndRtxjL2v3F/o88lPXgh2glJ7O3HiRIzT23NYUz3EBw2K6nv\nPEpp6h+NPo/04L1MxvgqJBaK9h6Lrl271tp25MgRnnnmmUafa/369aSkpDRHs+r08ssvs2zZstM+\nft++fXz33Xdn9DuLTa55vn5MK+T4J/+mNPUPdIFhjT6PJHghxFlX139t9OzZk3/84x+NPte6deta\nNME39r+M9uzZw7ffftssvzv7u/+Rv2Mjap2BnvP/2ej3S4L3Mqk7KyQWivYWiyNHjrBgwQKuueYa\n1qxZ4/FUpslkYvLkyYwePZpZs2bVeu/tt9/Oq6++yowZMxgzZgyffvqpe9+dd97Jpk2bePrpp5k8\neTIbNmwAoLS0lEGDBmE2mwGwWq0MGTLEPcLoz6xatYrx48ezdOlSMjIyPPZ988033H333UyaNInZ\ns2d77F+5ciXLly/nq6++YvLkyR49/9LSUh577DFuuukmRo8ezeuvv95gG/J2bCTr20RQqelx3UO8\nfutlp9X26qQGL4RocQ899BDTpk1j2rRpvPXWW+7EC2AwGFi/fj1btmyp90n5r7/+mvfee4/AwECP\n7S+99BJ33HEHkyZN4oorrnBvDwwMZPz48axbt46rr76ar7/+mjFjxhAUFPSnbd21axcffPABn332\nGYWFhdx6661cfPHF7v0jRoxg0qRJADz11FO8//777vUvFi5ciL+/P7t3765VbgoMDOTOO+8kLCyM\nkpISRo4cyQ033IDBYKjVBruxjOMf/wuAblfeTkj/89CqVTR2EnbpwXtZe6+1NobEQtGeYmE0Gtm9\nezdXX301AAsWLKgzqdX3UL1KpWLhwoW1kvufvXfevHmsXr0agNWrV3PDDTecVns3btzIlClTCAoK\nIi4ujssvv9zj/GFhYezdu5cPPviAvLw8/vjD8+ZnQ/PGaLVavvnmGz788EMMBkO9pSXjyWM47Tai\nL5xG1AWu6WJ0msbfRJcevBAdSNVj72dq48Jhp32sTqdDqz37qWbo0KEUFRWxfft2Tp48yTnnnHNa\n7/P19fVI0DWT9R133IHNZmPKlCkMGTKE7Oxsj/311ez379/PwoULufnmmxkwYAARERH1tsHpsBMy\ncDTTb7uXXzPKANA0YZSUJHgva2+11jMhsVC0VCwak5ibi1arZejQoaxbt44rrriCr7/+moqKimY7\nf2hoKJmZmQDY7XY0Go1735w5c7jxxhu56667Tvt848aN495772XevHmAq0d/wQUXuPdv3ryZn3/+\nmeDgYO69995aXwBhYWHuunz19mzfvp2xY8cyf/58Dhw4QHp6er09fY3Bnx6zltInKtCd4JvyJKuU\n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\nnhBCBOp/Mmbn2IvI8ocAAAAASUVORK5CYII=\n" } ], "prompt_number": 126 }, { "cell_type": "markdown", "metadata": {}, "source": [ "For other fitting, see scipy.optimize, in particular, curve_fit(). I have an exmaple gist here for exponetial fitting: https://gist.github.com/andrewgiessel/5816412, but the methodology can be used for any arbitrary function, using numpy routines and arrays." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "6.5 Masked Arrays" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is a submodule of NumPy that can handle masked arrays- these are arrays with associated True/False values. These values are ignored during plotting or calcuations like mean(), max(), sum(), etc. If True, the value is masked." ] }, { "cell_type": "code", "collapsed": false, "input": [ "A = np.random.random(100)\n", "A_masked_small = np.ma.MaskedArray(A, A>0.5) # second arguement is the mask, must be the same shape as the array\n", "A_masked_big = np.ma.MaskedArray(A, A<=0.5) # second arguement is the mask, must be the same shape as the array\n", "\n", "\n", "print 'all average', A.mean()\n", "print 'big average', A_masked_big.mean()\n", "print 'small average', A_masked_small.mean()\n", "\n", "figure(figsize=(12,8))\n", "\n", "plot(A, label='full')\n", "plot(A_masked_small, label='small')\n", "plot(A_masked_big, label='big')\n", "\n", "legend()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "all average 0.52601171935\n", "big average 0.763928864893\n", "small average 0.246717678929\n" ] }, { "output_type": "pyout", "prompt_number": 127, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nL6Oc9Powe1Lk/TRK8MV/fGTmeHcw3FtYs84X/k7m50/6eWO1Ae2kib/6z1/fO/6Zzz4EnfhSvt/p\nnwkhIPDx2dMPcf/9s8+dxbnnzyYev3rlMp548qnU8z3zzHMgennjq6yfGxrFc+cn16G415957uze\n4q/C9f/T1782kfXMer3teqWMt7ifP//QQ2CRzdr08c+d/jwoWOLfN+Hi9Je/sZcg4n1/nRJcGzgY\n7m4Vuv6drWv4p28GvQX33HNP7Ou/+o1v7iUesuarbq+feNz1fHzpCw9Lvf9nzzyLs+fOFz5fuLmK\nO97d3U4cf+cvvoBnn/62tM+j+y7+4fNf3Pv5oYe/CHiOtPPH/Xz22af3EqVxx4uA+ClpDMuycP/9\n9+N973sffN/f+79pzmZ/B4MBfvd3fxcf+MAH8OCDD2I0GqUGzZ/+9Kdx1113AQA+9L9+Ej9y7xvw\nsps3C32Yj3zpPNqmhp987XXCf/t/feUF2B7De95wIvE1D3z5IjQC/PRd16ee64tnd/DXj13Ff3jb\nbbHH//iRC9ApmTjPL/6Xx/HL33UjXnq0E/s3I8fDj/6f38Bfv+e1HJ8G+OalHv7wixdw/w++hOv1\nVeFf/snX8cCPvRxrc3AH+9/ufwh3vPI4/tX33p74mseeehEvXO3je+6+KfN8//Zvv40fe80xvP7k\nGgDgr791Bc9ujfDL33Vjoev8nc8+h5cf6+D+08/jEz/72tJ4Xf/zx5/E//AdJ/CK61YSX/Oe//Qt\n/PrbbsUN683c7/Ozf/Et/C9vvQWnNlsTv3/Xx/4JH/6hl+CoBNqVbHQHDv733/oM/rsffw3e+Irj\nuNq38Ut/9ST+73e9spT3e+dHv4q/+JlXc2es//CL57He1PFjrzkee/z+02dx++E23nnnkcRz/Pnf\nPYlnn7qKX/mlN+e65qrwmaev4fPP7eDf/fNbUl/3H794HhstHT/26vh7NG+c2RriQ58+gz/813dy\nvf7tH/kK/uY9r51b1eX7P/IV/HXC+20PHfzcXzyGv/iZV8f+7b/5+BP4rlMbePjsDu77F/xrzv/z\ntUv4k0cv4h0vPYJffPMNua/91z/9LL77lg38s1uTY4jPPrOFf3h2G//+renj5uzWCB/81DP4yI++\nfOaY7/t420e+ir+TPC//zWNX8fSLA/ybe7LXnTT88l89gf/pTTfg5cdn44h///dP4wdedgRvOrU+\n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\ngg==\n" } ], "prompt_number": 127 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "7. Other resources" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are a lot of great NumPy and scipy resources out there! I've gathered a few here.\n", "\n", "* The NumPy Documentation: http://docs.scipy.org/doc/numpy/reference/\n", "* NumPy For MATLAB Programmers: http://wiki.scipy.org/NumPy_for_Matlab_Users - a great reference if you come from MATLAB. Lots of similarities exist but there are some gotchas\n", "* SciPy tutorial: http://docs.scipy.org/doc/scipy/reference/tutorial/ - NumPy users almost always end up using SciPy as well. Here is the intro docs for it.\n", "* A youtube of a matplotlib/numpy tutorial session: http://www.youtube.com/watch?v=3Fp1zn5ao2M\n", "* A great scientific python overview/tutorial site: http://scipy-lectures.github.io/\n" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }