There is a newer version of the record available.

Published July 31, 2025 | Version v1.0.0
Software Open

JuliaData/CategoricalArrays.jl: v1.0.0

  • 1. Franch Institute for Demographic Studies (Ined)
  • 2. @seerbio
  • 3. SGH Warsaw School of Economics
  • 4. Freq
  • 5. @PumasAI
  • 6. University of Vienna
  • 7. LocusBio
  • 8. Meta
  • 9. Beacon Biosignals
  • 10. Washington University in St. Louis
  • 11. University of Copenhagen
  • 12. Universität zu Köln
  • 13. ASML
  • 14. SecondSpectrum
  • 15. Arpeggeo®
  • 16. @us-bea

Description

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)

Files

JuliaData/CategoricalArrays.jl-v1.0.0.zip

Files (147.4 kB)

Name Size Download all
md5:e99238050c5892111fb062f8fc1cc23f
147.4 kB Preview Download

Additional details

Related works