Scientific Python for Experienced Developers

Advanced 3 days

In this course you will learn to

  • Use benchmarks and profiling to speed up programs
  • Process XML and JSON
  • Manipulate arrays with NumPy
  • Discover the diversity of SciPy sub packages and how to use them in your applications
  • Use Jupyter notebooks for ad hoc calculations, plots, and what-if scenarios
  • Import and analyze data with pandas
  • Create a wide variety of data plots with matplotlab
  • Manipulate images with PIL
  • Solve equations with SymPy

Training materials

All Python training students will receive comprehensive courseware.

Suggested attendees

Python programmers who are comfortable writing basic Python tasks and programming concepts, including file input/output and creating classes.

Course Outline

  • Python refresher
    • Data types
    • Sequences
    • Mapping types
    • Program structure
    • Files and console I/O
    • Conditionals
    • Loops
    • Builtins
    • Classes
  • Pythonic idioms
    • Small Pythonisms
    • Lambda functions
    • Sort
    • Pack and unpack sequences
    • List comprehensions
    • Generator expressions
  • XML and JSON
    • Use ElementTree
    • Create a new XML document
    • Parse XML
    • Find by tags and XPath
    • Parse JSON into Python
    • Parse Python into JSON
  • Jupyter
    • Jupyter basics
    • Terminal and GUI shells
    • Create and use notebooks
    • Save and load notebooks
    • Ad hoc data visualization
  • NumPy
    • NumPy basics
    • Create arrays
    • Index and slice
    • Large number sets
    • Transform data
    • Advanced tricks
  • Pandas
    • Pandas overview
    • DataFrames
    • Read and write data
    • Data alignment and reshaping
    • Fancy indexing and slicing
    • Merge and join data sets
  • Matplotlib
    • Create a basic plot
    • Commonly used plots
    • Ad hoc data visualization
    • Advanced usage
    • Export images
  • Developer tools
    • Debug applications
    • Benchmark code
    • Profile applications
  • SciPy
    • The Python scientific stack
    • What can SciPy do?
    • Get help
    • Where to find things
    • What is available?
  • A tour of SciPy sub packages
    • Clustering
    • Physical and mathematical constants
    • FFTs
    • Integral and differential solvers
    • Interpolation and smoothing
    • Input and output
    • Linear algebra
    • Image processing
    • Distance regression
    • Root-finding
    • Signal Processing
    • Sparse matrices
    • Spatial data and algorithms
    • Statistical distributions and functions
    • C/C++ Integration
  • The Python Imaging Library (PIL)
    • PIL overview
    • Core image library
    • Image processing
    • Display images
  • SymPy
    • What is SymPy?
    • What can it do for you?
    • Create variables
    • Define equations
    • Solve equations

  • Any Windows, Linux or macOS operating system
  • Python language
  • Additional Python libraries including NumPy, SciPy, matplotlib, PIL, Jupyter, SymPy (we recommend Anaconda, a cross-platform Python bundle that already includes the necessary modules)
  • An IDE with Python support (PyCharm Community Edition is an excellent free option, but there are several other good ones)

Python logo

You may also be interested in

Advanced Python Programming

Learn more about this course