Skip to main content

Statistics of list of (x, y) pairs from calculator-style summation registers.

Project description

Statistics with Calculator-style Summation Registers

Statistics of list of (x, y) pairs from calculator-style summation registers.

CONTENTS

Why use this package?

Use this package to obtain summary statistics of a list of $(x, y)$ pairs when the pairs are presented in sequence, such as from a control system. It is not necessary to retain the entire list in memory, this package will retain the cumulative values necessary to compute all analytical results.

There are no external dependencies on add-on packages such as numpy or scipy. Only the math package from the Python Standard Library is used.

Statistics may be calculated at any time from the summation registers.

The $(x, y)$ values may be entered in any order. It is not necessary to sort them.

Examples

In [1]: import pysumreg

In [2]: reg = pysumreg.SummationRegisters()

mean and standard deviation

In [3]: reg.clear()
   ...: reg.add(1, -1)
   ...: reg.add(2, -2)
   ...: reg.add(3, -3)
   ...: print(f"{reg.mean_x=}")
   ...: print(f"{reg.stddev_x=}")
   ...: print(f"{reg.mean_y=}")
   ...: print(f"{reg.stddev_y=}")
   ...: print(f"{reg.min_x=}")
   ...: print(f"{reg.max_x=}")
   ...: print(f"{reg.min_y=}")
   ...: print(f"{reg.max_y=}")
   ...: print(f"{reg.x_at_max_y=}")
   ...: print(f"{reg.x_at_min_y=}")
   ...: 
reg.mean_x=2.0
reg.stddev_x=1.0
reg.mean_y=-2.0
reg.stddev_y=1.0
reg.min_x=1
reg.max_x=3
reg.min_y=-3
reg.max_y=-1
reg.x_at_max_y=1
reg.x_at_min_y=3

linear regression & correlation coefficient

In [4]: reg.clear()
   ...: reg.add(1, -1)
   ...: reg.add(2, -2)
   ...: reg.add(3, -3)
   ...: print(f"{reg.correlation=}")
   ...: print(f"{reg.intercept=}")
   ...: print(f"{reg.slope=}")
   ...: 
reg.correlation=-1.0
reg.intercept=0.0
reg.slope=-1.0

peak analysis: centroid and width of x weighted by y

In [5]: reg.clear()
   ...: reg.add(1, 0)
   ...: reg.add(2, 1)
   ...: reg.add(3, 0)
   ...: print(f"{reg.max_y=}")
   ...: print(f"{reg.centroid=}")
   ...: print(f"{reg.sigma=}")
   ...: 
reg.max_y=1
reg.centroid=2.0
reg.sigma=0.0

In [6]: reg.add(1.5, 0.5)
   ...: reg.add(2.5, 0.5)
   ...: print(f"{reg.max_y=}")
   ...: print(f"{reg.centroid=}")
   ...: print(f"{reg.sigma=}")
   ...: 
reg.max_y=1
reg.centroid=2.0
reg.sigma=0.3535533905932738

Installation

This package may be installed by any of these commands:

  • pip install pysumreg
  • conda install -c conda-forge pysumreg
  • mamba install -c conda-forge pysumreg
  • micromamba install -c conda-forge pysumreg

About

Release PyPI Conda-forge Platforms
Release PyPI Conda Version Conda Platforms
Python Unit Tests Code Coverage
Python Unit Tests Coverage Status

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysumreg-1.0.4rc1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

pysumreg-1.0.4rc1-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file pysumreg-1.0.4rc1.tar.gz.

File metadata

  • Download URL: pysumreg-1.0.4rc1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pysumreg-1.0.4rc1.tar.gz
Algorithm Hash digest
SHA256 f447b1daeb4ee94612f7196a0f4709f8be7238d2506d4c27a6d2f684446cac2e
MD5 f7a8e8541be4c9d213d3edf04a06625a
BLAKE2b-256 65d0c95b9fca767d98e3231b0607ed249c04a52c85c808d14886c6e0a0e801d5

See more details on using hashes here.

File details

Details for the file pysumreg-1.0.4rc1-py3-none-any.whl.

File metadata

  • Download URL: pysumreg-1.0.4rc1-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pysumreg-1.0.4rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 0a88dc1561c0c20412a52cf040a471829264bf9db25f27087f2a5a740c49bde4
MD5 8fb117c5869881fe1dfb6b7dc0349fe4
BLAKE2b-256 eab1bc7e59eef41f15f56e3b9b8612dc6f74bab91f3c040eaf32169903373294

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page