Function polars::export::arrow::compute::if_then_else::if_then_else
source · [−]pub fn if_then_else(
predicate: &BooleanArray,
lhs: &dyn Array,
rhs: &dyn Array
) -> Result<Box<dyn Array + 'static, Global>, ArrowError>
This is supported on crate feature
compute_if_then_else
only.Expand description
Returns the values from lhs
if the predicate is true
or from the rhs
if the predicate is false
Returns None
if the predicate is None
.
Example
use arrow2::compute::if_then_else::if_then_else;
use arrow2::array::{Int32Array, BooleanArray};
let lhs = Int32Array::from_slice(&[1, 2, 3]);
let rhs = Int32Array::from_slice(&[4, 5, 6]);
let predicate = BooleanArray::from(&[Some(true), None, Some(false)]);
let result = if_then_else(&predicate, &lhs, &rhs)?;
let expected = Int32Array::from(&[Some(1), None, Some(6)]);
assert_eq!(expected, result.as_ref());