A sparse vector in pure python, based on numpy.
Project description
A sparse vector is a 1D numerical list where most (say, more than 95% of) values will be 0 (or some other default) and for reasons of memory efficiency you don’t wish to store these. (cf. Sparse array)
This implementation has a similar interface to Python’s 1D numpy.ndarray but stores the values and indices in linked lists to preserve memory.
sparse_vector is for numerical data only, if you want any type of data, have a look at sparse_list, the parent library, a dictionary-of-keys implementation of a sparse list in python.
If you need 2D matrices, have a look at scipy.sparse, they also have a linked lists implementation, lil_matrix.
Installation
Available on the cheeseshop.
Installation is simply:
$ pip install sparse_vector
Usage
See the unit-tests!
Contributing
Fork it
Create your feature branch (git checkout -b my-new-feature)
Commit your changes (git commit -am 'Add some feature')
Ensure the tests pass for all Pythons in .travis.yml <https://github.com/johnsyweb/python_sparse_vector/blob/master/.travis.yml>__
Push to the branch (git push origin my-new-feature)
Create new Pull Request
Thanks
johnsyweb for the original sparse_list.
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
File details
Details for the file sparse_vector-0.4.tar.gz
.
File metadata
- Download URL: sparse_vector-0.4.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9f2667f0ab3347c13acc5e51f91426b42a729107863a5923f4e9ac6fba088a2 |
|
MD5 | dbb76f5a235ae6c9ad98b35ee005fa0c |
|
BLAKE2b-256 | 6751944657e79f36bd4bf7e259f4649e695e6d867ae14192f939bab5519760e2 |