Function arrow::compute::kernels::cast::cast[][src]

pub fn cast(array: &ArrayRef, to_type: &DataType) -> Result<ArrayRef>
Expand description

Cast array to the provided data type and return a new Array with type to_type, if possible.

Behavior:

  • Boolean to Utf8: true => ‘1’, false => 0
  • Utf8 to numeric: strings that can’t be parsed to numbers return null, float strings in integer casts return null
  • Numeric to boolean: 0 returns false, any other value returns true
  • List to List: the underlying data type is cast
  • Primitive to List: a list array with 1 value per slot is created
  • Date32 and Date64: precision lost when going to higher interval
  • Time32 and Time64: precision lost when going to higher interval
  • Timestamp and Date{32|64}: precision lost when going to higher interval
  • Temporal to/from backing primitive: zero-copy with data type change

Unsupported Casts

  • To or from StructArray
  • List to primitive
  • Utf8 to boolean
  • Interval and duration