Releases: JuliaData/CategoricalArrays.jl
v1.0.1
CategoricalArrays v1.0.1
Fix Array{<:CategoricalValue}
constructors and convert
to return an Array
rather than a CategoricalArray
.
Merged pull requests:
- Fix
Array{<:CategoricalValue}
constructors andconvert
(#427) (@nalimilan)
v1.0.0
CategoricalArrays v1.0.0
Breaking changes
-
unique(::CategoricalArray)
andlevels(::CategoricalArray)
return aCategoricalArray
instead of unwrapping values, consistent withunique(::AbstractArray)
in Base andlevels(::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})
andconvert(T, ::CategoricalArray{U})
now consistently return anArray{U}
forT
inArray
,Vector
,Matrix
. This avoids creatingArray{<: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 andconvert
methods (#420) (@nalimilan) - Simplify default
cut
labels (#422) (@nalimilan) - Support weighted quantiles in
cut
(#423) (@nalimilan) - Fix CI (#424) (@andreasnoack)
- Make
levels
return aCategoricalArray
(#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
CategoricalArray
s and views ofCategoricalArray
s (#386) - Consider adding RecipesBase as a direct dependency (#388)
- Make
levels
return aCategoricalArray
(#390) ordered
vsordinal
(#398)- Define
value(x)
alternative toDataAPI.unwrap(x)
(#399) - docstring/repl issue in package development (#403)
CategoricalValue
allocates on julia 1.11 (#412)- Request to become an active maintainer (#417)
v0.10.8
CategoricalArrays v0.10.8
Closed issues:
- Crash when calling cut function (#289)
Merged pull requests:
- move requires usage to extension (#400) (@KristofferC)
v0.10.7
CategoricalArrays v0.10.7
Closed issues:
- Error with constructor after Tables 1.8 (#395)
Merged pull requests:
- Implement
skipmissing
argument tolevels
(#391) (@nalimilan) - Drop redundant
convert(Union{T, Missing/Nothing}, x)
methods (#396) (@nalimilan)
v0.10.6
CategoricalArrays v0.10.6
Closed issues:
- Problem with unstack from DataFrames.jl on CategoricalVector (#380)
Merged pull requests:
v0.10.5
v0.10.4
CategoricalArrays v0.10.4
Closed issues:
- Conversion issue on nightly (#383)
Merged pull requests:
- Implement promotion rules for
CategoricalArray
(#384) (@nalimilan) - Fix tests on Julia 1.9 nightlies (#385) (@nalimilan)
v0.10.3
CategoricalArrays v0.10.3
Closed issues:
- Rename
get
for categorical values? (#142) - add future to require (#149)
- add insert! support (#375)
cut
: option to havemissing
as level (#377)- Can't precompile on Windows (#379)
Merged pull requests:
- add insert! (#376) (@bkamins)
- Document how to turn missing values into normal values (#378) (@nalimilan)
v0.10.2
CategoricalArrays v0.10.2
Closed issues:
- Prettier IO methods for CategoricalValue (#370)
Merged pull requests:
- Support any
AbstractVector
s inlevels!
andCategoricalPool
(#365) (@nalimilan) - Do not print type information when
:compact=>true
(#371) (@nalimilan) - Improve
cut
docstring (#372) (@nalimilan)
v0.10.1
CategoricalArrays v0.10.1
Closed issues:
- recode can be too slow (#343)
- Request to implement
refcode
in a 0.9.* patch. (#347) - Add sizehint! (#350)
- GitHub release notes for 0.10.0 appear to be missing (#356)
- Trouble with
categorical(v)
whenv
is aSentinelArrays.ChainedVector
(#361)
Merged pull requests:
- Optimize recode for the large number of categories when the categories to be recoded are specified as arrays (#345) (@pgagarinov)
- Add
refcode
, deprecatelevel
(#348) (@nalimilan) - add sizehint! (#353) (@bkamins)
- droplevels!(): more efficient implementation (#359) (@alyst)
- levels!(): enhance performance (#360) (@alyst)
- Fix type in error message (#366) (@nalimilan)
- Fix doctests and make checks stricter (#367) (@nalimilan)
- Fix ambiguity error on construction from
ChainedVector
(#369) (@nalimilan)