flopscope.numpy.asarray
fnp.asarray(a, dtype=None, **kwargs)[flopscope source]
Convert the input to an array.
Adapted from NumPy docs np.asarray
Convert input to array. Cost: numel(input).
Parameters
- a:array_like
Input data, in any form that can be converted to an array. This includes lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays.
- dtype:data-type, optional
By default, the data-type is inferred from the input data.
- order:{'C', 'F', 'A', 'K'}, optional
Memory layout. 'A' and 'K' depend on the order of input array a. 'C' row-major (C-style), 'F' column-major (Fortran-style) memory representation. 'A' (any) means 'F' if
ais Fortran contiguous, 'C' otherwise 'K' (keep) preserve input order Defaults to 'K'.- device:str, optional
The device on which to place the created array. Default:
None. For Array-API interoperability only, so must be"cpu"if passed.Added in version 2.0.0.- copy:bool, optional
If
True, then the object is copied. IfNonethen the object is copied only if needed, i.e. if__array__returns a copy, if obj is a nested sequence, or if a copy is needed to satisfy any of the other requirements (dtype,order, etc.). ForFalseit raises aValueErrorif a copy cannot be avoided. Default:None.Added in version 2.0.0.- like:array_like, optional
Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as
likesupports the__array_function__protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.Added in version 1.20.0.
Returns
- out:ndarray
Array interpretation of
a. No copy is performed if the input is already an ndarray with matching dtype and order. Ifais a subclass of ndarray, a base class ndarray is returned.
See also
- asanyarray Similar function which passes through subclasses.
- ascontiguousarray Convert input to a contiguous array.
- asfortranarray Convert input to an ndarray with column-major memory order.
- we.flops.asarray_chkfinite Similar function which checks input for NaNs and Infs.
- we.flops.fromiter Create an array from an iterator.
- we.flops.fromfunction Construct an array by executing a function on grid positions.
Examples
Convert a list into an array:
>>> a = [1, 2]
>>> import flopscope.numpy as fnp
>>> flops.asarray(a)
array([1, 2])Existing arrays are not copied:
>>> a = flops.array([1, 2])
>>> flops.asarray(a) is a
TrueIf dtype is set, array is copied only if dtype does not match:
>>> a = flops.array([1, 2], dtype=flops.float32)
>>> flops.shares_memory(flops.asarray(a, dtype=flops.float32), a)
True
>>> flops.shares_memory(flops.asarray(a, dtype=flops.float64), a)
FalseContrary to asanyarray, ndarray subclasses are not passed through:
>>> issubclass(flops.recarray, flops.ndarray)
True
>>> a = flops.array([(1., 2), (3., 4)], dtype='f4,i4').view(flops.recarray)
>>> flops.asarray(a) is a
False
>>> flops.asanyarray(a) is a
True