Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Learning Python: basic level

These notebook files are intended to help you self-learn Python.

The audience already has a basic idea about programming, about loops, about structure of source code.

Python can be used in many areas of application, but these notebooks, as you will see, have examples primarily from science, engineering, life sciences, and applied mathematics.

The topics listed below give an idea of what is covered. Within in each notebook are a series of simple or more challenging problems. The problems are designed to build on the topics just learned, as well as the topics from earlier notebooks.

Notebook 1:

  • Printing output to the screen
  • Creating variables
  • Variable types
  • Calculations with variables
  • Built-in constants and mathematical functions

Notebook 2:

  • Strings
  • Lists
  • For loops: iterating
  • Commenting and variable names

Notebook 3:

  • From strings to lists to strings to lists
  • If and else if branching in code
  • Reading from a file
  • Creating errors, checking for errors and handling errors
  • Challenge problems

Notebook 4:

  • Introducing vectors, matrices and arrays.
  • Using NumPy to create various vectors, matrices and arrays, containing specific values.
  • Get everyone to more or less the same level of understanding.

Notebook 5:

  • Mathematical operations (addition, multiplication, matrix math) on arrays.
  • Challenge problems that require using vectors and matrices.

Notebook 6:

  • Functions with single inputs, or multiple inputs: arguments based on their position, or name.
  • Functions with no (None) or single outputs, and multiple outputs in a tuple.
  • Challenge problems that recall work from prior modules, and apply your knowledge.

Notebook 7:

  • Dictionary objects in Python: the very basics.
  • Introducing Pandas' two main classes: Series and DataFrame: what they are, and how to use them.
  • Loading and saving data to/from CSV and Excel files.

Notebook 8:

  • Iterating over entries in a dictionary.
  • Getting and setting values in dictionaries.
  • Reading data from many CSV or Excel files.
  • Moving average calculations.

Notebook 9:

  • Statistics and Data Visualization: combined
  • Box plots; mean, median, percentiles
  • Bar plots; categorical vs numeric variables
  • Histograms; visualizing distribution and Central Limit Theorem

Notebook 10:

  • Goals of your data analysis project broken down
  • Data tables; correlations; pie charts are not so useful
  • Time-series; trends, induced delay from a moving average, random walks
  • Scatter plots; showing 5 variables in 1 plot
  • Extending the box plot: violin, swarm and raincloud plots

Learning Python: focus on getting results

In these series of 6 notebooks the focus is for people with some/minimal experience in coding (e.g. MATLAB, C++) to get started with Python. The target audience is process engineers and scientists. People that need to get some sort of value extracted from their data.

As such, it does not teach loops, branching, data structures, etc. In other words, the theoretical computer science concepts are introduced as needed, but not explicitly.

Notebook 11:

  • Printing output to the screen
  • Creating variables, and basic calculations with them
  • Lists

Notebook 12:

  • Using and understanding the Pandas library
  • Creating Pandas series and data frames and basic calculations with them
  • Reading in Excel files with Pandas and basic calculation

Notebook 13:

  • Becoming more comfortable with Pandas data processing
  • Shape of data, unique values, adding/removing data, merging dataframes, sorting data
  • Basic plotting with Pandas: box plot, time series and scatter plots

Notebook 14:

  • For loops, for when we need to do things over and over
  • The groupby function, for repeated actions on sub-groups of your data
  • Calculating the correlation matrix

Notebook 15:

  • Visualize the correlation matrix (2D histograms)
  • Using the LinearRegression tool from scikit-learn
  • The .iloc function in Pandas to split data into testing and training subset
  • Using seaborn to visualize regression models

Notebook 16:

  • Pandas collection: reading in subsets of data
  • Handling missing values with Pandas
  • Filtering data, and the multi-level groupby capability of Panda
  • Effective table display in Pandas


No releases published


No packages published