[][src]Struct polars::chunked_array::ChunkedArray

pub struct ChunkedArray<T> { /* fields omitted */ }

ChunkedArray

Every Series contains a ChunkedArray<T>. Unlike Series, ChunkedArray's are typed. This allows us to apply closures to the data and collect the results to a ChunkedArray of te same type T. Below we use an apply to use the cosine function to the values of a ChunkedArray.

fn apply_cosine(ca: &Float32Chunked) -> Float32Chunked {
    ca.apply(|v| v.cos())
}

If we would like to cast the result we could use a Rust Iterator instead of an apply method. Note that Iterators are slightly slower as the null values aren't ignored implicitly.

fn apply_cosine_and_cast(ca: &Float32Chunked) -> Float64Chunked {
    ca.into_iter()
        .map(|opt_v| {
        opt_v.map(|v| v.cos() as f64)
    }).collect()
}

Another option is to first cast and then use an apply.

fn apply_cosine_and_cast(ca: &Float32Chunked) -> Float64Chunked {
    ca.cast::<Float64Type>()
        .unwrap()
        .apply(|v| v.cos())
}

Conversion between Series and ChunkedArray's

Conversion from a Series to a ChunkedArray is effortless.

fn to_chunked_array(series: &Series) -> Result<&Int32Chunked>{
    series.i32()
}

fn to_series(ca: Int32Chunked) -> Series {
    ca.into_series()
}

Iterators

ChunkedArrays fully support Rust native Iterator and DoubleEndedIterator traits, thereby giving access to all the excelent methods available for Iterators.


fn iter_forward(ca: &Float32Chunked) {
    ca.into_iter()
        .for_each(|opt_v| println!("{:?}", opt_v))
}

fn iter_backward(ca: &Float32Chunked) {
    ca.into_iter()
        .rev()
        .for_each(|opt_v| println!("{:?}", opt_v))
}

Memory layout

ChunkedArray's use Apache Arrow as backend for the memory layout. Arrows memory is immutable which makes it possible to make mutliple zero copy (sub)-views from a single array.

To be able to append data, Polars uses chunks to append new memory locations, hence the ChunkedArray<T> data structure. Appends are cheap, because it will not lead to a full reallocation of the whole array (as could be the case with a Rust Vec).

However, multiple chunks in a ChunkArray will slow down the Iterators, arithmetic and other operations. When multiplying two ChunkArray's with different chunk sizes they cannot utilize SIMD for instance. However, when chunk size don't match, Iterators will be used to do the operation (instead of arrows upstream implementation, which may utilize SIMD) and the result will be a single chunked array.

The key takeaway is that by applying operations on a ChunkArray of multiple chunks, the results will converge to a ChunkArray of a single chunk! It is recommended to leave them as is. If you want to have predictable performance (no unexpected re-allocation of memory), it is adviced to call the rechunk after multiple append operations.

Implementations

impl<T> ChunkedArray<T>[src]

pub fn array_data(&self) -> Vec<ArrayDataRef>[src]

Get Arrow ArrayData

pub fn null_bits(&self) -> Vec<(usize, Option<Buffer>)>[src]

Get the null count and the buffer of bits representing null values

pub fn unpack_series_matching_type(
    &self,
    series: &Series
) -> Result<&ChunkedArray<T>>
[src]

Series to ChunkedArray

pub fn len(&self) -> usize[src]

Combined length of all the chunks.

pub fn chunk_id(&self) -> &Vec<usize>[src]

Unique id representing the number of chunks

pub fn chunks(&self) -> &Vec<ArrayRef>[src]

A reference to the chunks

pub fn is_optimal_aligned(&self) -> bool[src]

Returns true if contains a single chunk and has no null values

pub fn null_count(&self) -> usize[src]

Count the null values.

pub fn limit(&self, num_elements: usize) -> Result<Self>[src]

Take a view of top n elements

pub fn append_array(&mut self, other: ArrayRef) -> Result<()>[src]

Append arrow array in place.

let mut array = Int32Chunked::new_from_slice("array", &[1, 2]);
let array_2 = Int32Chunked::new_from_slice("2nd", &[3]);

array.append(&array_2);
assert_eq!(Vec::from(&array), [Some(1), Some(2), Some(3)])

pub fn slice(&self, offset: usize, length: usize) -> Result<Self>[src]

Slice the array. The chunks are reallocated the underlying data slices are zero copy.

pub fn is_null(&self) -> BooleanChunked[src]

Get a mask of the null values.

pub fn dtype(&self) -> &ArrowDataType[src]

Get data type of ChunkedArray.

pub fn head(&self, length: Option<usize>) -> Self[src]

Get the head of the ChunkedArray

pub fn tail(&self, length: Option<usize>) -> Self[src]

Get the tail of the ChunkedArray

pub fn append(&mut self, other: &Self) where
    Self: Sized
[src]

Append in place.

pub fn name(&self) -> &str[src]

Name of the ChunkedArray.

pub fn ref_field(&self) -> &Field[src]

Get a reference to the field.

pub fn rename(&mut self, name: &str)[src]

Rename this ChunkedArray.

impl<T> ChunkedArray<T> where
    T: PolarsDataType
[src]

pub fn new_from_chunks(name: &str, chunks: Vec<ArrayRef>) -> Self[src]

Create a new ChunkedArray from existing chunks.

impl ChunkedArray<Utf8Type>[src]

pub fn new_utf8_from_slice<S: AsRef<str>>(name: &str, v: &[S]) -> Self[src]

👎 Deprecated since 3.1:

Use new_from_slice

pub fn new_utf8_from_opt_slice<S: AsRef<str>>(
    name: &str,
    opt_v: &[Option<S>]
) -> Self
[src]

👎 Deprecated since 3.1:

Use new_from_opt_slice

impl<T> ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

pub fn new_from_aligned_vec(name: &str, v: AlignedVec<T::Native>) -> Self[src]

Create a new ChunkedArray by taking ownershipt of the AlignedVec. This operation is zero copy.

pub fn new_with_null_bitmap(
    name: &str,
    values: &[T::Native],
    buffer: Option<Buffer>,
    null_count: usize
) -> Self
[src]

Nullify values in slice with an existing null bitmap

pub fn new_from_owned_with_null_bitmap(
    name: &str,
    values: AlignedVec<T::Native>,
    buffer: Option<Buffer>,
    null_count: usize
) -> Self
[src]

Nullify values in slice with an existing null bitmap

impl<T> ChunkedArray<T> where
    T: PolarsNumericType
[src]

pub fn cont_slice(&self) -> Result<&[T::Native]>[src]

Contiguous slice

pub fn data_views(&self) -> Vec<&[T::Native]>[src]

Get slices of the underlying arrow data. NOTE: null values should be taken into account by the user of these slices as they are handled separately

pub fn as_single_ptr(&mut self) -> usize[src]

Rechunk and return a ptr to the start of the array

pub fn map<B, F>(&self, f: F) -> Result<Map<Copied<Iter<'_, T::Native>>, F>> where
    F: Fn(T::Native) -> B, 
[src]

If cont_slice is successful a closure is mapped over the elements.

Example

use polars::prelude::*;
fn multiply(ca: &UInt32Chunked) -> Result<Series> {
    let mapped = ca.map(|v| v * 2)?;
    Ok(mapped.collect())
}

pub fn map_null_checks<B, F>(
    &self,
    f: F
) -> Map<NumericChunkIterDispatch<'_, T>, F> where
    F: Fn(Option<T::Native>) -> B, 
[src]

If cont_slice fails we can fallback on an iterator with null checks and map a closure over the elements.

Example

use polars::prelude::*;
use itertools::Itertools;
fn multiply(ca: &UInt32Chunked) -> Series {
    let mapped_result = ca.map(|v| v * 2);

    if let Ok(mapped) = mapped_result {
        mapped.collect()
    } else {
        ca
        .map_null_checks(|opt_v| opt_v.map(|v |v * 2)).collect()
    }
}

pub fn fold<F, B>(&self, init: B, f: F) -> Result<B> where
    F: Fn(B, T::Native) -> B, 
[src]

If cont_slice is successful a closure can be applied as aggregation

Example

use polars::prelude::*;
fn compute_sum(ca: &UInt32Chunked) -> Result<u32> {
    ca.fold(0, |acc, value| acc + value)
}

pub fn fold_null_checks<F, B>(&self, init: B, f: F) -> B where
    F: Fn(B, Option<T::Native>) -> B, 
[src]

If cont_slice fails we can fallback on an iterator with null checks and a closure for aggregation

Example

use polars::prelude::*;
fn compute_sum(ca: &UInt32Chunked) -> u32 {
    match ca.fold(0, |acc, value| acc + value) {
        // faster sum without null checks was successful
        Ok(sum) => sum,
        // Null values or multiple chunks in ChunkedArray, we need to do more bounds checking
        Err(_) => ca.fold_null_checks(0, |acc, opt_value| {
            match opt_value {
                Some(v) => acc + v,
                None => acc
            }
        })
    }
}

Trait Implementations

impl<T, '_> Add<&'_ ChunkedArray<T>> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the + operator.

impl<T> Add<ChunkedArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = Self

The resulting type after applying the + operator.

impl<T, N, '_> Add<N> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast,
    N: Num + ToPrimitive,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the + operator.

impl AsMut<ChunkedArray<BooleanType>> for Series[src]

impl AsMut<ChunkedArray<Date32Type>> for Series[src]

impl AsMut<ChunkedArray<Date64Type>> for Series[src]

impl AsMut<ChunkedArray<DurationMicrosecondType>> for Series[src]

impl AsMut<ChunkedArray<DurationMillisecondType>> for Series[src]

impl AsMut<ChunkedArray<DurationNanosecondType>> for Series[src]

impl AsMut<ChunkedArray<DurationSecondType>> for Series[src]

impl AsMut<ChunkedArray<Float32Type>> for Series[src]

impl AsMut<ChunkedArray<Float64Type>> for Series[src]

impl AsMut<ChunkedArray<Int16Type>> for Series[src]

impl AsMut<ChunkedArray<Int32Type>> for Series[src]

impl AsMut<ChunkedArray<Int64Type>> for Series[src]

impl AsMut<ChunkedArray<Int8Type>> for Series[src]

impl AsMut<ChunkedArray<IntervalDayTimeType>> for Series[src]

impl AsMut<ChunkedArray<IntervalYearMonthType>> for Series[src]

impl AsMut<ChunkedArray<LargeListType>> for Series[src]

impl AsMut<ChunkedArray<Time32MillisecondType>> for Series[src]

impl AsMut<ChunkedArray<Time32SecondType>> for Series[src]

impl AsMut<ChunkedArray<Time64MicrosecondType>> for Series[src]

impl AsMut<ChunkedArray<Time64NanosecondType>> for Series[src]

impl AsMut<ChunkedArray<TimestampMicrosecondType>> for Series[src]

impl AsMut<ChunkedArray<TimestampMillisecondType>> for Series[src]

impl AsMut<ChunkedArray<TimestampNanosecondType>> for Series[src]

impl AsMut<ChunkedArray<TimestampSecondType>> for Series[src]

impl AsMut<ChunkedArray<UInt16Type>> for Series[src]

impl AsMut<ChunkedArray<UInt32Type>> for Series[src]

impl AsMut<ChunkedArray<UInt64Type>> for Series[src]

impl AsMut<ChunkedArray<UInt8Type>> for Series[src]

impl AsMut<ChunkedArray<Utf8Type>> for Series[src]

impl AsRef<ChunkedArray<BooleanType>> for Series[src]

impl AsRef<ChunkedArray<Date32Type>> for Series[src]

impl AsRef<ChunkedArray<Date64Type>> for Series[src]

impl AsRef<ChunkedArray<DurationMicrosecondType>> for Series[src]

impl AsRef<ChunkedArray<DurationMillisecondType>> for Series[src]

impl AsRef<ChunkedArray<DurationNanosecondType>> for Series[src]

impl AsRef<ChunkedArray<DurationSecondType>> for Series[src]

impl AsRef<ChunkedArray<Float32Type>> for Series[src]

impl AsRef<ChunkedArray<Float64Type>> for Series[src]

impl AsRef<ChunkedArray<Int16Type>> for Series[src]

impl AsRef<ChunkedArray<Int32Type>> for Series[src]

impl AsRef<ChunkedArray<Int64Type>> for Series[src]

impl AsRef<ChunkedArray<Int8Type>> for Series[src]

impl AsRef<ChunkedArray<IntervalDayTimeType>> for Series[src]

impl AsRef<ChunkedArray<IntervalYearMonthType>> for Series[src]

impl AsRef<ChunkedArray<LargeListType>> for Series[src]

impl<T> AsRef<ChunkedArray<T>> for ChunkedArray<T>[src]

impl AsRef<ChunkedArray<Time32MillisecondType>> for Series[src]

impl AsRef<ChunkedArray<Time32SecondType>> for Series[src]

impl AsRef<ChunkedArray<Time64MicrosecondType>> for Series[src]

impl AsRef<ChunkedArray<Time64NanosecondType>> for Series[src]

impl AsRef<ChunkedArray<TimestampMicrosecondType>> for Series[src]

impl AsRef<ChunkedArray<TimestampMillisecondType>> for Series[src]

impl AsRef<ChunkedArray<TimestampNanosecondType>> for Series[src]

impl AsRef<ChunkedArray<TimestampSecondType>> for Series[src]

impl AsRef<ChunkedArray<UInt16Type>> for Series[src]

impl AsRef<ChunkedArray<UInt32Type>> for Series[src]

impl AsRef<ChunkedArray<UInt64Type>> for Series[src]

impl AsRef<ChunkedArray<UInt8Type>> for Series[src]

impl AsRef<ChunkedArray<Utf8Type>> for Series[src]

impl<'_> BitAnd<&'_ ChunkedArray<BooleanType>> for &'_ BooleanChunked[src]

type Output = Result<BooleanChunked>

The resulting type after applying the & operator.

impl BitAnd<ChunkedArray<BooleanType>> for BooleanChunked[src]

type Output = Result<BooleanChunked>

The resulting type after applying the & operator.

impl<'_> BitOr<&'_ ChunkedArray<BooleanType>> for &'_ BooleanChunked[src]

type Output = Result<BooleanChunked>

The resulting type after applying the | operator.

impl BitOr<ChunkedArray<BooleanType>> for BooleanChunked[src]

type Output = Result<BooleanChunked>

The resulting type after applying the | operator.

impl<T> ChunkAgg<<T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + PartialOrd + Div<Output = T::Native> + Num + NumCast + ToPrimitive
[src]

impl<'a, T> ChunkApply<'a, <T as ArrowPrimitiveType>::Native, <T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: PolarsNumericType
[src]

fn apply<F>(&'a self, f: F) -> Self where
    F: Fn(T::Native) -> T::Native + Copy
[src]

Chooses the fastest path for closure application. Null values remain null.

Example

use polars::prelude::*;
fn double(ca: &UInt32Chunked) -> UInt32Chunked {
    ca.apply(|v| v * 2)
}

impl<T> ChunkCast for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<'_> ChunkCompare<&'_ ChunkedArray<BooleanType>> for BooleanChunked[src]

impl<'_> ChunkCompare<&'_ ChunkedArray<LargeListType>> for LargeListChunked[src]

impl<T, '_> ChunkCompare<&'_ ChunkedArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<'_> ChunkCompare<&'_ ChunkedArray<Utf8Type>> for Utf8Chunked[src]

impl<T, Rhs> ChunkCompare<Rhs> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast,
    Rhs: NumComp + ToPrimitive
[src]

impl<T> ChunkFillNone<<T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + PartialOrd + Div<Output = T::Native> + Num + NumCast
[src]

impl<T> ChunkFilter<T> for ChunkedArray<T> where
    T: PolarsSingleType,
    ChunkedArray<T>: ChunkOps
[src]

impl<T> ChunkFull<<T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

impl<T> ChunkOps for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<T> ChunkReverse<T> for ChunkedArray<T> where
    T: PolarsNumericType,
    ChunkedArray<T>: ChunkOps
[src]

impl<'a, T> ChunkSet<'a, <T as ArrowPrimitiveType>::Native, <T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: ArrowPrimitiveType,
    &'a ChunkedArray<T>: IntoNoNullIterator<Item = T::Native> + IntoIterator<Item = Option<T::Native>>,
    T::Native: Copy
[src]

impl<T> ChunkShift<T, <T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Copy
[src]

impl<T> ChunkSort<T> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: PartialOrd
[src]

impl<T> ChunkTake for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<T> ChunkUnique<T> for ChunkedArray<T> where
    T: PolarsIntegerType,
    T::Native: Hash + Eq,
    ChunkedArray<T>: ChunkOps
[src]

impl<T, '_> ChunkUnique<T> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast + ToPrimitive,
    ChunkedArray<T>: ChunkOps
[src]

impl<T> Clone for ChunkedArray<T>[src]

impl<T> Debug for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

impl<T, '_> Div<&'_ ChunkedArray<T>> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero + One
[src]

type Output = ChunkedArray<T>

The resulting type after applying the / operator.

impl<T> Div<ChunkedArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero + One
[src]

type Output = Self

The resulting type after applying the / operator.

impl<T, N, '_> Div<N> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast,
    N: Num + ToPrimitive,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the / operator.

impl<T> Downcast<PrimitiveArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<'a> From<&'a ChunkedArray<BooleanType>> for Vec<Option<bool>>[src]

impl<'a, T> From<&'a ChunkedArray<T>> for Vec<Option<T::Native>> where
    T: PolarsNumericType,
    &'a ChunkedArray<T>: IntoIterator<Item = Option<T::Native>>,
    ChunkedArray<T>: ChunkOps
[src]

impl<'a> From<&'a ChunkedArray<Utf8Type>> for Vec<Option<&'a str>>[src]

From trait

impl From<ChunkedArray<BooleanType>> for Series[src]

impl From<ChunkedArray<BooleanType>> for Vec<Option<bool>>[src]

impl From<ChunkedArray<Date32Type>> for Series[src]

impl From<ChunkedArray<Date64Type>> for Series[src]

impl From<ChunkedArray<DurationMicrosecondType>> for Series[src]

impl From<ChunkedArray<DurationMillisecondType>> for Series[src]

impl From<ChunkedArray<DurationNanosecondType>> for Series[src]

impl From<ChunkedArray<DurationSecondType>> for Series[src]

impl From<ChunkedArray<Float32Type>> for Series[src]

impl From<ChunkedArray<Float64Type>> for Series[src]

impl From<ChunkedArray<Int16Type>> for Series[src]

impl From<ChunkedArray<Int32Type>> for Series[src]

impl From<ChunkedArray<Int64Type>> for Series[src]

impl From<ChunkedArray<Int8Type>> for Series[src]

impl From<ChunkedArray<IntervalDayTimeType>> for Series[src]

impl From<ChunkedArray<IntervalYearMonthType>> for Series[src]

impl From<ChunkedArray<LargeListType>> for Series[src]

impl From<ChunkedArray<Time32MillisecondType>> for Series[src]

impl From<ChunkedArray<Time32SecondType>> for Series[src]

impl From<ChunkedArray<Time64MicrosecondType>> for Series[src]

impl From<ChunkedArray<Time64NanosecondType>> for Series[src]

impl From<ChunkedArray<TimestampMicrosecondType>> for Series[src]

impl From<ChunkedArray<TimestampMillisecondType>> for Series[src]

impl From<ChunkedArray<TimestampNanosecondType>> for Series[src]

impl From<ChunkedArray<TimestampSecondType>> for Series[src]

impl From<ChunkedArray<UInt16Type>> for Series[src]

impl From<ChunkedArray<UInt32Type>> for Series[src]

impl From<ChunkedArray<UInt64Type>> for Series[src]

impl From<ChunkedArray<UInt8Type>> for Series[src]

impl From<ChunkedArray<Utf8Type>> for Series[src]

impl From<ChunkedArray<Utf8Type>> for Vec<Option<String>>[src]

impl<T> FromIterator<(AlignedVec<<T as ArrowPrimitiveType>::Native>, (usize, Option<Buffer>))> for ChunkedArray<T> where
    T: PolarsNumericType
[src]

impl<T> FromIterator<Option<<T as ArrowPrimitiveType>::Native>> for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

FromIterator trait

impl<T> FromParallelIterator<Option<<T as ArrowPrimitiveType>::Native>> for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

impl<T> HashJoin<T> for ChunkedArray<T> where
    T: PolarsNumericType + Sync,
    T::Native: Eq + Hash
[src]

impl<'a, T> IntoIterator for &'a ChunkedArray<T> where
    T: PolarsNumericType
[src]

type Item = Option<T::Native>

The type of the elements being iterated over.

type IntoIter = NumericChunkIterDispatch<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T> IntoNoNullIterator for &'a ChunkedArray<T> where
    T: PolarsNumericType
[src]

type Item = T::Native

type IntoIter = Box<dyn Iterator<Item = Self::Item> + 'a>

impl<T: PolarsDataType> IntoSeries for ChunkedArray<T>[src]

impl<'a, T> IntoTakeRandom<'a> for &'a ChunkedArray<T> where
    T: PolarsNumericType
[src]

type Item = T::Native

type TakeRandom = NumTakeRandomDispatch<'a, T>

impl<T, '_> Mul<&'_ ChunkedArray<T>> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the * operator.

impl<T> Mul<ChunkedArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = Self

The resulting type after applying the * operator.

impl<T, N, '_> Mul<N> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast,
    N: Num + ToPrimitive,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the * operator.

impl<T> NewChunkedArray<T, <T as ArrowPrimitiveType>::Native> for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

fn new_from_iter(
    name: &str,
    it: impl Iterator<Item = T::Native>
) -> ChunkedArray<T>
[src]

Create a new ChunkedArray from an iterator.

impl<T> Pow for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: ToPrimitive
[src]

impl<T, '_> Sub<&'_ ChunkedArray<T>> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the - operator.

impl<T> Sub<ChunkedArray<T>> for ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = Self

The resulting type after applying the - operator.

impl<T, N, '_> Sub<N> for &'_ ChunkedArray<T> where
    T: PolarsNumericType,
    T::Native: NumCast,
    N: Num + ToPrimitive,
    T::Native: Add<Output = T::Native> + Sub<Output = T::Native> + Mul<Output = T::Native> + Div<Output = T::Native> + Zero
[src]

type Output = ChunkedArray<T>

The resulting type after applying the - operator.

impl<T> TakeRandom for ChunkedArray<T> where
    T: ArrowPrimitiveType
[src]

type Item = T::Native

impl TryInto<ChunkedArray<BooleanType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Date32Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Date64Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<DurationMicrosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<DurationMillisecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<DurationNanosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<DurationSecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Float32Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Float64Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Int16Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Int32Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Int64Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Int8Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<IntervalDayTimeType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<IntervalYearMonthType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<LargeListType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Time32MillisecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Time32SecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Time64MicrosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Time64NanosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<TimestampMicrosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<TimestampMillisecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<TimestampNanosecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<TimestampSecondType>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<UInt16Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<UInt32Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<UInt64Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<UInt8Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl TryInto<ChunkedArray<Utf8Type>> for Series[src]

type Error = &'static str

The type returned in the event of a conversion error.

impl<T> ValueCounts<T> for ChunkedArray<T> where
    T: PolarsIntegerType,
    T::Native: Hash + Eq,
    ChunkedArray<T>: ChunkOps
[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for ChunkedArray<T>

impl<T> Send for ChunkedArray<T> where
    T: Send

impl<T> Sync for ChunkedArray<T> where
    T: Sync

impl<T> Unpin for ChunkedArray<T> where
    T: Unpin

impl<T> !UnwindSafe for ChunkedArray<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,