Skip to main content

Run-length encoding for data analysis in Python

Project description

python-rle

Run-length encoding (wikipedia link) for data analysis in Python. Install with pip install python-rle. No dependencies required other than tqdm for visualizing a progress bar.

Usage

Encode any iterable (tuples, lists, pd.Series etc.) with rle.encode.

# rle.encode(iterable) returns (values, counts)
>>> import rle 
>>> rle.encode((10, 10, 10, 20, 20, 20, 30, 30, 30))
([10, 20, 30], [3, 3, 3])

Decode (values, counts) back into a sequence with rle.decode.

>>> rle.decode([10, 20, 30], [3, 3, 3])
[10, 10, 10, 20, 20, 20, 30, 30, 30]

Set progress_bar == True for long sequences :

progress_bar_anim

Motivation

Base R contains a simple rle function that "computes the lengths and values of runs of equal values in a vector", as described by its docstring. I found it useful for calculating streaks in collected data, and is especially wonderful for compiling and summarizing categorical data that describes status over time. Hence this little utility.

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

python-rle-0.0.3.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

python_rle-0.0.3-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file python-rle-0.0.3.tar.gz.

File metadata

  • Download URL: python-rle-0.0.3.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191030 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for python-rle-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4e07dc3c775a4bbc6e2cc7a3102e4cf33f4431e35c7b5fedc863edc44bc7b6aa
MD5 27ce78b7fe5c67dccf8c0f67d33f9ac9
BLAKE2b-256 0f66d2abcfce6c1d0bb3251d4277649eb0f3b21866134d3a5e8b9efe9e839ada

See more details on using hashes here.

File details

Details for the file python_rle-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: python_rle-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191030 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for python_rle-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52a086dad15bf98e1242a45f70ff0d7e0a0e9cd0a8bcc91ed36404c4b713c654
MD5 dec0b4386cdab7b1a59c431244984fe3
BLAKE2b-256 a4cafc4dc810c892f8284d41046b60105fea56a7689a5b31e55e0b47c6aff971

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