Python for Scientists
Course 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 Scientists 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
5 days
Contact us for pricing
Prerequisites
Participants should be comfortable working with files and folders, and should not be afraid of the command line in Linux, Windows, or MacOS.The Python Environment
Starting PythonIf 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
Getting Started
Using variablesKeywors
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
Flow Control
About flow controlWhat's with the white space?
if and elif
Conditional expressions
Relational and Boolean operators
while loops
Alternate ways to exit as loop
Lists and Tuples
About SequencesLists
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
Working with Files
Text file I/OOpening a text file
The with block
Reading a text file
Binary (raw, or non-delimited) data
Dictionaries and Sets
About dictionariesWhen 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
Functions
Defining a functionFunction parameters
Global variables
Variable scope
Returning values
Exception Handling
Syntax errorsExceptions
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
OS Services
The os moduleEnvironment variables
Launching external processes
Paths, directories, and filenames
Walking directory trees
Dates and times
Sending email
Pythonic Idioms
The Zen of PythonCommon Python idioms
Packing and unpacking
Lambda functions
List comprehensions
Generators vs. iterators
Generator expressions
String tricks
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
Classes
Defining classesInstance objects
Instance attributes
Methods
__init__
Properties
Class data
Inheritance
Multiple Inheritance
Base classes
Special methods
Pseudo-private variables
Static methods
Developer Tools
Program developmentComments
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
XML and JSON
About XMLNormal 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
iPython
About iPythonFeatures of iPython
Starting iPython
Tab completion
Magic commands
Benchmarking
External commands
Enhanced help
Notebooks
numpy
Python's scientific stacknumpy 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
scipy
About scipyPolynomials
Vectorizing functions
Subpackages
Getting help
Weave
A Tour of scipy subpackages
clusterconstants
fftpack
integrate
interpolate
io
linalg
ndimage
odr
optimize
signal
sparse
spatial
special
stats
pandas
About pandasPandas architecture
Series
DataFrames
Data Alignment
Index Objects
Basic Indexing
Broadcasting
Removing entries
Time series
Reading Data
matplotlib
About matplotlibmatplotlib architecture
matplotlib Terminology
matplotlib keeps state
What else can you do?
Python Imaging Library
The PILSupported image file types
The Image class
Reading and writing
Creating thumbnails
Coordinate system
Cropping and pasting
Rotating, resizing, and flipping
Enhancing
PythonData ScienceData AnalyticsPython Programming