The NumPy’s require() method returns a ndarray that satisfies certain requirements.
The numpy.require() method is useful for ensuring that an array has the correct flags, thereby satisfying the requirements for passing it to compiled code, possibly through ctypes.
Syntax
Syntax: numpy.require(a, dtype=None, requirements=None)
Parameters:
- a : array_like
- dtype : data-type
requirements : str or list of str
The requirements list can be any of the following.
- ‘F’ : ‘F_CONTIGUOUS’ – ensure a Fortran-contiguous array.
- ‘C’ : ‘C_CONTIGUOUS’ – ensure a C-contiguous array.
- ‘A’ : ‘ALIGNED’ – ensure a data-type aligned array.
- ‘W’ : ‘WRITABLE’ – ensure a writable array.
- ‘O’ : ‘OWNDATA’ – ensure an array that owns its own data.
- ‘E’ : ‘ENSUREARRAY’ – ensure a base array, instead of a subclass.
Returns : ndarray
Exception : ValueError – Raises ValueError
Examples
Let’s look at some examples to understand require() method of the NumPy library in Python.
Example 1:
# Python program explaining # numpy.require() function # importing numpy import numpy as np
# creating 4 x 4 array data = np.arange( 16 ).reshape( 4 , 4 )
data.flags |
Output:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : False
WRITABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False
Example 2:
import numpy as np
# Python program explaining # numpy.require() b = np.require(data, dtype = np.float32,
requirements = [ 'A' , 'W' , 'O' , 'C' ])
b.flags |
Output:
C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : True
WRITABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False