Create a numpy dynamic array.
Project description
Numpy Dynamic Array
Dynamically resizing Numpy array.
A dynamic array expands as you add more elements. So you don't need to determine the size ahead of time. The version present here is focused on being compatible with the typical Numpy indexing and functions.
Installation
pip install numpy_dynamic_array
Usage
Basics
from numpy_da import DynamicArray
data = DynamicArray(shape=2)
a = np.linspace(0, 9, 10)
data.append(a) # requires resize (done automatically)
print(data) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Indexing
Setting values with indexing
data = DynamicArray(shape=2)
data.append(np.linspace(0, 9, 10))
data[3] = 40
print(data) # [0, 1, 2, 3, 40, 5, 6, 7, 8, 9]
Setting values with indexing (outside current array size)
Set index_expansion=True
data = DynamicArray(shape=2, index_expansion=True)
data[5] = 1
print(data) # [0, 0, 0, 0, 0, 1]
Setting values with slices (outside current array size)
Set index_expansion=True
data = DynamicArray(shape=2, index_expansion=True)
data[5:8] = [1, 2, 3]
print(data) # [0, 0, 0, 0, 0, 1, 2, 3]
Operators
Equality:
np_array = np.linspace(0, 9, 10)
data = DynamicArray()
data.append(np_array)
print(all(data == np_array)) # True
Addition:
np_array = np.linspace(0, 9, 10)
data = DynamicArray()
data.append(np_array)
print(all((data + 7.5) == (np_array + 7.5))) # True
Other supported oparators:
- floordiv (//)
- mod (%)
- mul (*)
- neg (-)
- pow (**)
- truediv(/)
- sub (-)
- len (len())
Numpy Functions
np_array = np.linspace(0, 9, 10)
data = DynamicArray()
data.append(np_array)
print(data.max()) # 9
np_array = np.linspace(0, 9, 10)
data = DynamicArray()
data.append(np_array)
print(np.abs(data - 5)) # [5. 4. 3. 2. 1. 0. 1. 2. 3. 4.]
Multidimensional arrays
Use the shape to specify initial ndarray with correct dimensions.
data = DynamicArray(shape=(2, 2)) # requires resize
a = np.linspace(0, 9, 10).reshape(5, 2)
data.append(a)
For more examples look at the tests folder.
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
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_dynamic_array-0.0.1.tar.gz.
File metadata
- Download URL: numpy_dynamic_array-0.0.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa98bc8909055765a4803334af659f9d3ca81a4c88743830edb1620759d8ae10
|
|
| MD5 |
ccce35c15385724ecaf35b50e8380a1e
|
|
| BLAKE2b-256 |
7de7a4cb1f1bbaacbccd3524c6b166ce11a953ac3c2e6fd9918d829b0883ebb0
|
File details
Details for the file numpy_dynamic_array-0.0.1-py3-none-any.whl.
File metadata
- Download URL: numpy_dynamic_array-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c878f973f5850c727e4cab9e7ae5baa2a4cffd3993fe1b8b3e1c613ab89256ae
|
|
| MD5 |
8d8fc53e6d7bc4a829f1ca8681a00060
|
|
| BLAKE2b-256 |
ab9caaf8be5ea70c571cbe1630cb4d43e6df31a91c49e10d69f342f810b433f5
|