Simple statistical functions implemented in readable Python.

## Project description

simple-statistics for Python.

`simplestatistics` is compatible with Python 2 & 3. ### Installation

pip install simplestatistics

## Usage

>>> import simplestatistics as ss >>> ss.mean([1, 2, 3]) 2.0 >>> ss.t_test([1, 2, 2.4, 3, 0.9], 2) -0.3461277235039042

## Documentation

You can read the documentation online.

Or you can generate it yourself:

Inside `simplestatistics/`.

make html

Documentation will be generated in `_build/html/`.

## Tests

If you want coverage reports, you need to have
``coverage` <https://pypi.python.org/pypi/coverage>`__ installed:

```
pip install coverage
nosetests --with-coverage --cover-package=simplestatistics --with-doctest
```

Otherwise, to just run the tests:

nosetests --with-doctest

## Functions and examples

### Descriptive statistics

Function | Example |
---|---|

Min | min([-3, 0, 3]) |

Max | max([1, 2, 3]) |

Sum | sum([1, 2, 3.5]) |

Quantiles | quantile([3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20], [0.25, 0.75]) |

Product | product([1.25, 2.75], [2.5, 3.40]) |

### Measures of central tendency

Function | Example |
---|---|

Mean | mean([1, 2, 3]) |

Median | median([10, 2, -5, -1]) |

Mode | mode([2, 1, 3, 2, 1]) |

Geometric mean | geometric_mean([1, 10]) |

Root mean square | root_mean_square([1, -1, 1, -1]) |

Skewness | skew([1, 2, 5]) |

Kurtosis | kurtosis([1, 2, 3, 4, 5]) |

### Measures of dispersion

Function | Example |
---|---|

Sample and population variance | variance([1, 2, 3], sample = True) |

Standard deviation | standard_deviation([1, 2, 3]) |

Interquartile range | interquartile_range([1, 3, 5, 7]) |

Sum of Nth power deviations | sum_nth_power_deviations([-1, 0, 2, 4], 3) |

Standard scores (z-scores) | z_scores([-2, -1, 0, 1, 2]) |

### Linear regression

Function | Example |
---|---|

Simple linear regression | linear_regression([1, 2, 3, 4, 5], [4, 4.5, 5.5, 5.3, 6]) |

Linear regression line function generator | linear_regression_line([.5, 9.5])([1, 2, 3]) |

### Similarity

Function | Example |
---|---|

Correlation | correlate([2, 1, 0, -1, -2, -3, -4, -5], [0, 1, 1, 2, 3, 2, 4, 5]) |

### Distributions

Function | Example |
---|---|

Factorial | factorial(20) or factorial([1, 5, 20]) |

Choose | choose(5, 3) |

Normal distribution | normal(4, 8, 2) or normal([1, 4], 8, 2) |

Binomial distribution | binomial(4, 12, 0.2) or binomial([3,4,5], 12, 0.5) |

One-sample t-test | t_test([1, 2, 3, 4, 5, 6], 3.385) |

## Spirit and rules

- Everything should be implemented in raw, organic, locally sourced Python.
- Use libraries only if you have to and only when unrelated to the
math/statistics. For example,
`from functools import reduce`to make`reduce`available for those using python3. That’s okay, because it’s about making Python work and not about making the stats easier. - It’s okay to use operators and functions if they correspond to
regular calculator buttons. For example, all calculators have a
built-in square root function, so there is no need to implement that
ourselves, we can use
`math.sqrt()`. Anything beyond that, like`mean`,`median`, we have to write ourselves.

Pull requests are welcome!

## Contributors

- Jim Anderson (jhowardanderson)
- Pierre-Selim (PierreSelim)
- Tom MacWright (tmcw)

## Project details

## Download files

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

Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|

simplestatistics-0.2.0.tar.gz (19.5 kB) Copy SHA256 hash SHA256 | Source | None |