NumPy Extensions
An extension library for NumPy that implements common array operations not present in NumPy.
npext.fill_na(...)npext.drop_na(...)npext.rolling(...)npext.expanding(...)npext.rolling_apply(...)npext.expanding_apply(...)# etc
Documentation
Installation
Regular installation:
pip install numpy_ext
For development:
git clone https://github.com/3jane/numpy_ext.git
cd numpy_ext
pip install -e .[dev] # note: make sure you are using pip>=20
Examples
Here are few common examples of how the library is used. The rest is available in the documentation.
- Apply a function to a rolling window over the provided array
import numpy as np
import numpy_ext as npext
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
window = 3
npext.rolling_apply(np.sum, window, a)
> array([nan, nan, 3., 6., 9., 12., 15., 18., 21., 24.])
- Same as the above, but with a custom function, two input arrays and parallel computation using
joblib:
def func(array_first, array_second, param):
return (np.min(array_first) + np.sum(array_second)) * param
a = np.array([0, 1, 2, 3])
b = np.array([3, 2, 1, 0])
npext.rolling_apply(func, 2, a, b, n_jobs=2, param=-1)
> array([nan, -5., -4., -3.])
- Same as the first example, but using rolling function:
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
window = 3
rolls = npext.rolling(a, window, as_array=True)
np.sum(rolls, axis=1)
> array([nan, nan, 3., 6., 9., 12., 15., 18., 21., 24.])
- Apply a function with multiple output to a rolling window over the provided array, with no nans prepend
res = npext.rolling_apply(
lambda x: (max(x), min(x)),
3,
np.array([1, 2, 5, 1, 6, 4, 0]),
prepend_nans=False,
)
> array([[5, 1],
[5, 1],
[6, 1],
[6, 1],
[6, 0]])
License
The software is distributed under MIT license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
numpy_ext-0.9.9.tar.gz
(6.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file numpy_ext-0.9.9.tar.gz.
File metadata
- Download URL: numpy_ext-0.9.9.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.7.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f60f2b03f9279b89387f1e25946a931c03f4880cc35099421b6eeb37eaa0f92
|
|
| MD5 |
5ce10ad54f7b01ab0b9a7901e5edbf3c
|
|
| BLAKE2b-256 |
55f18419bed8365d6d2022b8986f27a7a3b382e2bc3fdc41955cd3bd1f18208b
|
File details
Details for the file numpy_ext-0.9.9-py3-none-any.whl.
File metadata
- Download URL: numpy_ext-0.9.9-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.7.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f0cdab47de649042691137a75e18801393b60c8d2191f39aad51af850eb65a1
|
|
| MD5 |
198bccf15c85306e8fc82abfd9188321
|
|
| BLAKE2b-256 |
c787df82011766c011ab3fe2829ed32b352455fc845026cade9e162bdbf4a918
|