{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": { "cell_tags": [] }, "source": [ "Analyzing Multiple Data Sets" ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "We have created a function called `analyze` that creates graphs of the minimum, average, and maximum daily inflammation rates\n", "for a single data set:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "def analyze(filename):\n", " data = np.loadtxt(fname=filename, delimiter=',')\n", " \n", " plt.figure(figsize=(10.0, 3.0))\n", " \n", " plt.subplot(1, 3, 1)\n", " plt.ylabel('average')\n", " plt.plot(data.mean(0))\n", " \n", " plt.subplot(1, 3, 2)\n", " plt.ylabel('max')\n", " plt.plot(data.max(0))\n", " \n", " plt.subplot(1, 3, 3)\n", " plt.ylabel('min')\n", " plt.plot(data.min(0))\n", " \n", " plt.tight_layout()\n", " plt.show()\n", "\n", "analyze('inflammation-01.csv')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nD8Se36QdbJ39AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "We can use it to analyze other data sets one by one:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "analyze('inflammation-02.csv')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "but we have a dozen data sets right now and more on the way.\n", "We want to create plots for all our data sets with a single statement.\n", "To do that,\n", "we'll have to teach the computer how to repeat things." ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [ "objectives" ] }, "source": [ "#### Objectives\n", "\n", "* Explain what a for loop does.\n", "* Correctly write for loops to repeat simple calculations.\n", "* Trace changes to a loop variable as the loop runs.\n", "* Trace changes to other variables as they are updated by a for loop.\n", "* Explain what a list is.\n", "* Create and index lists of simple values.\n", "* Use a library function to get a list of filenames that match a simple wildcard pattern.\n", "* Use a for loop to process multiple files." ] }, { "cell_type": "heading", "level": 3, "metadata": { "cell_tags": [] }, "source": [ "For Loops" ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "Suppose we want to print each character in the word \"lead\" on a line of its own.\n", "One way is to use four `print` statements:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def print_characters(element):\n", " print element[0]\n", " print element[1]\n", " print element[2]\n", " print element[3]\n", "\n", "print_characters('lead')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "l\n", "e\n", "a\n", "d\n" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "but that's a bad approach for two reasons:\n", "\n", "1. It doesn't scale:\n", " if we want to print the characters in a string that's hundreds of letters long,\n", " we'd be better off just typing them in.\n", "\n", "1. It's fragile:\n", " if we give it a longer string,\n", " it only prints part of the data,\n", " and if we give it a shorter one,\n", " it produces an error because we're asking for characters that don't exist." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print_characters('tin')" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "IndexError", "evalue": "string index out of range", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint_characters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'tin'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36mprint_characters\u001b[0;34m(element)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mprint\u001b[0m \u001b[0melement\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mprint_characters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'lead'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mIndexError\u001b[0m: string index out of range" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "t\n", "i\n", "n\n" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a better approach:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def print_characters(element):\n", " for char in element:\n", " print char\n", "\n", "print_characters('lead')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "This is shorter---certainly shorter than something that prints every character in a hundred-letter string---and\n", "more robust as well:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print_characters('oxygen')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "The improved version of `print_characters` uses a [for loop](../../gloss.html#for-loop)\n", "to repeat an operation---in this case, printing---once for each thing in a collection.\n", "The general form of a loop is:\n", "\n", "
\n",
      "for variable in collection:\n",
      "    do things with variable\n",
      "
" ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "We can call the [loop variable](../../gloss.html#loop-variable) anything we like,\n", "but there must be a colon at the end of the line starting the loop,\n", "and we must indent the body of the loop.\n", "\n", "Here's another loop that repeatedly updates a variable:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "length = 0\n", "for vowel in 'aeiou':\n", " length = length + 1\n", "print 'There are', length, 'vowels'" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "It's worth tracing the execution of this little program step by step.\n", "Since there are five characters in `'aeiou'`,\n", "the statement on line 3 will be executed five times.\n", "The first time around,\n", "`length` is zero (the value assigned to it on line 1)\n", "and `vowel` is `'a'`.\n", "The statement adds 1 to the old value of `length`,\n", "producing 1,\n", "and updates `length` to refer to that new value.\n", "The next time around,\n", "`vowel` is `'e'` and `length` is 1,\n", "so `length` is updated to be 2.\n", "After three more updates,\n", "`length` is 5;\n", "since there is nothing left in `'aeiou'` for Python to process,\n", "the loop finishes\n", "and the `print` statement on line 4 tells us our final answer.\n", "\n", "Note that a loop variable is just a variable that's being used to record progress in a loop.\n", "It still exists after the loop is over,\n", "and we can re-use variables previously defined as loop variables as well:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "letter = 'z'\n", "for letter in 'abc':\n", " print letter\n", "print 'after the loop, letter is', letter" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "Note also that finding the length of a string is such a common operation\n", "that Python actually has a built-in function to do it called `len`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print len('aeiou')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "`len` is much faster than any function we could write ourselves,\n", "and much easier to read than a two-line loop;\n", "it will also give us the length of many other things that we haven't met yet,\n", "so we should always use it when we can." ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [ "challenges" ] }, "source": [ "#### Challenges\n", "\n", "1. Python has a built-in function called `range` that creates a list of numbers:\n", " `range(3)` produces `[0, 1, 2]`, `range(2, 5)` produces `[2, 3, 4]`, and `range(2, 10, 3)` produces `[2, 5, 8]`.\n", " Using `range`,\n", " write a function that prints the $N$ natural numbers:\n", " ~~~python\n", " print_N(3)\n", " 1\n", " 2\n", " 3\n", " ~~~\n", "\n", "1. Exponentiation is built into Python:\n", " ~~~python\n", " print 2**4\n", " 16\n", " ~~~\n", " It also has a function called `pow` that calculates the same value.\n", " Write a function called `expo` that uses a loop to calculate the same result.\n", "\n", "1. Python's strings have methods, just like NumPy's arrays.\n", " One of these is called `reverse`:\n", " ~~~python\n", " print 'Newton'.reverse()\n", " notweN\n", " ~~~\n", " Write a function called `rev` that does the same thing:\n", " ~~~python\n", " print rev('Newton')\n", " notweN\n", " ~~~\n", " As always, be sure to include a docstring." ] }, { "cell_type": "heading", "level": 3, "metadata": { "cell_tags": [] }, "source": [ "Lists" ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "Just as a `for` loop is a way to do operations many times,\n", "a list is a way to store many values.\n", "Unlike NumPy arrays,\n", "there are built into the language.\n", "We create a list by putting values inside square brackets:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "odds = [1, 3, 5, 7]\n", "print 'odds are:', odds" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "We select individual elements from lists by indexing them:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print 'first and last:', odds[0], odds[-1]" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "and if we loop over a list,\n", "the loop variable is assigned elements one at a time:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for number in odds:\n", " print number" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "There is one important difference between lists and strings:\n", "we can change the values in a list,\n", "but we cannot change the characters in a string.\n", "For example:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names = ['Newton', 'Darwing', 'Turing'] # typo in Darwin's name\n", "print 'names is originally:', names\n", "names[1] = 'Darwin' # correct the name\n", "print 'final value of names:', names" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "works, but:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "name = 'Bell'\n", "name[0] = 'b'" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "does not.\n", "\n", "> #### Ch-Ch-Ch-Changes\n", ">\n", "> Data that can be changed is called [mutable](../../gloss.html#mutable),\n", "> while data that cannot be is called [immutable](../../gloss.html#immutable).\n", "> Like strings,\n", "> numbers are immutable:\n", "> there's no way to make the number 0 have the value 1 or vice versa\n", "> (at least, not in Python—there actually *are* languages that will let people do this,\n", "> with predictably confusing results).\n", "> Lists and arrays,\n", "> on the other hand,\n", "> are mutable:\n", "> both can be modified after they have been created.\n", ">\n", "> Programs that modify data in place can be harder to understand than ones that don't\n", "> because readers may have to mentally sum up many lines of code\n", "> in order to figure out what the value of something actually is.\n", "> On the other hand,\n", "> programs that modify data in place instead of creating copies that are almost identical to the original\n", "> every time they want to make a small change\n", "> are much more efficient.\n", "\n", "There are many ways to change the contents of in lists besides assigning to elements:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "odds.append(11)\n", "print 'odds after adding a value:', odds" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "del odds[0]\n", "print 'odds after removing the first element:', odds" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "odds.reverse()\n", "print 'odds after reversing:', odds" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [] }, { "cell_type": "markdown", "metadata": { "cell_tags": [ "challenges" ] }, "source": [ "#### Challenges\n", "\n", "1. Write a function called `total` that calculates the sum of the values in a list.\n", " (Python has a built-in function called `sum` that does this for you.\n", " Please don't use it for this exercise.)" ] }, { "cell_type": "heading", "level": 3, "metadata": { "cell_tags": [] }, "source": [ "Processing Multiple Files" ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "We now have almost everything we need to process all our data files.\n", "The only thing that's missing is a library with a rather unpleasant name:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import glob" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "The `glob` library contains a single function, also called `glob`,\n", "that finds files whose names match a pattern.\n", "We provide those patterns as strings:\n", "the character `*` matches zero or more characters,\n", "while `?` matches any one character.\n", "We can use this to get the names of all the IPython Notebooks we have created so far:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print glob.glob('*.ipynb')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['01-numpy.ipynb', '02-func.ipynb', '03-loop.ipynb', '04-cond.ipynb', '05-defensive.ipynb', '06-cmdline.ipynb', 'spatial-intro.ipynb']\n" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "or to get the names of all our CSV data files:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print glob.glob('*.csv')" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['inflammation-01.csv', 'inflammation-02.csv', 'inflammation-03.csv', 'inflammation-04.csv', 'inflammation-05.csv', 'inflammation-06.csv', 'inflammation-07.csv', 'inflammation-08.csv', 'inflammation-09.csv', 'inflammation-10.csv', 'inflammation-11.csv', 'inflammation-12.csv', 'small-01.csv', 'small-02.csv', 'small-03.csv', 'swc_bc_coords.csv']\n" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "As these examples show,\n", "`glob.glob`'s result is a list of strings,\n", "which means we can loop over it\n", "to do something with each filename in turn.\n", "In our case,\n", "the \"something\" we want is our `analyze` function.\n", "Let's test it by analyzing the first three files in the list:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "filenames = glob.glob('*.csv')\n", "filenames = filenames[0:3]\n", "for f in filenames:\n", " print f\n", " analyze(f)" ], "language": "python", "metadata": { "cell_tags": [] }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "inflammation-01.csv\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nD8Se36QdbJ39AAAAAElFTkSuQmCC\n", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "inflammation-02.csv\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "inflammation-03.csv\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n+/7774327dtn//ekSZOM+Pj4y76ndu3aBiAf8hFwH7Vr1/b3kCyQjFn5kI/cP2S8yod82OujsGPW\n7+KFEP4AAAZUSURBVIeJpKenc9NNN7Fy5UqqVatGs2bN+Oijj6hXr54/YwghPCRjVgj7kPEqhHn8\nXm5RvHhx3njjDdq3b09GRgZ9+vSRwSuEhcmYFcI+ZLwKYR5LHksthBBCCCGETloOE8mPr5qgZ6lZ\nsyaNGjXC7XbTrFkzr67Vu3dvQkNDCQ8Pz/7c8ePHiY6Opm7durRr146TJ0+aev24uDiqV6+O2+3G\n7XazfPnyIl8/JSWFVq1a0aBBAxo2bMj06dNN/Rnyur4ZP8P58+eJiooiMjKS+vXrM3LkSFOz53V9\nM//+QfU0dbvdxPy1C8HM+8cf7DRewd5j1s7jFZwxZu0+XsFeY9bO4xXsPWadMF7BhDHr9S4BE6Wn\npxu1a9c2kpKSjAsXLhgRERHG9u3bTX2MmjVrGseOHTPlWt9++62xceNGo2HDhtmfGzp0qDF58mTD\nMAwjPj7eGD58uKnXj4uLM1555ZWih77EwYMHjU2bNhmGYRhnzpwx6tata2zfvt20nyGv65v1M5w9\ne9YwDMO4ePGiERUVZaxdu9bUv//crm/m379hGMYrr7xidOvWzYiJiTEMw9z7x9fsNl4Nw95j1u7j\n1TDsP2btPF4Nw35j1s7j1TDsP2btPl4Nw/sxa6mVZF82Qb+UYVKFSYsWLShfvvxln1u8eDE9e/YE\noGfPnixcuNDU64N5+atUqUJkZCQAISEh1KtXjwMHDpj2M+R1fTDnZyhdujQAFy5cICMjg/Lly5v6\n95/b9cG8v//9+/ezdOlS+vbtm31NM/P7mt3GK9h7zNp9vIK9x6zdxyvYb8zaebyC/cesnccrmDNm\nLTVJ9lUT9Eu5XC7atm1LkyZNmDFjhqnXBjh8+DChoaEAhIaGcvjwYdMf4/XXXyciIoI+ffqY9vZe\ncnIymzZtIioqyic/Q9b1b731VsCcnyEzM5PIyEhCQ0Oz33IyM3tu1zcrO8Bzzz3Hyy+/TFDQ38PQ\nH/ePWZwwXsGeY9aO4xXsPWbtPl7BGWPWjuMV7Dlm7TxewZwxa6lJsqdN0L2xbt06Nm3axLJly3jz\nzTdZu3atzx7L5XKZ/jP179+fpKQkNm/eTNWqVRkyZIjX10xNTaVz585MmzaNMmXKXPY1M36G1NRU\nunTpwrRp0wgJCTHtZwgKCmLz5s3s37+fb7/9ltWrV5uaPef1ExISTMu+ZMkSKleujNvtzvNVsy/u\nHzM5bbyCPcasXccr2HfMOmG8gvPGrB3GK9h3zNp1vIJ5Y9ZSk+TrrruOlJSU7P9OSUmhevXqpj5G\n1apVAahUqRKdOnVi/fr1pl4/NDSUQ4cOAXDw4EEqV65s6vUrV66c/T+2b9++Xue/ePEinTt3pnv3\n7nTs2BEw92fIuv6jjz6afX2zf4ayZctyzz338PPPP/vk7z/r+hs2bDAt+3//+18WL15MrVq16Nq1\nK6tWraJ79+4+v3/M5ITxCvYas04Yr2C/MeuE8QrOGLN2Gq/gjDFrt/EK5o1ZS02SmzRpwu+//05y\ncjIXLlzgk08+oUOHDqZdPy0tjTNnzgBw9uxZvv7668t2tZqhQ4cOzJ49G4DZs2dn37RmOXjwYPa/\nL1iwwKv8hmHQp08f6tevz7PPPpv9ebN+hryub8bPcPTo0ey3Yc6dO8eKFStwu92mZc/r+lmDy5vs\nAJMmTSIlJYWkpCQ+/vhjWrduzZw5c3x+/5jJCeMV7DNm7Txewd5j1gnjFZwxZu0yXsHeY9bO4xVM\nHLOmbSE0ydKlS426desatWvXNiZNmmTqtffs2WNEREQYERERRoMGDby+/sMPP2xUrVrVCA4ONqpX\nr27MmjXLOHbsmNGmTRvjxhtvNKKjo40TJ06Ydv2ZM2ca3bt3N8LDw41GjRoZ9913n3Ho0KEiX3/t\n2rWGy+UyIiIijMjISCMyMtJYtmyZaT9DbtdfunSpKT/Dli1bDLfbbURERBjh4eHGSy+9ZBiGYVr2\nvK5v5t9/loSEhOydt2beP/5gp/FqGPYes3Yer4bhnDFr5/FqGPYas3Yer4Zh7zHrlPFqGN6NWTlM\nRAghhBBCiBwsVW4hhBBCCCGEFcgkWQghhBBCiBxkkiyEEEIIIUQOMkkWQgghhBAiB5kkCyGEEEII\nkYNMkoUQQgghhMhBJslCCCGEEELkIJNkIYQQQgghcvh/t4g/4A54K1sAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "Sure enough,\n", "the maxima of these data sets show exactly the same ramp as the first,\n", "and their minima show the same staircase structure." ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [ "challenges" ] }, "source": [ "#### Challenges\n", "\n", "1. Write a function called `analyze_all` that takes a filename pattern as its sole argument\n", " and runs `analyze` for each file whose name matches the pattern." ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "#### Key Points\n", "\n", "* Use `for variable in collection` to process the elements of a collection one at a time.\n", "* The body of a for loop must be indented.\n", "* Use `len(thing)` to determine the length of something that contains other values.\n", "* `[value1, value2, value3, ...]` creates a list.\n", "* Lists are indexed and sliced in the same way as strings and arrays.\n", "* Lists are mutable (i.e., their values can be changed in place).\n", "* Strings are immutable (i.e., the characters in them cannot be changed).\n", "* Use `glob.glob(pattern)` to create a list of files whose names match a pattern.\n", "* Use `*` in a pattern to match zero or more characters, and `?` to match any single character." ] }, { "cell_type": "markdown", "metadata": { "cell_tags": [] }, "source": [ "#### Next Steps\n", "\n", "We have now solved our original problem:\n", "we can analyze any number of data files with a single command.\n", "More importantly,\n", "we have met two of the most important ideas in programming:\n", "\n", "1. Use functions to make code easier to re-use and easier to understand.\n", "1. Use lists and arrays to store related values, and loops to repeat operations on them.\n", "\n", "We have one more big idea to introduce,\n", "and then we will be able to go back and create a heat map\n", "like the one we initially used to display our first data set." ] } ], "metadata": {} } ] }