pub enum DataType {
Show 27 variants
Boolean,
UInt8,
UInt16,
UInt32,
UInt64,
Int8,
Int16,
Int32,
Int64,
Float32,
Float64,
Decimal(Option<usize>, Option<usize>),
String,
Binary,
BinaryOffset,
Date,
Datetime(TimeUnit, Option<PlSmallStr>),
Duration(TimeUnit),
Time,
Array(Box<DataType>, usize),
List(Box<DataType>),
Object(&'static str, Option<Arc<ObjectRegistry>>),
Null,
Categorical(Option<Arc<RevMapping>>, CategoricalOrdering),
Enum(Option<Arc<RevMapping>>, CategoricalOrdering),
Struct(Vec<Field>),
Unknown(UnknownKind),
}
Variants§
Boolean
UInt8
UInt16
UInt32
UInt64
Int8
Int16
Int32
Int64
Float32
Float64
Decimal(Option<usize>, Option<usize>)
dtype-decimal
only.Fixed point decimal type optional precision and non-negative scale. This is backed by a signed 128-bit integer which allows for up to 38 significant digits. Meaning max precision is 38.
String
String data
Binary
BinaryOffset
Date
A 32-bit date representing the elapsed time since UNIX epoch (1970-01-01) in days (32 bits).
Datetime(TimeUnit, Option<PlSmallStr>)
A 64-bit date representing the elapsed time since UNIX epoch (1970-01-01) in the given timeunit (64 bits).
Duration(TimeUnit)
Time
A 64-bit time representing the elapsed time since midnight in nanoseconds
Array(Box<DataType>, usize)
dtype-array
only.A nested list with a fixed size in each row
List(Box<DataType>)
A nested list with a variable size in each row
Object(&'static str, Option<Arc<ObjectRegistry>>)
object
only.A generic type that can be used in a Series
&’static str can be used to determine/set inner type
Null
Categorical(Option<Arc<RevMapping>>, CategoricalOrdering)
dtype-categorical
only.Enum(Option<Arc<RevMapping>>, CategoricalOrdering)
dtype-categorical
only.Struct(Vec<Field>)
dtype-struct
only.Unknown(UnknownKind)
Implementations§
Source§impl DataType
impl DataType
pub fn value_within_range(&self, other: AnyValue<'_>) -> bool
Sourcepub fn materialize_unknown(&self) -> Result<DataType, PolarsError>
pub fn materialize_unknown(&self) -> Result<DataType, PolarsError>
Materialize this datatype if it is unknown. All other datatypes are left unchanged.
Sourcepub fn get_shape(&self) -> Option<Vec<usize>>
Available on crate feature dtype-array
only.
pub fn get_shape(&self) -> Option<Vec<usize>>
dtype-array
only.Get the full shape of a multidimensional array.
Sourcepub fn inner_dtype(&self) -> Option<&DataType>
pub fn inner_dtype(&self) -> Option<&DataType>
Get the inner data type of a nested type.
Sourcepub fn leaf_dtype(&self) -> &DataType
pub fn leaf_dtype(&self) -> &DataType
Get the absolute inner data type of a nested type.
Sourcepub fn array_leaf_dtype(&self) -> Option<&DataType>
Available on crate feature dtype-array
only.
pub fn array_leaf_dtype(&self) -> Option<&DataType>
dtype-array
only.Get the inner data type of a multidimensional array.
Sourcepub fn cast_leaf(&self, to: DataType) -> DataType
pub fn cast_leaf(&self, to: DataType) -> DataType
Cast the leaf types of Lists/Arrays and keep the nesting.
pub fn implode(self) -> DataType
Sourcepub fn to_physical(&self) -> DataType
pub fn to_physical(&self) -> DataType
Convert to the physical data type
pub fn is_supported_list_arithmetic_input(&self) -> bool
Sourcepub fn is_logical(&self) -> bool
pub fn is_logical(&self) -> bool
Check if this DataType
is a logical type
Sourcepub fn is_temporal(&self) -> bool
pub fn is_temporal(&self) -> bool
Check if this DataType
is a temporal type
Sourcepub fn is_primitive(&self) -> bool
pub fn is_primitive(&self) -> bool
Check if datatype is a primitive type. By that we mean that it is not a container type.
Sourcepub fn is_numeric(&self) -> bool
pub fn is_numeric(&self) -> bool
Check if this DataType
is a basic numeric type (excludes Decimal).
pub fn is_nested(&self) -> bool
pub fn is_binary(&self) -> bool
pub fn is_date(&self) -> bool
pub fn is_object(&self) -> bool
pub fn is_null(&self) -> bool
pub fn contains_views(&self) -> bool
pub fn contains_categoricals(&self) -> bool
pub fn contains_objects(&self) -> bool
Sourcepub fn is_decimal(&self) -> bool
pub fn is_decimal(&self) -> bool
Check if this DataType
is a Decimal type (of any scale/precision).
Sourcepub fn is_float(&self) -> bool
pub fn is_float(&self) -> bool
Check if this DataType
is a basic floating point type (excludes Decimal).
Sourcepub fn is_integer(&self) -> bool
pub fn is_integer(&self) -> bool
Check if this DataType
is an integer.
pub fn is_signed_integer(&self) -> bool
pub fn is_unsigned_integer(&self) -> bool
pub fn is_string(&self) -> bool
pub fn is_categorical(&self) -> bool
pub fn is_enum(&self) -> bool
Sourcepub fn to_arrow_field(
&self,
name: PlSmallStr,
compat_level: CompatLevel,
) -> Field
pub fn to_arrow_field( &self, name: PlSmallStr, compat_level: CompatLevel, ) -> Field
Convert to an Arrow Field
Sourcepub fn max(&self) -> Result<Scalar, PolarsError>
pub fn max(&self) -> Result<Scalar, PolarsError>
Try to get the maximum value for this datatype.
Sourcepub fn min(&self) -> Result<Scalar, PolarsError>
pub fn min(&self) -> Result<Scalar, PolarsError>
Try to get the minimum value for this datatype.
Sourcepub fn to_arrow(&self, compat_level: CompatLevel) -> ArrowDataType
pub fn to_arrow(&self, compat_level: CompatLevel) -> ArrowDataType
Convert to an Arrow data type.
pub fn try_to_arrow( &self, compat_level: CompatLevel, ) -> Result<ArrowDataType, PolarsError>
pub fn is_nested_null(&self) -> bool
pub fn matches_schema_type( &self, schema_type: &DataType, ) -> Result<bool, PolarsError>
Trait Implementations§
Source§impl<'a> Deserialize<'a> for DataType
impl<'a> Deserialize<'a> for DataType
Source§fn deserialize<D>(
deserializer: D,
) -> Result<DataType, <D as Deserializer<'a>>::Error>where
D: Deserializer<'a>,
fn deserialize<D>(
deserializer: D,
) -> Result<DataType, <D as Deserializer<'a>>::Error>where
D: Deserializer<'a>,
Source§impl From<&ArrowDataType> for DataType
impl From<&ArrowDataType> for DataType
Source§fn from(dt: &ArrowDataType) -> DataType
fn from(dt: &ArrowDataType) -> DataType
Source§impl PartialEq<ArrowDataType> for DataType
impl PartialEq<ArrowDataType> for DataType
Source§impl Serialize for DataType
impl Serialize for DataType
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Eq for DataType
Auto Trait Implementations§
impl Freeze for DataType
impl !RefUnwindSafe for DataType
impl Send for DataType
impl Sync for DataType
impl Unpin for DataType
impl !UnwindSafe for DataType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string()
] Read more§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString
]. Read more