Skip to main content

Cross-sectional and time-series data imputation algorithms

Project description

https://travis-ci.org/eltonlaw/impyute.svg?branch=master https://img.shields.io/pypi/v/impyute.svg

Impyute

Impyute is a library of missing data imputation algorithms. This library was designed to be super lightweight, here’s a sneak peak at what impyute can do.

>>> n = 5
>>> arr = np.random.uniform(high=6, size=(n, n))
>>> for _ in range(3):
>>>    arr[np.random.randint(n), np.random.randint(n)] = np.nan
>>> print(arr)
array([[0.25288643, 1.8149261 , 4.79943748, 0.54464834, np.nan],
       [4.44798362, 0.93518716, 3.24430922, 2.50915032, 5.75956805],
       [0.79802036, np.nan, 0.51729349, 5.06533123, 3.70669172],
       [1.30848217, 2.08386584, 2.29894541, np.nan, 3.38661392],
       [2.70989501, 3.13116687, 0.25851597, 4.24064355, 1.99607231]])
>>> import impyute as impy
>>> print(impy.mean(arr))
array([[0.25288643, 1.8149261 , 4.79943748, 0.54464834, 3.7122365],
       [4.44798362, 0.93518716, 3.24430922, 2.50915032, 5.75956805],
       [0.79802036, 1.99128649, 0.51729349, 5.06533123, 3.70669172],
       [1.30848217, 2.08386584, 2.29894541, 3.08994336, 3.38661392],
       [2.70989501, 3.13116687, 0.25851597, 4.24064355, 1.99607231]])

Feature Support

  • Imputation of Cross Sectional Data
    • K-Nearest Neighbours

    • Multivariate Imputation by Chained Equations

    • Expectation Maximization

    • Mean Imputation

    • Mode Imputation

    • Median Imputation

    • Random Imputation

  • Imputation of Time Series Data
    • Last Observation Carried Forward

    • Moving Window

    • Autoregressive Integrated Moving Average (WIP)

  • Diagnostic Tools
    • Loggers

    • Distribution of Null Values

    • Comparison of imputations

    • Little’s MCAR Test (WIP)

Versions

Currently tested on 2.7, 3.4, 3.5, 3.6 and 3.7

Installation

To install impyute, run the following:

$ pip install impyute

Or to get the most current version:

$ git clone https://github.com/eltonlaw/impyute
$ cd impyute
$ python setup.py install

Documentation

Documentation is available here: http://impyute.readthedocs.io/

How to Contribute

Check out CONTRIBUTING

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

impyute-0.0.8.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

impyute-0.0.8-py2.py3-none-any.whl (31.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file impyute-0.0.8.tar.gz.

File metadata

  • Download URL: impyute-0.0.8.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for impyute-0.0.8.tar.gz
Algorithm Hash digest
SHA256 1601874921d0f255095fd53db8a0ad7c2cb0e9167865d674ee951807ac59425b
MD5 c4d3baf4d252280583ce0aeafe63f86c
BLAKE2b-256 673802f1c2948d3c8ef198996885a30c6b65fb739ef36ed634d6720938ec163b

See more details on using hashes here.

File details

Details for the file impyute-0.0.8-py2.py3-none-any.whl.

File metadata

  • Download URL: impyute-0.0.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for impyute-0.0.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 928060ef7cc216679353bff97822dab0a0b611ab2527805ce1ffb31f7aa7bbb2
MD5 2709f37495d19879a898fc3a0bdaaaa6
BLAKE2b-256 372886829f67c9affb847facaab94687761d3555539ec675f7577778c5b2680a

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