Just a note that getting familiar with jupyter notebooks can get you into machine learning really fast.
I've actually written a general equation solver for histograms, it's in the gr-blocks subfolder of my openemissions repo. Given histograms of known values it computes a histogram of an unknown, using the expression I crazily posted.
I'm very curious how and why the reference quantifies the relation between properties of sampling a sample and properties of a population.