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.

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=}")
   ...: 
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

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

pip install pysumreg

About

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.0.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

pysumreg-1.0.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file pysumreg-1.0.0.tar.gz.

File metadata

  • Download URL: pysumreg-1.0.0.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for pysumreg-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4939bec8feddcbeca06bb922062398605b00b5345da98b4eb22d1d77447ce0ed
MD5 a0b3e9cecc8ffb1a99cc3392f6fce03d
BLAKE2b-256 78da8454efecc4b250542ccc29bbc622ae18bcef0a6de719ba46a8198e07272d

See more details on using hashes here.

File details

Details for the file pysumreg-1.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pysumreg-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89d291f9024b31b9c64347b365afbe9ee48153a3b5956e9402e9d15201b38f38
MD5 637f54945d44a25ff84e908776d107c3
BLAKE2b-256 732c32c98f2c5266ffa82502feeb9d964ff5cc7b4fff5c8391eb34e68f621f3a

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