larray.random.randint
- larray.random.randint(low, high=None, axes=None, dtype='l', meta=None) Array [source]
Return random integers from low (inclusive) to high (exclusive).
Return random integers from the “discrete uniform” distribution of the specified dtype in the “half-open” interval [low, high). If high is None (the default), then results are from [0, low).
- Parameters
- lowint
Lowest (signed) integer to be drawn from the distribution (unless
high=None
, in which case this parameter is one above the highest such integer).- highint, optional
If provided, one above the largest (signed) integer to be drawn from the distribution (see above for behavior if
high=None
).- axesint, tuple of int, str, Axis or tuple/list/AxisCollection of Axis, optional
Axes (or shape) of the resulting array. If
axes
is None (the default), a single value is returned. Otherwise, if the resulting axes have a shape of, e.g.,(m, n, k)
, thenm * n * k
samples are drawn.- dtypedata-type, optional
Desired dtype of the result. All dtypes are determined by their name, i.e., ‘int64’, ‘int’, etc, so byteorder is not available and a specific precision may have different C types depending on the platform. The default value is ‘np.int’.
- metalist of pairs or dict or Metadata, optional
Metadata (title, description, author, creation_date, …) associated with the array. Keys must be strings. Values must be of type string, int, float, date, time or datetime.
- Returns
- Array
Examples
Generate a single int between 0 and 9, inclusive:
>>> la.random.randint(10) 6
Generate an array of 10 ints between 1 and 5, inclusive:
>>> la.random.randint(1, 6, 10) {0}* 0 1 2 3 4 5 6 7 8 9 1 1 5 1 5 4 3 4 2 1
Generate a 2 x 3 array of ints between 0 and 4, inclusive:
>>> la.random.randint(5, axes=(2, 3)) {0}*\{1}* 0 1 2 0 4 4 1 1 1 2 2 >>> la.random.randint(5, axes='a=a0,a1;b=b0..b2') a\b b0 b1 b2 a0 0 3 1 a1 4 0 1
With varying low and high (each depending on a different axis)
>>> low = la.sequence('a=a0,a1') >>> low a a0 a1 0 1 >>> high = la.sequence('b=b0..b2', initial=3) >>> high b b0 b1 b2 3 4 5
In other words, we want to generate values between low and high (high included) for each cell. Let’s note that low..high:
- ab b0 b1 b2
a0 0..2 0..3 0..4 a1 1..2 1..3 1..4
>>> la.random.randint(low, high) a\b b0 b1 b2 a0 0 2 2 a1 2 3 4