Struct polars::series::Series[][src]

pub struct Series(pub Arc<dyn SeriesTrait + 'static>);
Expand description

Series

The columnar data type for a DataFrame.

Most of the available functions are definedin the SeriesTrait trait.

The Series struct consists of typed ChunkedArray’s. To quickly cast a Series to a ChunkedArray you can call the method with the name of the type:

let s: Series = [1, 2, 3].iter().collect();
// Quickly obtain the ChunkedArray wrapped by the Series.
let chunked_array = s.i32().unwrap();

Arithmetic

You can do standard arithmetic on series.

let s: Series = [1, 2, 3].iter().collect();
let out_add = &s + &s;
let out_sub = &s - &s;
let out_div = &s / &s;
let out_mul = &s * &s;

Or with series and numbers.

let s: Series = (1..3).collect();
let out_add_one = &s + 1;
let out_multiply = &s * 10;

// Could not overload left hand side operator.
let out_divide = 1.div(&s);
let out_add = 1.add(&s);
let out_subtract = 1.sub(&s);
let out_multiply = 1.mul(&s);

Comparison

You can obtain boolean mask by comparing series.

use itertools::Itertools;
let s = Series::new("dollars", &[1, 2, 3]);
let mask = s.eq(1);
let valid = [true, false, false].iter();
assert!(mask
    .into_iter()
    .map(|opt_bool| opt_bool.unwrap()) // option, because series can be null
    .zip(valid)
    .all(|(a, b)| a == *b))

See all the comparison operators in the CmpOps trait

Iterators

The Series variants contain differently typed ChunkedArray’s. These structs can be turned into iterators, making it possible to use any function/ closure you want on a Series.

These iterators return an Option<T> because the values of a series may be null.

use polars_core::prelude::*;
let pi = 3.14;
let s = Series::new("angle", [2f32 * pi, pi, 1.5 * pi].as_ref());
let s_cos: Series = s.f32()
                    .expect("series was not an f32 dtype")
                    .into_iter()
                    .map(|opt_angle| opt_angle.map(|angle| angle.cos()))
                    .collect();

Creation

Series can be create from different data structures. Below we’ll show a few ways we can create a Series object.

// Series van be created from Vec's, slices and arrays
Series::new("boolean series", &vec![true, false, true]);
Series::new("int series", &[1, 2, 3]);
// And can be nullable
Series::new("got nulls", &[Some(1), None, Some(2)]);

// Series can also be collected from iterators
let from_iter: Series = (0..10)
    .into_iter()
    .collect();

Implementations

Rename series.

Shrink the capacity of this array to fit it’s length.

Append arrow array of same datatype.

Append a Series of the same type in place.

Sort in place.

Rechunk and return a pointer to the start of the Series. Only implemented for numeric types

Cast to some primitive type.

Returns None if the array is empty or only contains null values.

let s = Series::new("days", [1, 2, 3].as_ref());
assert_eq!(s.sum(), Some(6));

Returns the minimum value in the array, according to the natural order. Returns an option because the array is nullable.

let s = Series::new("days", [1, 2, 3].as_ref());
assert_eq!(s.min(), Some(1));

Returns the maximum value in the array, according to the natural order. Returns an option because the array is nullable.

let s = Series::new("days", [1, 2, 3].as_ref());
assert_eq!(s.max(), Some(3));

Explode a list or utf8 Series. This expands every item to a new row..

Check if float value is NaN (note this is different than missing/ null)

Check if float value is NaN (note this is different than missing/ null)

Check if float value is finite

Check if float value is finite

Create a new ChunkedArray with values from self where the mask evaluates true and values from other where the mask evaluates false

Cast a datelike Series to their physical representation. Primitives remain unchanged

  • Date32 -> Int32
  • Date64 -> Int64
  • Time64 -> Int64
  • Duration -> Int64

Take by index if ChunkedArray contains a single chunk.

Safety

This doesn’t check any bounds. Null validity is checked.

Take by index. This operation is clone.

Safety

Out of bounds access doesn’t Error but will return a Null value

Filter by boolean mask. This operation clones data.

Round underlying floating point array to given decimal.

Check if series are equal. Note that None == None evaluates to false

Check if all values in series are equal where None == None evaluates to true.

Get a pointer to the underlying data of this Series. Can be useful for fast comparisons.

Methods from Deref<Target = dyn SeriesTrait + 'static>

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

Performs the conversion.

Aggregate the sum of the ChunkedArray. Returns None if the array is empty or only contains null values. Read more

Returns the maximum value in the array, according to the natural order. Returns None if the array is empty or only contains null values. Read more

Returns the mean value in the array. Returns None if the array is empty or only contains null values. Read more

Returns the mean value in the array. Returns None if the array is empty or only contains null values. Read more

Aggregate a given quantile of the ChunkedArray. Returns None if the array is empty or only contains null values. Read more

Apply a closure F elementwise.

Apply a closure elementwise. The closure gets the index of the element as first argument.

Apply a closure elementwise. The closure gets the index of the element as first argument.

Apply a closure elementwise and cast to a Numeric ChunkedArray. This is fastest when the null check branching is more expensive than the closure application. Read more

Apply a closure on optional values and cast to Numeric ChunkedArray without null values.

Apply a closure elementwise including null values.

Apply a closure elementwise and write results to a mutable slice.

Create a boolean mask by checking for equality.

Create a boolean mask by checking for inequality.

Create a boolean mask by checking if self > rhs.

Create a boolean mask by checking if self >= rhs.

Create a boolean mask by checking if self < rhs.

Create a boolean mask by checking if self <= rhs.

Check for equality and regard missing values as equal.

Check for equality and regard missing values as equal.

Check for equality.

Check for inequality.

Greater than comparison.

Greater than or equal comparison.

Less than comparison.

Less than or equal comparison

Check for equality and regard missing values as equal.

Check for equality.

Check for inequality.

Greater than comparison.

Greater than or equal comparison.

Less than comparison.

Less than or equal comparison

Replace None values with a give value T.

Create a ChunkedArray with a single value.

Compute the variance of this ChunkedArray/Series.

Compute the standard deviation of this ChunkedArray/Series.

Compute the variance of this ChunkedArray/Series.

Compute the standard deviation of this ChunkedArray/Series.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

The resulting type after dereferencing.

Dereferences the value.

Formats the value using the given formatter. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

let s: Series = [1, 2, 3].iter().collect();
let out = &s / &s;

The resulting type after applying the / operator.

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

Performs the conversion.

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Panics

Panics if Series have different lengths.

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Creates a value from an iterator. Read more

Literal expression.

The resulting type after applying the * operator.

Performs the * operation. Read more

let s: Series = [1, 2, 3].iter().collect();
let out = &s * &s;

The resulting type after applying the * operator.

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Initialize by name and values.

Checked integer division. Computes self / rhs, returning None if rhs == 0 or the division results in overflow.

The resulting type after applying the % operator.

Performs the % operation. Read more

The resulting type after applying the % operator.

Performs the % operation. Read more

let s: Series = [1, 2, 3].iter().collect();
let out = &s / &s;

The resulting type after applying the % operator.

The resulting type after applying the % operator.

Performs the % operation. Read more

The resulting type after applying the % operator.

Performs the % operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. 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.

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

Performs the conversion.

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. 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.