numpy extension
Project description
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.
Project details
Release history Release notifications | RSS feed
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
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 |