ak.values_astype

Defined in awkward.operations.structure on line 4456.

ak.values_astype(array, to, highlevel=True, behavior=None)
Parameters
  • array – Array whose numbers should be converted to a new numeric type.

  • to (dtype or dtype specifier) – Type to convert the numbers into.

  • highlevel (bool) – If True, return an ak.Array; otherwise, return a low-level ak.layout.Content subclass.

  • behavior (None or dict) – Custom ak.behavior for the output array, if high-level.

Converts all numbers in the array to a new type, leaving the structure untouched.

For example,

>>> array = ak.Array([1.1, 2.2, 3.3, 4.4, 5.5])
>>> ak.values_astype(array, np.int32)
<Array [1, 2, 3, 4, 5] type='5 * int32'>

and

>>> array = ak.Array([[1.1, 2.2, 3.3], [], [4.4, 5.5]])
>>> ak.values_astype(array, np.int32)
<Array [[1, 2, 3], [], [4, 5]] type='3 * var * int32'>

Note, when converting values to a np.datetime64 type that is unitless, a default ‘[us]’ unit is assumed - until further specified as numpy dtypes.

For example,

>>> array = ak.Array([1567416600000])
>>> ak.values_astype(array, "datetime64[ms]")
<Array [2019-09-02T09:30:00.000] type='1 * datetime64'>

or

>>> array = ak.Array([1567416600000])
>>> ak.values_astype(array, np.dtype("M8[ms]"))
<Array [2019-09-02T09:30:00.000] type='1 * datetime64'>

See also ak.strings_astype.