top of page


Optimisation with Pyomo, Part II: Whole Chairs, Real Promises and Questioning the Answer
We continue our series on the Pyomo package and focus on the difference in integral and continuous optimisation problems.
Oct 27 min read


Optimisation with Pyomo, Part I: What Should We Make When Resources Run Out?
We are taking a look at optimisation problems and especially the two packages Pyomo, for defining the problem, and HiGHS, for solving it.
Sep 297 min read


Beyond bar charts, Part IV: Putting data in a circle without losing the plot
In this final part of the plotting package series, we are taking a look at pyCirclize and mplsoccer. Both of them can create interesting circular plots. And if you are into soccer, mplsoccer can do quite a bit more.
Sep 117 min read


Beyond bar charts, Part III: When your customer groups overlap
Continuing our series of plot packages, we take a look at UpSetPlot, which handles membership problems. This essentially tries to visualise how a population with different characteristics fits into different groups with overlaps.
Sep 86 min read


Beyond bar charts, Part II: The customers hiding behind the average
We continue in our plots series, this time looking at the packages JoyPy and PtitPrince.
Sep 47 min read


Beyond bar charts, Part I: Waffles, triangles, and the trouble with percentages
We start a small series on different plotting addons for Matplotlib. In this specific post we consider the two packages PyWaffle and mpltern and what they can produce.
Sep 17 min read


Ultralytics YOLO: Train a Custom Detector and Ship It — Part II
We are continuing with testing the ultralytics package and train a yolo model on an aquarium dataset.
Aug 2110 min read


Ultralytics YOLO: Giving Python a Pair of Eyes — Part I
We are taking a look at the Ultralytics package and a few simple examples on how to set up object detection for images.
Aug 186 min read


pyhctsa: From Feature Matrix to Useful Model, Part II
We continue our investigation of the pyhctsa package to understand how its generated feature matrix can be used with different machine learning techniques to understand data.
Aug 146 min read


pyhctsa: One Time Series, Hundreds of Questions, Part I
We are looking at the package pyhctsa and how it can be configured to setup different feature selections.
Aug 115 min read


When the city starts moving: transit, flows and GNNs with City2Graph
We take a second look at City2Graph, how it works with GTFS and how we can create new edge types and relationships to work with graphs.
Aug 75 min read


When a map needs edges: getting started with City2Graph
We are taking a look at the City2Graph package. In this part we simply focusing on what type of graphs can be easily created and what one might be able to do with them.
Aug 45 min read


XY: From Plot to Reflex Application, Part II
We continue our series on the XY package and focus on its interaction with the Reflex web application package.
Jul 317 min read


XY: The Python Plot That Does Not Stop at the Notebook, Part I
We look at the plotting package XY and make some comparisons with Matplotlib. This is mainly to understand where they differ and what they are made for and not a full tutorial into XY.
Jul 288 min read


When Geography Lies: Measuring Australia’s Population Imbalance with popgrid
We are looking at the package popgrid and its ability to produce cartograms. Essentially a way of taking a geometry and morphing it into a diagram that represents the adjacency of areas but scaled to the a certain measurement.
Jul 2410 min read


From Simple Points to Angry Red Blobs: Kernel Density Mapping in Python
We look at how to produce Kernel Density Mappings in Python. In this example we map density of squirrel sightings in Central Park from 2018 via Scipy and Scikit-learn.
Jul 2110 min read


Mixle: Ask the Fitted Model More Than One Question — Part II
We continue to look at the library Mixle and what it can do. We look at how synthetic data from a probabilistic model can be used to analyse if our fit is good.
Jul 1711 min read


Mixle: When One Row Contains Several Kinds of Data — Part I
We look at the package Mixle. It is still in beta stage. Mixle is a package to build probabilistic models of structured, mixed-type data. This way you do not have to convert non-numerical data.
Jul 1412 min read


The Weather API That Forgot to Ask for a Key — Part II
We take a look at the Open-Meteo weather API and what one can do with it. In this part of the series we create two small data analysis projects based on the data from Open-Meteo
Jul 1019 min read


The Weather API That Forgot to Ask for a Key — Part I
We take a look at the Open-Meteo weather API and what one can do with it. In each part of this series we create one little data analysis project based on Open-Meteo data.
Jul 710 min read
bottom of page