Python for Scientists

5 Days

Description

This is a 5-day course that provides a ramp-up to using Python for scientific and mathematical computing. Starting with the basics, it progresses to the most important Python modules for working with data, from arrays, to statistics, to plotting results. The material is geared towards scientists and engineers. This is an intense, hands-on, programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs which helps students retain the earlier material. Python for Programming is a practical introduction to a working programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world.

Audience:

Scientists and engineers who need to manipulate large amounts of data, perform complex calculations, and visualize data in arrays and matrices.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Python for Scientists class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

  • 1. The Python Environment
    • Starting Python
    • If the interpreter is not in your PATHs
    • Using the interpreter
    • Trying a few commands
    • The help() function
    • Running a Python script
    • Python scripts on UNIX
    • Python editors and IDEs
  • 2. Getting Started
    • Using variables
    • Keywors
    • Built-in functions
    • Strings
    • Single-quoted string literals
    • Triple-quoted string literals
    • Raw string literals
    • Unicode literals
    • String operators and expressions
    • Converting among types
    • Writing to the screen
    • String formatting
    • Legacy string formatting
    • Command line parameters
    • Reading from the keyboard
  • 3. Flow Control About flow control
    • What’s with the white space?
    • if and elif
    • Conditional expressions
    • Relational and Boolean operators
    • while loops
    • Alternate ways to exit as loop
  • 4. Lists and Tuples
    • About Sequences
    • Lists
    • Tuples
    • Indexing and slicing
    • Iterating through a sequence
    • Functions for all sequences
    • Using enumerate()
    • Operators and keywords for sequences
    • The xrange() function
    • Nested sequences
    • List comprehensions
    • Generator expressions
  • 5. Working with Files
    • Text file I/O
    • Opening a text file
    • The with block
    • Reading a text file
    • Writing a text file  
    • “Binary” (raw, or non-delimited) data
  • 6. Dictionaries and Sets
    • About dictionaries
    • When to use dictionaries
    • Creating dictionaries
    • Getting dictionary values
    • Iterating through a dictionary
    • Reading file data into a dictionary
    • Counting with dictionaries
    • About sets
    • Creating sets
    • Working with sets
  • 7. Functions
    • Defining a function
    • Function parameters
    • Global variables
    • Variable scope
    • Returning values
  • 8. Exception Handling
    • Syntax errors
    • Exceptions
    • Handling exceptions with try
    • Handling multiple exceptions
    • Handling generic exceptions
    • Ignoring exceptions
    • Using else
    • Cleaning up with finally
    • Re-raising exceptions Raising a new exception
    • The standard exception hierarchy
  • 9. OS Services
    • The os module
    • Environment variables
    • Launching external processes
    • Paths, directories, and filenames
    • Walking directory trees
    • Dates and times
    • Sending email
  • 10. Pythonic Idioms
    • The Zen of Python
    • Common Python idioms
    • Packing and unpacking
    • Lambda functions
    • List comprehensions
    • Generators vs. iterators
    • Generator expressions
    • String tricks
  • 11. Modules and Packages
    • What is a module?
    • The import statement
    • Where did the .pyc file come from?
    • Module search path
    • Zipped libraries
    • Creating Modules
    • Packages
    • Module aliases
    • When the batteries aren’t included
  • 12. Classes
    • Defining classes
    • Instance objects
    • Instance attributes
    • Methods
    • __init__
    • Properties Class data
    • Inheritance
    • Multiple Inheritance
    • Base classes
    • Special methods
    • Pseudo-private variables
    • Static methods
  • 13. Developer Tools
    • Program development
    • Comments
    • pylint
    • Customizing pylint
    • Unit testing
    • The unittest module
    • Creating a test class
    • Establishing success or failure
    • Startup and Cleanup
    • Running the tests
    • The Python debugger
    • Starting debug mode
    • Stepping through a program
    • Setting breakpoints
    • Debugging command reference
    • Benchmarking
  • 14. XML and JSON
    • About XML
    • Normal approaches to XML
    • Which module to use?
    • Getting started with ElementTree
    • How ElementTree works
    • Creating a new XML Document
    • Parsing an XML Document
    • Navigating the XML Document
    • Using XPath
    • Advanced XPath
  • 15. iPython
    • About iPython
    • Features of iPython
    • Starting iPython
    • Tab completion
    • Magic commands
    • Benchmarking
    • External commands
    • Enhanced help
    • Notebooks
  • 16. numpy
    • Python’s scientific stack
    • numpy overview
    • Creating arrays
    • Creating ranges
    • Working with arrays
    • Shapes
    • Slicing and indexing
    • Indexing with Booleans
    • Stacking
    • Iterating
    • Tricks with arrays
    • Matrices
    • Data types
    • numpy functions
  • 17. scipy
    • About scipy
    • Polynomials
    • Vectorizing functions
    • Subpackages
    • Getting help
    • Weave
  • 18. A Tour of scipy subpackages
    • cluster
    • constants
    • fftpack
    • integrate
    • interpolate
    • io
    • linalg
    • ndimage
    • odr
    • optimize
    • signal
    • sparse
    • spatial
    • special
    • stats
  • 19. pandas
    • About pandas
    • Pandas architecture
    • Series
    • DataFrames
    • Data Alignment
    • Index Objects
    • Basic Indexing
    • Broadcasting
    • Removing entries
    • Time series
    • Reading Data
  • 20. matplotlib
    • About matplotlib
    • matplotlib architecture
    • matplotlib Terminology
    • matplotlib keeps state
    • What else can you do?
  • 21. Python Imaging Library
    • The PIL
    • Supported image file types
    • The Image class
    • Reading and writing
    • Creating thumbnails
    • Coordinate system
    • Cropping and pasting
    • Rotating, resizing, and flipping Enhancing

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Python for Scientists class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

Students should be comfortable working with files and folders, and should not be afraid of the command line in Linux, Windows, or MacOS

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Python for Scientists class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Comments

Dates available upon request

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Python for Scientists class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date