Download Latest Version v1.0.1 source code.tar.gz (132.2 kB)
Email in envelope

Get an email when there's a new version of CategoricalArrays.jl

Home / v1.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-07-31 4.8 kB
v1.0.0 source code.tar.gz 2025-07-31 131.8 kB
v1.0.0 source code.zip 2025-07-31 147.4 kB
Totals: 3 Items   284.0 kB 0

CategoricalArrays v1.0.0

Diff since v0.10.8

Breaking changes

  • unique(::CategoricalArray) and levels(::CategoricalArray) return a CategoricalArray instead of unwrapping values, consistent with unique(::AbstractArray) in Base and levels(::AbstractArray) in DataAPI (#358, #425).

  • cut always closes the last interval on the right (#409).

  • cut(x, breaks) rounds breaks to generate shorter labels (#422).

  • cut(x, ngroups) takes breaks from actual values instead of using quantile estimates which are generally longer (#416). This only changes group labels, not their contents.

  • T(::CategoricalArray{U}) and convert(T, ::CategoricalArray{U}) now consistently return an Array{U} for T in Array, Vector, Matrix. This avoids creating Array{<:CategoricalValue} objects unless explicitly requested (#420).

  • All deprecations have been removed (#419).

New features

  • Support reading from and writing to Arrow files (#415).

  • Improve performance of recode (#407).

  • Support weighted quantiles in cut (#423).

Bug fixes

  • Fix performance regression on Julia 1.11 and above (#418).

  • Fix cut corner cases with duplicated breaks (#410).

Merged pull requests: - fix unique() behaviour, add unique!() (#358) (@alyst) - make recode! type stable (#407) (@tiemvanderdeure) - remove JET runtime dispatch error (#408) (@matthijscox-asml) - Make cut close last interval on the right (#409) (@nalimilan) - Fix corner cases of cut with duplicated breaks (#410) (@nalimilan) - CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#411) (@github-actions[bot]) - Bump julia-actions/setup-julia from 1 to 2 (#413) (@dependabot[bot]) - Bump actions/cache from 2 to 4 (#414) (@dependabot[bot]) - Support reading from and writing to Arrow files (#415) (@nalimilan) - Choose different quantile cutpoints in cut(x, n) (#416) (@nalimilan) - Fix allocations by dropping CategoricalPool type parameter (#418) (@nalimilan) - Remove deprecations (#419) (@nalimilan) - Add Array constructors and convert methods (#420) (@nalimilan) - Simplify default cut labels (#422) (@nalimilan) - Support weighted quantiles in cut (#423) (@nalimilan) - Fix CI (#424) (@andreasnoack) - Make levels return a CategoricalArray (#425) (@nalimilan) - Release version 1.0 (#426) (@nalimilan)

Closed issues: - Fix showcompact() (#40) - Move CategoricalValue and CategoricalPool into separate package (#64) - Implement optimized == and isequal() for arrays with different pools (#82) - == for CategoricalPool (#108) - Implement deleteat! method (#115) - Adding levels to ordered categorical array (#141) - cut combined with labels and extend throws ArgumentError (#160) - missing append!(::CategoricalArray, ::SubArray{<:CategoricalArray}) (#170) - maximum/minimum over dimension fails (#178) - Extreme slowdown in IndexedTable creation with CategoricalArrays (#272) - Missing CategoricalArray{String}(::SentinelArrays.ChainedVector, ::CategoricalPool) (#285) - Add Vector conversion (#294) - Can't precompile on Julia v1.5.2 (#304) - another take at cut (#314) - How to check if an array contains categorical values? (#332) - CategoricalArray creation (#333) - Plotting categorical values as colors (#351) - unique() returns levels, not the CategoricalArray (#357) - How to compare to value? (#363) - Make last interval closed in cut (#373) - Compact printing in cut (#381) - Strange cut for imbalanced distributions (#382) - Add promotion rules for CategoricalArrays and views of CategoricalArrays (#386) - Consider adding RecipesBase as a direct dependency (#388) - Make levels return a CategoricalArray (#390) - ordered vs ordinal (#398) - Define value(x) alternative to DataAPI.unwrap(x) (#399) - docstring/repl issue in package development (#403) - CategoricalValue allocates on julia 1.11 (#412) - Request to become an active maintainer (#417)

Source: README.md, updated 2025-07-31