Course Info

Main advantagequicker Data Processing with Python in your company; ability to work with large data that you cannot process in Excel
Durationa) half-days: 10 days x 3 hours 30 minutes (including breaks)
b) full-days: 5 days x 7 hours (including breaks)
Formatworkshop (70% workshop / 30% lecture)
Venuea) online or
b) client’s office or other place chosen by the client, in Europe
Enrollmentin-house course for a group of people within one company
Group sizeup to 10 delegates
Course languageEnglish, Polish or both during the same training

Course Syllabus

  1. Python Builtin Data Structures
    1. Lists
    2. Tuples
    3. Nested Structures
    4. Dictionaries
    5. List Comprehension
  2. Other Essential Python Concepts
    1. Python Functions
    2. Positional and Keyword Arguments
    3. Default Parameter Values
  3. Pandas Fundamentals
    1. Datasets
    2. Import and Export from CSV
    3. Import and Export from Databases and Fixed Width Format Files
    4. Essential Transformations (Transpose, Selecting Single or Multiple Rows and Columns, Accessing Index)
    5. Fundamental Data Statistics
    6. Quick Data Visualization
    7. Modifying DataFrame (Adding and Deleting Columns)
    8. Processing Missing Values
    9. Aggregations (Sum, Count, Mean, Std etc.)
    10. Filtering with Masks
    11. Filtering by Timestamps on Time Serieses
    12. Filtering on Index
    13. Advanced Filtering Conditions
    14. Split-Apply-Combine Pattern (aka Groupby)
  4. Accessing Data from REST APIs
    1. Wide vs Long Format
    2. HTTP Protocol
    3. REST Fundamentals
    4. Requests and Response Structure
    5. Postman for Experimentation
    6. requests Library
    7. Advanced Case Study on Real and Complex API (7 Endpoints)
    8. How to Deal with Pagination?
  5. Data Wrangling
    1. Renaming Columns
    2. Type Conversion
    3. Categorical Columns
    4. Sorting Data
    5. Sorting by Index
    6. Setting and Reseting Index
    7. Reindexing
    8. Vectorised Conditionals
    9. Appending Data
    10. Pivoting Data (Converting from Long to Wide Format)
    11. Unstacking Data (Advanced Pivoting)
    12. Melting Data (Converting from Wide to Long Format)
    13. Stacking Data (Advanced Melting)
  6. Advanced Data Processing
    1. Where Clause for Easier Filtering
    2. Joins
    3. Inner vs Left vs Right vs Outer Joins
    4. Joins on Index
    5. Z-Score for Easier Outlier Detection
    6. Ranking
    7. Percentage Change
    8. Binning
    9. Quantile Binning
    10. Clipping
    11. Thresholds
  7. Aggregations
    1. Applying an Operation on All Columns
    2. Rolling Window
    3. Rolling Window on Time Serieses
    4. Expanding Window
    5. Cumulative Sum
    6. Advanced Groupby
    7. Groupby by Timestamp on Time Serieses
    8. Groupby on Multiple Columns
    9. Aggregating Using Different Functions
    10. Pivot Tables
    11. Cross Tabs
    12. Cross Tabs with Margins
  8. Time Series Specific Operations
    1. Time-Based Selection
    2. Aggregation on Time Serieses
    3. Shifting and Lagging
    4. Differenced Data
    5. Resampling
    6. Working with OHLC (Open-High-Low-Close) Data
    7. Upsampling
    8. Merging Datasets with Different Timestamps
  9. Data Visualisation with matplotlib
    1. Matplotlib Library
    2. Line and Point Plots
    3. Visualising Data from Rolling Windows
    4. Plot Components
    5. Plotting Multiple Serieses
    6. Matplotlib Integration with Pandas
    7. Subplots
    8. Hexbins
    9. Correlation Matrix
    10. Histograms
    11. Kernel Density Estimation
    12. Cumulative Distribution Function
  10. Advanced Data Visualisation
    1. Boxplots
    2. Groupby on a Single Plot
    3. Bar Charts
    4. Bar Charts with Groups of Columns
    5. Stacked Bar Charts
    6. Normalised Stacked Bar Charts
    7. Scatter Matrixes
    8. Lag Plots
    9. Autocorrelation Plots
  11. BigData & Pandas
    1. dask Library
    2. dask as a Task Scheduler
    3. Local Computational Cluster
    4. dask.DataFrame
    5. Alternatives

Benefits for the Sponsor

As the course sponsor or HR you get:

  1. Analysis of the needs and my help to choose or design a great course during a phone call with the sponsor, HR, team leader or/and course delegates. On top of that, we ask delegates on the very first day what their needs are, to make even better usage of the course time.
  2. Course customisation to your needs.
  3. Guarantee that the course is conducted by an expert that worked for Google.
  4. Course evaluation as an electronic form at the end of the last course day. The evaluation results are sent to interested people (most of often they’re course sponsor and HR).
  5. Simple communication – you can contact the trainer directly by phone or email.
  6. Easy buying procedure – one call or email is enough to get offer and to book a date. I don’t do overbooking. The course is confirmed once you send the Purchase Order.
  7. Friendly business partner – as a rule, I treat all my clients like friends. I don’t build walls, I’m not pretending to be a huge training company and I write in first person.

Clients very often decide to order other training (including dedicated courses) after observing positive results of this course.

Benefits for Delegates

Delegates will benefit because of:

  1. Support after the course, via email and phone.
  2. Setup instruction before the course to save time at the beginning of the course. I’m happy to help you via email, phone or Skype, etc. in case of any questions or issues.
  3. Course materials consisting of code snippets, comments, exercises and solutions. The entire courseware is a single web page which make it very easy to lookup something there. Courseware is available online during and after the training. Delegates can download it to use it offline. Courseware can be updated during the course in real time, so that we can include comments or entire new sections suggested by delegates.
  4. Environment ready to use after the course – we don’t use virtual machines. Instead, we install everything on delegates machines, so that they can reuse the same setup after the course.
  5. Recording of the training (in case of online training)


Below you can find some references.

Krzysztof Gębal

Very inspiring training. I really appreciate the way Chris managed to walk us through the complex world of machine learning using Python. Good course materials updated real time. Highly recommend.

Krzysztof Gębal
Finance Director at DNB Bank Polska S.A.

Arkadiusz Baraniecki

Well prepared training and reasonably passed knowledge, thanks to which we develop better services.

Arkadiusz Baraniecki
Infrastructure Team Manager at

Nicolas Leveroni

Chris recently taught a four day class on Machine Learning with Python four our team. The class was very good with the right balance of theory and practice. I cannot think of a better way to give a four day class about such an extensive topic.

Nicolas Leveroni
Head of Krakow Product Control Analytics at HSBC

You can read more references here.