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
Close
Hashes for numpy_dynamic_array-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa98bc8909055765a4803334af659f9d3ca81a4c88743830edb1620759d8ae10 |
|
MD5 | ccce35c15385724ecaf35b50e8380a1e |
|
BLAKE2b-256 | 7de7a4cb1f1bbaacbccd3524c6b166ce11a953ac3c2e6fd9918d829b0883ebb0 |
Close
Hashes for numpy_dynamic_array-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c878f973f5850c727e4cab9e7ae5baa2a4cffd3993fe1b8b3e1c613ab89256ae |
|
MD5 | 8d8fc53e6d7bc4a829f1ca8681a00060 |
|
BLAKE2b-256 | ab9caaf8be5ea70c571cbe1630cb4d43e6df31a91c49e10d69f342f810b433f5 |