numpy.require¶
-
numpy.require(a, dtype=None, requirements=None)[source]¶ Return an ndarray of the provided type that satisfies requirements.
This function is useful to be sure that an array with the correct flags is returned for passing to compiled code (perhaps through ctypes).
- Parameters
- aarray_like
The object to be converted to a type-and-requirement-satisfying array.
- dtypedata-type
The required data-type. If None preserve the current dtype. If your application requires the data to be in native byteorder, include a byteorder specification as a part of the dtype specification.
- requirements
strorlistofstr The requirements list can be any of the following
‘F_CONTIGUOUS’ (‘F’) - ensure a Fortran-contiguous array
‘C_CONTIGUOUS’ (‘C’) - ensure a C-contiguous array
‘ALIGNED’ (‘A’) - ensure a data-type aligned array
‘WRITEABLE’ (‘W’) - ensure a writable array
‘OWNDATA’ (‘O’) - ensure an array that owns its own data
‘ENSUREARRAY’, (‘E’) - ensure a base array, instead of a subclass
- Returns
- out
ndarray Array with specified requirements and type if given.
- out
See also
asarrayConvert input to an ndarray.
asanyarrayConvert to an ndarray, but pass through ndarray subclasses.
ascontiguousarrayConvert input to a contiguous array.
asfortranarrayConvert input to an ndarray with column-major memory order.
ndarray.flagsInformation about the memory layout of the array.
Notes
The returned array will be guaranteed to have the listed requirements by making a copy if needed.
Examples
>>> x = np.arange(6).reshape(2,3) >>> x.flags C_CONTIGUOUS : True F_CONTIGUOUS : False OWNDATA : False WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False
>>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F']) >>> y.flags C_CONTIGUOUS : False F_CONTIGUOUS : True OWNDATA : True WRITEABLE : True ALIGNED : True WRITEBACKIFCOPY : False UPDATEIFCOPY : False