pub trait ChunkUnique<T: PolarsDataType> {
    fn unique(&self) -> PolarsResult<ChunkedArray<T>>;
    fn arg_unique(&self) -> PolarsResult<IdxCa>;

    fn n_unique(&self) -> PolarsResult<usize> { ... }
    fn is_unique(&self) -> PolarsResult<BooleanChunked> { ... }
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> { ... }
    fn mode(&self) -> PolarsResult<ChunkedArray<T>> { ... }
}
Expand description

Get unique values in a ChunkedArray

Required Methods§

Get unique values of a ChunkedArray

Get first index of the unique values in a ChunkedArray. This Vec is sorted.

Provided Methods§

Number of unique values in the ChunkedArray

Examples found in repository?
src/series/implementations/boolean.rs (line 282)
281
282
283
    fn n_unique(&self) -> PolarsResult<usize> {
        ChunkUnique::n_unique(&self.0)
    }
More examples
Hide additional examples
src/series/implementations/object.rs (line 193)
192
193
194
    fn n_unique(&self) -> PolarsResult<usize> {
        ChunkUnique::n_unique(&self.0)
    }
src/series/implementations/utf8.rs (line 268)
267
268
269
    fn n_unique(&self) -> PolarsResult<usize> {
        ChunkUnique::n_unique(&self.0)
    }
src/chunked_array/logical/categorical/ops/unique.rs (line 41)
37
38
39
40
41
42
43
    pub fn n_unique(&self) -> PolarsResult<usize> {
        if self.can_fast_unique() {
            Ok(self.get_rev_map().len())
        } else {
            self.logical().n_unique()
        }
    }

Get a mask of all the unique values.

Examples found in repository?
src/series/implementations/categorical.rs (line 335)
334
335
336
    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        self.0.logical().is_unique()
    }
More examples
Hide additional examples
src/series/implementations/boolean.rs (line 306)
305
306
307
    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_unique(&self.0)
    }
src/series/implementations/object.rs (line 209)
208
209
210
    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_unique(&self.0)
    }
src/series/implementations/utf8.rs (line 292)
291
292
293
    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_unique(&self.0)
    }
src/chunked_array/ops/unique/mod.rs (line 400)
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_small().is_unique()
    }
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_small().is_duplicated()
    }
}

impl ChunkUnique<Float64Type> for Float64Chunked {
    fn unique(&self) -> PolarsResult<ChunkedArray<Float64Type>> {
        let ca = self.bit_repr_large();
        let ca = ca.unique()?;
        Ok(ca._reinterpret_float())
    }

    fn arg_unique(&self) -> PolarsResult<IdxCa> {
        self.bit_repr_large().arg_unique()
    }

    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_large().is_unique()
    }

Get a mask of all the duplicated values.

Examples found in repository?
src/series/implementations/categorical.rs (line 339)
338
339
340
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        self.0.logical().is_duplicated()
    }
More examples
Hide additional examples
src/series/implementations/boolean.rs (line 310)
309
310
311
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_duplicated(&self.0)
    }
src/series/implementations/object.rs (line 213)
212
213
214
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_duplicated(&self.0)
    }
src/series/implementations/utf8.rs (line 296)
295
296
297
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        ChunkUnique::is_duplicated(&self.0)
    }
src/chunked_array/ops/unique/mod.rs (line 403)
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_small().is_duplicated()
    }
}

impl ChunkUnique<Float64Type> for Float64Chunked {
    fn unique(&self) -> PolarsResult<ChunkedArray<Float64Type>> {
        let ca = self.bit_repr_large();
        let ca = ca.unique()?;
        Ok(ca._reinterpret_float())
    }

    fn arg_unique(&self) -> PolarsResult<IdxCa> {
        self.bit_repr_large().arg_unique()
    }

    fn is_unique(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_large().is_unique()
    }
    fn is_duplicated(&self) -> PolarsResult<BooleanChunked> {
        self.bit_repr_large().is_duplicated()
    }
Available on crate feature mode only.

The most occurring value(s). Can return multiple Values

Examples found in repository?
src/series/implementations/boolean.rs (line 388)
387
388
389
    fn mode(&self) -> PolarsResult<Series> {
        Ok(self.0.mode()?.into_series())
    }
More examples
Hide additional examples
src/series/implementations/utf8.rs (line 347)
346
347
348
    fn mode(&self) -> PolarsResult<Series> {
        Ok(self.0.mode()?.into_series())
    }

Implementors§