NumPy and Pandas are the foundations of the Python data science ecosystem. Poorly mastered, these libraries produce slow, verbose and fragile code: unnecessary copies, explicit loops where vectorization is needed, a misunderstood Pandas Copy-on-Write model.
I have seen these pitfalls dozens of times in training. They do not come from the participants' level: they come from an incomplete mental model of how these libraries work inside. This course builds that mental model, so that your teams write correct data science code from the first draft.
After this course, your staff will be able to
- Master NumPy's
ndarraytype: creation, indexing, slicing, reshaping - Apply vectorization and broadcasting to write efficient computations without loops
- Manipulate Pandas DataFrames with advanced operations:
groupby,merge,pivot - Handle indexes, dates and time series correctly in Pandas
- Read and write Parquet files with Pandas and PyArrow for efficient storage
- Produce publication-quality statistical visualizations with Seaborn
- Understand the Pandas Copy-on-Write model and avoid common pitfalls: chained assignment, implicit types
Detailed program
Module 1 — Working environment
Setting up a data science environment with Conda. A modern IDE: VS Code, git, LLM integration.
Module 2 — NumPy, vectorized computing in Python
The ndarray type: memory layout, dtype, dimensions. Creating arrays, slicing, reshaping, advanced indexing. Vectorization and ufuncs. Broadcasting: rules and applications. Aggregation and sorting functions. An introduction to SciPy.
Module 3 — Pandas, tabular data manipulation
Series and Index: structure, automatic alignment. DataFrame: creation, selection, filtering, modification. Reading and writing: CSV, Excel, JSON, Parquet. Data cleaning: missing values, duplicates, types. Advanced operations: concat, groupby, merge/join, pivot tables. Dates and time series: DatetimeIndex, resample, rolling. The Parquet format: compression, partitioning, interoperability with PyArrow.
Module 4 — Seaborn, statistical visualization
Seaborn's architecture and its relation to Matplotlib. Relational plots (relplot), distribution plots (displot), categorical plots (catplot). Multivariate visualizations: jointplot, pairplot. Customization: themes, palettes, exporting publication-quality figures.
Do your teams have the required Python level?
The data science courses assume a good command of Python: functions, iteration, modules, namespaces. If this is not the case for all your staff, I can add the Python — level 1 module before the data science days. For teams that develop complex code, the Python — advanced module (object-oriented programming, decorators, metaclasses) is also available.
These complements are offered case by case — feel free to mention them in your quote request.
Audience and prerequisites
Target audience
Data scientists, engineers, researchers and Ph.D. students who want to master the fundamental Python tools for data analysis.
Prerequisites
Intermediate command of Python: functions, iteration, namespaces, importing modules. If your teams do not have this level, I offer a Python refresher in addition — see the box Do your teams have the required Python level? above.
Teaching method
The course alternates short theoretical presentations and hands-on exercises in Jupyter notebooks. Each concept is put into practice immediately. I pay particular attention to making sure every participant keeps up, whatever their starting level, and I calibrate the depth of each topic to the group.
The material is given to the participants at the end of the course, along with the exercise notebooks and their solutions.
Official documentation
NumPy, Pandas, Seaborn, the Apache Parquet format.
Frequently asked questions
What is the difference between a view and a copy in Pandas, and why does it matter?
Historically, this is one of the most common pitfalls in Pandas. Since Pandas 3.0, the Copy-on-Write (CoW) mechanism makes the notion of a view fully consistent and makes this problem much easier to reason about. The course covers the most modern and efficient idioms of the libraries taught — including the recent changes in Pandas that change best practices.
Why learn Seaborn rather than Matplotlib directly?
Seaborn is built on top of Matplotlib and produces publication-quality statistical visualizations with much less code. It is covered in module 4, with theme customization and figure export. Matplotlib remains available underneath when fine-grained customization is needed.
Is the Parquet format really necessary at this level?
Yes. Parquet has become the reference format for exchanging and storing tabular data in data science. The course covers reading and writing Parquet with Pandas and PyArrow, as well as compression and partitioning — useful notions as soon as you work with files of significant size.
My teams do not all have the same Python level. How does it work?
The level is calibrated to the group. If some staff do not have the required Python level (functions, iteration, modules, namespaces), the Python level 1 course can be added beforehand. This is to be discussed when preparing the quote.
Does this course cover time series?
Yes, in module 3: DatetimeIndex, resample and rolling are covered in Pandas. It is a frequent topic for teams working on sensor data, logs or financial data.
Is the remote format suitable for this kind of training?
Yes. 90% of participants rate the remote format as equivalent or better than in-person. I have been running remote training since 2020 and have built a solid practice of online teaching. I use Zoom, which makes it possible to record the sessions and share them with participants if desired, and CoCalc, an online platform that gives access to preconfigured servers with all the training material and libraries installed. CoCalc also lets me follow each participant's progress in real time and step in directly to correct or unblock.