Struct polars::series::Series [−][src]
pub struct Series(pub Arc<dyn SeriesTrait + 'static>);
Series
The columnar data type for a DataFrame. The Series enum 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
impl Series
[src]
impl Series
[src]pub fn rename(&mut self, name: &str) -> &mut Series
[src]
Rename series.
pub fn append_array(
&mut self,
other: Arc<dyn Array + 'static>
) -> Result<&mut Series, PolarsError>
[src]
&mut self,
other: Arc<dyn Array + 'static>
) -> Result<&mut Series, PolarsError>
Append arrow array of same datatype.
pub fn append(&mut self, other: &Series) -> Result<&mut Series, PolarsError>
[src]
Append a Series of the same type in place.
pub fn sort_in_place(&mut self, reverse: bool) -> &mut Series
[src]
Sort in place.
pub fn as_single_ptr(&mut self) -> Result<usize, PolarsError>
[src]
Rechunk and return a pointer to the start of the Series. Only implemented for numeric types
pub fn cast<N>(&self) -> Result<Series, PolarsError> where
N: PolarsDataType,
[src]
N: PolarsDataType,
Cast to some primitive type.
pub fn sum<T>(&self) -> Option<T> where
T: NumCast,
[src]
T: NumCast,
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));
pub fn min<T>(&self) -> Option<T> where
T: NumCast,
[src]
T: NumCast,
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));
pub fn max<T>(&self) -> Option<T> where
T: NumCast,
[src]
T: NumCast,
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));
pub fn explode(&self) -> Result<Series, PolarsError>
[src]
Explode a list or utf8 Series. This expands every item to a new row..
pub fn is_nan(&self) -> Result<ChunkedArray<BooleanType>, PolarsError>
[src]
Check if float value is NaN (note this is different than missing/ null)
pub fn is_not_nan(&self) -> Result<ChunkedArray<BooleanType>, PolarsError>
[src]
Check if float value is NaN (note this is different than missing/ null)
pub fn is_finite(&self) -> Result<ChunkedArray<BooleanType>, PolarsError>
[src]
Check if float value is finite
pub fn is_infinite(&self) -> Result<ChunkedArray<BooleanType>, PolarsError>
[src]
Check if float value is finite
pub fn zip_with(
&self,
mask: &ChunkedArray<BooleanType>,
other: &Series
) -> Result<Series, PolarsError>
[src]
&self,
mask: &ChunkedArray<BooleanType>,
other: &Series
) -> Result<Series, PolarsError>
Create a new ChunkedArray with values from self where the mask evaluates true
and values
from other
where the mask evaluates false
pub fn is_in(
&self,
list_array: &ChunkedArray<ListType>
) -> Result<ChunkedArray<BooleanType>, PolarsError>
[src]
&self,
list_array: &ChunkedArray<ListType>
) -> Result<ChunkedArray<BooleanType>, PolarsError>
Check if values of this array are in the Series of the list array.
pub fn to_physical_repr(&self) -> Series
[src]
Cast a datelike Series to their physical representation. Primitives remain unchanged
- Date32 -> Int32
- Date64 -> Int64
- Time64 -> Int64
- Duration -> Int64
impl Series
[src]
impl Series
[src]pub fn series_equal(&self, other: &Series) -> bool
[src]
Check if series are equal. Note that None == None
evaluates to false
pub fn series_equal_missing(&self, other: &Series) -> bool
[src]
Check if all values in series are equal where None == None
evaluates to true
.
pub fn get_data_ptr(&self) -> usize
[src]
Get a pointer to the underlying data of this Series. Can be useful for fast comparisons.
impl Series
[src]
impl Series
[src]pub fn vec_hash_id(&self) -> ChunkedArray<UInt64Type>
[src]
Methods from Deref<Target = dyn SeriesTrait + 'static>
pub fn unpack<N>(&self) -> Result<&ChunkedArray<N>, PolarsError> where
N: 'static + PolarsDataType,
[src]
N: 'static + PolarsDataType,
Trait Implementations
impl<'a> AsRef<dyn SeriesTrait + 'a> for Series
[src]
impl<'a> AsRef<dyn SeriesTrait + 'a> for Series
[src]pub fn as_ref(&self) -> &(dyn SeriesTrait + 'a)
[src]
impl ChunkAgg<Series> for ChunkedArray<ListType>
[src]
impl ChunkAgg<Series> for ChunkedArray<ListType>
[src]impl<'a> ChunkApply<'a, Series, Series> for ChunkedArray<ListType>
[src]
impl<'a> ChunkApply<'a, Series, Series> for ChunkedArray<ListType>
[src]pub fn apply_cast_numeric<F, S>(&self, f: F) -> ChunkedArray<S> where
F: Fn(Series) -> <S as ArrowPrimitiveType>::Native + Copy,
S: PolarsNumericType,
[src]
F: Fn(Series) -> <S as ArrowPrimitiveType>::Native + Copy,
S: PolarsNumericType,
pub fn branch_apply_cast_numeric_no_null<F, S>(&self, f: F) -> ChunkedArray<S> where
F: Fn(Option<Series>) -> <S as ArrowPrimitiveType>::Native + Copy,
S: PolarsNumericType,
[src]
F: Fn(Option<Series>) -> <S as ArrowPrimitiveType>::Native + Copy,
S: PolarsNumericType,
pub fn apply<F>(&'a self, f: F) -> ChunkedArray<ListType> where
F: Fn(Series) -> Series + Copy,
[src]
F: Fn(Series) -> Series + Copy,
Apply a closure F
elementwise.
pub fn apply_with_idx<F>(&'a self, f: F) -> ChunkedArray<ListType> where
F: Fn((usize, Series)) -> Series + Copy,
[src]
F: Fn((usize, Series)) -> Series + Copy,
Apply a closure elementwise. The closure gets the index of the element as first argument.
pub fn apply_with_idx_on_opt<F>(&'a self, f: F) -> ChunkedArray<ListType> where
F: Fn((usize, Option<Series>)) -> Option<Series> + Copy,
[src]
F: Fn((usize, Option<Series>)) -> Option<Series> + Copy,
Apply a closure elementwise. The closure gets the index of the element as first argument.
impl<'_> ChunkCompare<&'_ Series> for Series
[src]
impl<'_> ChunkCompare<&'_ Series> for Series
[src]pub fn eq_missing(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
pub fn eq(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking for equality.
pub fn neq(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking for inequality.
pub fn gt(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking if lhs > rhs.
pub fn gt_eq(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking if lhs >= rhs.
pub fn lt(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking if lhs < rhs.
pub fn lt_eq(&self, rhs: &Series) -> ChunkedArray<BooleanType>
[src]
Create a boolean mask by checking if lhs <= rhs.
impl<'_> ChunkCompare<&'_ str> for Series
[src]
impl<'_> ChunkCompare<&'_ str> for Series
[src]pub fn eq_missing(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn eq(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn neq(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn gt(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn gt_eq(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn lt(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
pub fn lt_eq(&self, rhs: &str) -> ChunkedArray<BooleanType>
[src]
impl<Rhs> ChunkCompare<Rhs> for Series where
Rhs: NumComp,
[src]
impl<Rhs> ChunkCompare<Rhs> for Series where
Rhs: NumComp,
[src]pub fn eq_missing(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn eq(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn neq(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn gt(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn gt_eq(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn lt(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
pub fn lt_eq(&self, rhs: Rhs) -> ChunkedArray<BooleanType>
[src]
impl<'_> ChunkFillNoneValue<&'_ Series> for ChunkedArray<ListType>
[src]
impl<'_> ChunkFillNoneValue<&'_ Series> for ChunkedArray<ListType>
[src]pub fn fill_none_with_value(
&self,
_value: &Series
) -> Result<ChunkedArray<ListType>, PolarsError>
[src]
&self,
_value: &Series
) -> Result<ChunkedArray<ListType>, PolarsError>
impl<'_> ChunkFull<&'_ Series> for ChunkedArray<ListType>
[src]
impl<'_> ChunkFull<&'_ Series> for ChunkedArray<ListType>
[src]impl<T> ChunkVar<Series> for ChunkedArray<ObjectType<T>>
[src]
impl<T> ChunkVar<Series> for ChunkedArray<ObjectType<T>>
[src]impl ChunkVar<Series> for ChunkedArray<ListType>
[src]
impl ChunkVar<Series> for ChunkedArray<ListType>
[src]impl<T> From<ChunkedArray<T>> for Series where
T: PolarsDataType,
ChunkedArray<T>: IntoSeries,
[src]
impl<T> From<ChunkedArray<T>> for Series where
T: PolarsDataType,
ChunkedArray<T>: IntoSeries,
[src]pub fn from(ca: ChunkedArray<T>) -> Series
[src]
impl<'a> FromIterator<&'a bool> for Series
[src]
impl<'a> FromIterator<&'a bool> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a bool>,
[src]
I: IntoIterator<Item = &'a bool>,
impl<'a> FromIterator<&'a f32> for Series
[src]
impl<'a> FromIterator<&'a f32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a f32>,
[src]
I: IntoIterator<Item = &'a f32>,
impl<'a> FromIterator<&'a f64> for Series
[src]
impl<'a> FromIterator<&'a f64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a f64>,
[src]
I: IntoIterator<Item = &'a f64>,
impl<'a> FromIterator<&'a i16> for Series
[src]
impl<'a> FromIterator<&'a i16> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a i16>,
[src]
I: IntoIterator<Item = &'a i16>,
impl<'a> FromIterator<&'a i32> for Series
[src]
impl<'a> FromIterator<&'a i32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a i32>,
[src]
I: IntoIterator<Item = &'a i32>,
impl<'a> FromIterator<&'a i64> for Series
[src]
impl<'a> FromIterator<&'a i64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a i64>,
[src]
I: IntoIterator<Item = &'a i64>,
impl<'a> FromIterator<&'a i8> for Series
[src]
impl<'a> FromIterator<&'a i8> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a i8>,
[src]
I: IntoIterator<Item = &'a i8>,
impl<'a> FromIterator<&'a str> for Series
[src]
impl<'a> FromIterator<&'a str> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a str>,
[src]
I: IntoIterator<Item = &'a str>,
impl<'a> FromIterator<&'a u16> for Series
[src]
impl<'a> FromIterator<&'a u16> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a u16>,
[src]
I: IntoIterator<Item = &'a u16>,
impl<'a> FromIterator<&'a u32> for Series
[src]
impl<'a> FromIterator<&'a u32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a u32>,
[src]
I: IntoIterator<Item = &'a u32>,
impl<'a> FromIterator<&'a u64> for Series
[src]
impl<'a> FromIterator<&'a u64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a u64>,
[src]
I: IntoIterator<Item = &'a u64>,
impl<'a> FromIterator<&'a u8> for Series
[src]
impl<'a> FromIterator<&'a u8> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = &'a u8>,
[src]
I: IntoIterator<Item = &'a u8>,
impl FromIterator<Option<bool>> for Series
[src]
impl FromIterator<Option<bool>> for Series
[src]impl FromIterator<Option<f32>> for Series
[src]
impl FromIterator<Option<f32>> for Series
[src]impl FromIterator<Option<f64>> for Series
[src]
impl FromIterator<Option<f64>> for Series
[src]impl FromIterator<Option<i16>> for Series
[src]
impl FromIterator<Option<i16>> for Series
[src]impl FromIterator<Option<i32>> for Series
[src]
impl FromIterator<Option<i32>> for Series
[src]impl FromIterator<Option<i64>> for Series
[src]
impl FromIterator<Option<i64>> for Series
[src]impl FromIterator<Option<i8>> for Series
[src]
impl FromIterator<Option<i8>> for Series
[src]impl FromIterator<Option<u16>> for Series
[src]
impl FromIterator<Option<u16>> for Series
[src]impl FromIterator<Option<u32>> for Series
[src]
impl FromIterator<Option<u32>> for Series
[src]impl FromIterator<Option<u64>> for Series
[src]
impl FromIterator<Option<u64>> for Series
[src]impl FromIterator<Option<u8>> for Series
[src]
impl FromIterator<Option<u8>> for Series
[src]impl FromIterator<Series> for DataFrame
[src]
impl FromIterator<Series> for DataFrame
[src]impl FromIterator<bool> for Series
[src]
impl FromIterator<bool> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = bool>,
[src]
I: IntoIterator<Item = bool>,
impl FromIterator<f32> for Series
[src]
impl FromIterator<f32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = f32>,
[src]
I: IntoIterator<Item = f32>,
impl FromIterator<f64> for Series
[src]
impl FromIterator<f64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = f64>,
[src]
I: IntoIterator<Item = f64>,
impl FromIterator<i16> for Series
[src]
impl FromIterator<i16> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = i16>,
[src]
I: IntoIterator<Item = i16>,
impl FromIterator<i32> for Series
[src]
impl FromIterator<i32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = i32>,
[src]
I: IntoIterator<Item = i32>,
impl FromIterator<i64> for Series
[src]
impl FromIterator<i64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = i64>,
[src]
I: IntoIterator<Item = i64>,
impl FromIterator<i8> for Series
[src]
impl FromIterator<i8> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = i8>,
[src]
I: IntoIterator<Item = i8>,
impl FromIterator<u16> for Series
[src]
impl FromIterator<u16> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = u16>,
[src]
I: IntoIterator<Item = u16>,
impl FromIterator<u32> for Series
[src]
impl FromIterator<u32> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = u32>,
[src]
I: IntoIterator<Item = u32>,
impl FromIterator<u64> for Series
[src]
impl FromIterator<u64> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = u64>,
[src]
I: IntoIterator<Item = u64>,
impl FromIterator<u8> for Series
[src]
impl FromIterator<u8> for Series
[src]pub fn from_iter<I>(iter: I) -> Series where
I: IntoIterator<Item = u8>,
[src]
I: IntoIterator<Item = u8>,
impl IntoSeries for Series
[src]
impl IntoSeries for Series
[src]pub fn into_series(self) -> Series
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Series
impl !RefUnwindSafe for Series
impl !UnwindSafe for Series
impl !UnwindSafe for Series
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,