← All workshops

Scientific Python and Data Science

For engineers and developers new to Python, including engineers moving from MATLAB®.

“Even die-hard fans of MATLAB® were convinced by the end of the course that Python is an excellent replacement and we will definitely implement what we have learned in our next projects.”

— Asaf Kagan, SAIPS

What you will be able to do

  • Write and run Python programs in Jupyter notebooks.
  • Write idiomatic Python for numerical and scientific work.
  • Load, clean and analyse data with NumPy, Pandas and SciPy.
  • Plot results clearly.
  • Apply SciPy to signals, images, optimisation, curve fitting and statistics, and port an existing MATLAB® workflow to Python.
  • Build small applications: a command-line tool, a GUI, a web app and a web client.
  • Test your code and set up a reproducible environment so colleagues can re-run your work.

Prerequisites

No prior Python or programming experience required. If your team comes from MATLAB® or a similar language, the workshop builds on that.

Outline

Duration: 2–4 days, on-site or remote. Every session combines explanation with exercises, in interactive notebooks.

Four-day version. The two-day version is an introduction: Python basics, and a first look at NumPy, Pandas and plotting. Other lengths are scoped in the call.

  1. Python basics and idiomatic Python, including for MATLAB® users
  2. Functions, modules, files and I/O
  3. NumPy: numerical analysis in Python
  4. Plotting and visualisation
  5. Pandas for tabular data and time series
  6. SciPy: signals, images, optimisation, curve fitting and statistics
  7. Building applications: command-line tools with Click, GUIs with Tk or Qt, web apps with Flask, and web clients with requests
  8. Testing and debugging, reproducible environments, and a worked exercise on a workflow from your team

Sample materials

More in yoavram/DataSciPy.

Related workshops

Contact

Tell me about your team and what you would like them to be able to do. A few lines are enough to start; I will reply to set up a scoping call.

Email Yoav yoav@yoavram.com