Maths functions
Project description
cjrh_math
A collection of handy maths functions.
Streaming mean and variance
Sometimes it can be very useful to update an existing mean and variance with new data, rather than have to calculate it again over the whole set. The functions below implement one of the algorithms described in Wikipedia.
def update_mean(n: int, mean: float, value: float) -> float
Given a new value, calculate a new mean using the existing mean and the size of data, n, seen so far.
def update_pvariance(n: int, mean: float, var: float, value: float) -> float
def update_variance(n: int, mean: float, var: float, value: float) -> float
Given a new value, calculate a new variance using the existing mean, existing variance var, and the size of data, n, seen so far.
Note that update_variance() is for sample variance while update_pvariance() is for population variance.
All functions are pure and therefore thread-safe.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cjrh_math-2017.11.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 690e585cf87c578c538ca0964b36010f336940cd324a2f46fe0841274744952d |
|
MD5 | 4ed4cf27fc09a1b44c2574be90ec96b6 |
|
BLAKE2b-256 | 950dbe5b26ae3a546838604bcb112ecd7f7e5013d9d3dfb3f5cdad970a4301c3 |