
Python for Matlab Users Thomas Hauser Director of Research Computing [email protected] Monte Lunacek HPC Application Specialist [email protected] CU Research Computing: University of Colorado Boulder Who are we? CU Research Computing: University of Colorado Boulder 2/30 What is Python? CU Research Computing: University of Colorado Boulder 3/30 What is Python? · Flexible, powerful programming language ­ Object oriented ­ Runs everywhere ­ Testing framework · Easy, clean syntax · Very readable code · Balanced high level programming with low­level optimization ­ Pyrex, Cython ­ F2py · Large community of support ­ Modular system, large number of libraries · Free as in free beer · Free as in free speech CU Research Computing: University of Colorado Boulder 4/30 Minimum packages for computational science · python: the base language · numpy: arrays, fast operations on arrays · scipy: higher level computational routines · matplotlib: plotting · ipython: notebooks, flexible shell, and parallel · pandas: data analysis CU Research Computing: University of Colorado Boulder 5/30 What can you do with Python? · OS support: manage files and directories · Glue existing applications · LAPACK and BLAS: access powerful C and Fortran libraries · Parallel · Data Analysis · Visualization · GUI programming · Scrape websites · Build websites · Anything! CU Research Computing: University of Colorado Boulder 6/30 Outline Part One · Python Overview (30 minutes) ­ IPython and Notebook ­ Functions, lists, and Dictionaries · Lab (10 minutes) · Break (10 minutes) Part Two · Numpy (20 minutes) · Plotting with Matplotlib (10 minutes) · Lab (10 minutes) · Data Analysis (20 minutes) CU Research Computing: University of Colorado Boulder 7/30 Python Overview · Test driving three ways to interact with Python · Functions, lists, dictionaries Hello World #!/Users/mlunacek/anaconda/bin/python PYTHON def say_hello(): print 'hello world' say_hello() What do you notice about this code? CU Research Computing: University of Colorado Boulder 9/30 Three ways to run CU Research Computing: University of Colorado Boulder 10/30 Terminal $ ls hello_world.py BASH hello_world.py $ python hello_world.py hello world $ ./hello_world.py hello world bash-mac$ CU Research Computing: University of Colorado Boulder 11/30 IPython shell · OS support · Formatted print · Tab Completion · %run ­ Persistence · History · Introspection (?,??) · %paste and %cpaste CU Research Computing: University of Colorado Boulder 12/30 Quick Introduction to Python · Functions · Lists · Dictionaries How · IPython terminal · Notebook CU Research Computing: University of Colorado Boulder 13/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 14/30 Lab and Break Dictionaries CU Research Computing: University of Colorado Boulder 15/30 Endthought http://www.enthought.com/ CU Research Computing: University of Colorado Boulder 16/30 Anaconda https://store.continuum.io/cshop/anaconda CU Research Computing: University of Colorado Boulder 17/30 Github https://github.com/ResearchComputing/python_hpc CU Research Computing: University of Colorado Boulder 18/30 Lab · Go to the directory where you dowloaded the code · unzip the file · Navigate to Python4Matlab · Launch IPython Notebook ­ ipython notebook ­ dictionary_and_lab CU Research Computing: University of Colorado Boulder 19/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 20/30 Numpy and Matplotlib CU Research Computing: University of Colorado Boulder 21/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 22/30 Lab 2 Numpy and Matplotlib CU Research Computing: University of Colorado Boulder 23/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 24/30 Pandas Data Analysis CU Research Computing: University of Colorado Boulder 25/30 To import a notebook, drag the file onto the listing below or click here. /Users/mlunacek/Documents/tutorials/python/python_hpc/Python4Matlab data_analysis dictionary_and_lab functions_and_lists matplotlib numpyTutorial python4matlab CU Research Computing: University of Colorado Boulder 26/30 What did we learn? · Python's syntax is clean · Notebook, IPython terminal · Data structures ­ Lists, dictionaries, ­ numpy arrays ­ pandas DataFrame · Ways to act on these containers · Plotting with matplotlib CU Research Computing: University of Colorado Boulder 27/30 What's next? CU Research Computing: University of Colorado Boulder 28/30 Links · Scientific Programming: scipy · Parallel Computing ­ IPython Parallel ­ mpi4py · Performance ­ profiling ­ f2py ­ cython ­ ctypes · Templates: jinja2 · SQL database: sqlalchemy · Websites: django · Hardware Raspbery Pi CU Research Computing: University of Colorado Boulder 29/30 References · Python Scripting for Computational Science · Python Snakes Its Way Into HPC · Andy Terrel: Getting Started with Python in HPC · Python Tutorial · Think Python · Enthought · Anaconda · Data Analysis with Python Thank you! CU Research Computing: University of Colorado Boulder 30/30.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages30 Page
-
File Size-