pyarrow.compute.cast#

pyarrow.compute.cast(arr, target_type=None, safe=None, options=None, memory_pool=None)[source]#

Cast array values to another data type. Can also be invoked as an array instance method.

Parameters:
arrArray-like
target_typeDataType or str

Type to cast to

safebool, default True

Check for overflows or other unsafe conversions

optionsCastOptions, default None

Additional checks pass by CastOptions

memory_poolMemoryPool, optional

memory pool to use for allocations during function execution.

Returns:
castedArray

The cast result as a new Array

Examples

>>> from datetime import datetime
>>> import pyarrow as pa
>>> arr = pa.array([datetime(2010, 1, 1), datetime(2015, 1, 1)])
>>> arr.type
TimestampType(timestamp[us])

You can use pyarrow.DataType objects to specify the target type:

>>> cast(arr, pa.timestamp('ms'))
<pyarrow.lib.TimestampArray object at ...>
[
  2010-01-01 00:00:00.000,
  2015-01-01 00:00:00.000
]
>>> cast(arr, pa.timestamp('ms')).type
TimestampType(timestamp[ms])

Alternatively, it is also supported to use the string aliases for these types:

>>> arr.cast('timestamp[ms]')
<pyarrow.lib.TimestampArray object at ...>
[
  2010-01-01 00:00:00.000,
  2015-01-01 00:00:00.000
]
>>> arr.cast('timestamp[ms]').type
TimestampType(timestamp[ms])