Skip to content

Tags: JuliaData/CategoricalArrays.jl

Tags

v1.0.1

Toggle v1.0.1's commit message
[Diff since v1.0.0](v1.0.0...v1.0.1)

Fix `Array{<:CategoricalValue}` constructors and `convert` to return an `Array` rather than a `CategoricalArray`.

**Merged pull requests:**
- Fix `Array{<:CategoricalValue}` constructors and `convert` (#427) (@nalimilan)

v1.0.0

Toggle v1.0.0's commit message
[Diff since v0.10.8](v0.10.8...v1.0.0)

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

* `cut` always closes the last interval on the right ([#409](#409)).

* `cut(x, breaks)` rounds breaks to generate shorter labels ([#422](#422)).

* `cut(x, ngroups)` takes breaks from actual values instead of using quantile estimates which are generally longer ([#416](#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](#420)).

* All deprecations have been removed
  ([#419](#419)).

* Support reading from and writing to Arrow files ([#415](#415)).

* Improve performance of `recode` ([#407](#407)).

* Support weighted quantiles in `cut` ([#423](#423)).

* Fix performance regression on Julia 1.11 and above ([#418](#418)).

* Fix `cut` corner cases with duplicated breaks ([#410](#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 `CategoricalArray`s and views of `CategoricalArray`s (#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)

v0.10.8

Toggle v0.10.8's commit message
[Diff since v0.10.7](v0.10.7...v0.10.8)

**Closed issues:**
- Crash when calling cut function (#289)

**Merged pull requests:**
- move requires usage to extension (#400) (@KristofferC)

v0.10.7

Toggle v0.10.7's commit message
[Diff since v0.10.6](v0.10.6...v0.10.7)

**Closed issues:**
- Error with constructor after Tables 1.8 (#395)

**Merged pull requests:**
- Implement `skipmissing` argument to `levels` (#391) (@nalimilan)
- Drop redundant `convert(Union{T, Missing/Nothing}, x)` methods (#396) (@nalimilan)

v0.10.6

Toggle v0.10.6's commit message
[Diff since v0.10.5](v0.10.5...v0.10.6)

**Closed issues:**
- Problem with unstack from DataFrames.jl on CategoricalVector (#380)

**Merged pull requests:**
- Allow strings and numbers as labels in cut (#393) (@skleinbo)

v0.10.5

Toggle v0.10.5's commit message
[Diff since v0.10.4](v0.10.4...v0.10.5)

**Merged pull requests:**
- Improve array promotion rules (#387) (@nalimilan)

v0.10.4

Toggle v0.10.4's commit message
[Diff since v0.10.3](v0.10.3...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

Toggle v0.10.3's commit message
[Diff since v0.10.2](v0.10.2...v0.10.3)

**Closed issues:**
- Rename `get` for categorical values? (#142)
- add future to require (#149)
- add insert! support (#375)
- `cut`: option to have `missing` 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

Toggle v0.10.2's commit message
## CategoricalArrays v0.10.2

[Diff since v0.10.1](v0.10.1...v0.10.2)


**Closed issues:**
- Prettier IO methods for CategoricalValue (#370)

**Merged pull requests:**
- Support any `AbstractVector`s in `levels!` and `CategoricalPool` (#365) (@nalimilan)
- Do not print type information when `:compact=>true` (#371) (@nalimilan)
- Improve `cut` docstring (#372) (@nalimilan)

v0.10.1

Toggle v0.10.1's commit message
## CategoricalArrays v0.10.1

[Diff since v0.10.0](v0.10.0...v0.10.1)


**Closed issues:**
- Custom organization logo? (#349)
- Nasty interaction with Pluto (#325)
- 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)` when `v` is a `SentinelArrays.ChainedVector` (#361)
- Adding a function for releveling factor levels (#368)

**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`, deprecate `level` (#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)