nphelper - convenient numpy helper functions¶
This package contains some convenient helper function for numpy. Nothing fancy, but quite useful. It works with python 2.7, 3.4, and 3.5.
Usage / Features¶
Create block arrays (in matlabs’s [A A; B B]
spirit):
>>> from nphelper import block
>>> A = np.array([[1, 2, 3]])
>>> B = np.array([[2, 3, 4]])
>>> C = np.ones((2, 6))
>>> block([[A, B], [C]])
array([[1, 2, 3, 2, 3, 4],
[[1, 1, 1, 1, 1, 1],
[[1, 1, 1, 1, 1, 1]])
Compute the cartesian product (similar to itertools.product
):
>>> from nphelper import cartesian_product
>>> cartesian_product([[1, 2], [3, 4]])
array([[1, 3],
[1, 4],
[2, 3],
[2, 4]])
Easily multiply many arrays without the cubersome dot
syntax. It’s also
much faster than dot because it selects the fastest evaluation order.
(This is part of numpy 1.10.0.)
>>> from nphelper import multi_dot
>>> A = np.random.random((10000, 100))
>>> B = np.random.random((100, 1000))
>>> C = np.random.random((1000, 5))
>>> D = np.random.random((5, 333))
>>> # Sick of this?
>>> np.dot(np.dot(np.dot(A, B), C), D)
>>> # Or this?
>>> A.dot(B).dot(C).dot(D)
>>> # Use multi_dot
>>> multi_dot([A, B, C, D])
- TODO along, maxalong, minalong, sumalong, meanalong, stdalong, varalong
Dev¶
Run the tests¶
Run tox
to run the tests for python 2.7, 3.4, and 3.5:
tox
You might have to install addiotional dependencies to run the tests:
- ``py.test``,
- ``nose``,
- ``python2.7-dev``,
- ``python3.4-dev``, and
- ``python3.5-dev``.
Build the Docs¶
cd doc
make html
You might have to install addiotional dependencies:
pip install sphinx sphinx_rtd_theme
All nphelper functions¶
TODO add list of functions here