fast-array-utils supports the following array types:
numpy.ndarrayscipy.sparse.cs{rc}_{array,matrix}cupy.ndarrayandcupyx.scipy.sparse.cs{rc}_matrixdask.array.Arrayh5py.Datasetandzarr.Arrayanndata.abc.CS{CR}Dataset(only supported by.conv.to_denseat the moment)
Use fast_array_utils.conv.to_dense to densify arrays and optionally move them to CPU memory:
from fast_array_utils.conv import to_dense
numpy_arr = to_dense(sparse_arr_or_mat)
numpy_arr = to_dense(dask_or_cuda_arr, to_cpu_memory=True)
dense_dask_arr = to_dense(dask_arr)
dense_cupy_arr = to_dense(sparse_cupy_mat)Use fast_array_utils.conv.* to calculate statistics across one or both axes of a 2D array.
All of them support an axis and dtype parameter:
from fast_array_utils import stats
all_equal = stats.is_constant(arr_2d)
col_sums = stats.sum(arr_2d, axis=0)
mean = stats.mean(arr_2d)
row_means, row_vars = stats.mean_var(arr_2d, axis=1)To use fast_array_utils.stats or fast_array_utils.conv:
(uv) pip install 'fast-array-utils[accel]'To use testing.fast_array_utils:
(uv) pip install 'fast-array-utils[testing]'