pub struct Logical<Logical: PolarsDataType, Physical: PolarsDataType>(pub ChunkedArray<Physical>, _, pub Option<DataType>);
Expand description

Maps a logical type to a a chunked array implementation of the physical type. This saves a lot of compiler bloat and allows us to reuse functionality.

Tuple Fields

0: ChunkedArray<Physical>2: Option<DataType>

Implementations

Methods from Deref<Target = ChunkedArray<T>>

Convert all values to their absolute/positive value.

Append in place. This is done by adding the chunks of other to this ChunkedArray.

See also extend for appends to the underlying memory

Cast a numeric array to another numeric data type and apply a function in place. This saves an allocation.

Get the length of the ChunkedArray

Check if ChunkedArray is empty.

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

When offset is negative it will be counted from the end of the array. This method will never error, and will slice the best match when offset, or length is out of bounds

Take a view of top n elements

Get the head of the ChunkedArray

Get the tail of the ChunkedArray

Extend the memory backed by this array with the values from other.

Different from ChunkedArray::append which adds chunks to this ChunkedArray extend appends the data from other to the underlying PrimitiveArray and thus may cause a reallocation.

However if this does not cause a reallocation, the resulting data structure will not have any extra chunks and thus will yield faster queries.

Prefer extend over append when you want to do a query after a single append. For instance during online operations where you add n rows and rerun a query.

Prefer append over extend when you want to append many times before doing a query. For instance when you read in multiple files and when to store them in a single DataFrame. In the latter case finish the sequence of append operations with a rechunk.

Apply a rolling custom function. This is pretty slow because of dynamic dispatch.

Check if all values are true

Check if any value is true

Convert missing values to NaN values.

Available on crate feature ndarray only.

If data is aligned in a single chunk and has no Null values a zero copy view is returned as an ndarray

Available on crate feature ndarray only.

If all nested Series have the same length, a 2 dimensional ndarray::Array is returned.

This is an iterator over a ListChunked that save allocations. A Series is: 1. Arc ChunkedArray is: 2. Vec< 3. ArrayRef>

The ArrayRef we indicated with 3. will be updated during iteration. The Series will be pinned in memory, saving an allocation for

  1. Arc<..>
  2. Vec<…>
Warning

Though memory safe in the sense that it will not read unowned memory, UB, or memory leaks this function still needs precautions. The returned should never be cloned or taken longer than a single iteration, as every call on next of the iterator will change the contents of that Series.

Apply a closure F elementwise.

Available on crate feature object only.

Get a hold to an object that can be formatted or downcasted via the Any trait.

Safety

No bounds checks

Available on crate feature object only.

Get a hold to an object that can be formatted or downcasted via the Any trait.

Available on crate feature random only.

Sample n datapoints from this ChunkedArray.

Available on crate feature random only.

Sample a fraction between 0.0-1.0 of this ChunkedArray.

Set the ‘sorted’ bit meta info.

Get the index of the first non null value in this ChunkedArray.

Get the index of the last non null value in this ChunkedArray.

Get the buffer of bits representing null values

Return if any the chunks in this [ChunkedArray] have a validity bitmap. no bitmap means no null values.

Shrink the capacity of this array to fit its length.

Series to ChunkedArray

Unique id representing the number of chunks

A reference to the chunks

A mutable reference to the chunks

Safety

The caller must ensure to not change the DataType or length of any of the chunks.

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

Count the null values.

Append arrow array in place.

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

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

Get a mask of the null values.

Get a mask of the valid values.

Get data type of ChunkedArray.

Name of the ChunkedArray.

Get a reference to the field.

Rename this ChunkedArray.

Contiguous slice

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

Get the inner data type of the list.

Apply lhs - self

Apply lhs / self

Apply lhs % self

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.