A sparse vector in pure python, based on numpy.
Project description
Sparse Vector
=============
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](http://en.wikipedia.org/wiki/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`](https://pypi.python.org/pypi/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](https://pypi.python.org/pypi/sparse_vector).
Installation is simply:
``` bash
$ pip install sparse_vector
```
Usage
-----
See the [unit-tests](https://github.com/Goutte/python_sparse_vector/blob/master/test_sparse_vector.py)!
Contributing
------------
1. Fork it
2. Create your feature branch (``git checkout -b my-new-feature``)
3. Commit your changes (``git commit -am 'Add some feature'``)
4. Ensure the tests pass for all Pythons in
`.travis.yml <https://github.com/johnsyweb/python_sparse_vector/blob/master/.travis.yml>`__
5. Push to the branch (``git push origin my-new-feature``)
6. Create new Pull Request
Thanks
------
- [johnsyweb](http://johnsy.com/about/) for the original `sparse_list`.
=============
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](http://en.wikipedia.org/wiki/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`](https://pypi.python.org/pypi/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](https://pypi.python.org/pypi/sparse_vector).
Installation is simply:
``` bash
$ pip install sparse_vector
```
Usage
-----
See the [unit-tests](https://github.com/Goutte/python_sparse_vector/blob/master/test_sparse_vector.py)!
Contributing
------------
1. Fork it
2. Create your feature branch (``git checkout -b my-new-feature``)
3. Commit your changes (``git commit -am 'Add some feature'``)
4. Ensure the tests pass for all Pythons in
`.travis.yml <https://github.com/johnsyweb/python_sparse_vector/blob/master/.travis.yml>`__
5. Push to the branch (``git push origin my-new-feature``)
6. Create new Pull Request
Thanks
------
- [johnsyweb](http://johnsy.com/about/) 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
sparse_vector-0.1.tar.gz
(4.2 kB
view hashes)