static-frame / arraykit

Python C Extensions for StaticFrame
Other
8 stars 2 forks source link

array_from_iterator #47

Closed flexatone closed 3 years ago

flexatone commented 3 years ago

A very simple function that will likely be faster in C:

def array_from_iterator(iterator: tp.Iterator[tp.Any],
        count: int,
        dtype: DtypeSpecifier,
        ) -> np.ndarray:
    '''Given an iterator/generaotr of known size and dtype, load it into an array.
    '''
    if dtype != object:
        return np.fromiter(iterator,
                count=count,
                dtype=dtype,
                )
    array = np.empty(count, dtype=dtype)
    for i, v in enumerate(iterator):
        array[i] = v
    return array
flexatone commented 3 years ago

I am folding this functionality into iterable_to_array1d.