Skip to content

Releases: Quantco/tabmat

tabmat 4.0.0

23 Apr 10:07
4e8f1d6
Compare
Choose a tag to compare

4.0.0 - 2024-04-23

Breaking changes:

  • To unify the API, :class:DenseMatrix does not inherit from :class:np.ndarray anymore. To convert a :class:DenseMatrix to a :class:np.ndarray, use :meth:DenseMatrix.unpack.
  • Similarly, :class:SparseMatrix does not inherit from :class:sps.csc_matrix anymore. To convert a :class:SparseMatrix to a :class:sps.csc_matrix, use :meth:SparseMatrix.unpack.

New features:

  • Added column name and term name metadata to :class:MatrixBase objects. These are automatically populated when initializing a :class:MatrixBase from a :class:pandas.DataFrame. In addition, they can be accessed and modified via the :attr:MatrixBase.column_names and :attr:MatrixBase.term_names properties.
  • Added a formula interface for creating tabmat matrices from pandas data frames. See :func:tabmat.from_formula for details.
  • Added support for missing values in :class:CategoricalMatrix by either creating a separate category for them or treating them as all-zero rows.
  • Added support for handling missing categorical values in pandas data frames.

Bug fix:

  • Added cython compiler directive legacy_implicit_noexcept = True to fix performance regression with cython 3.

Other changes:

  • Refactored the pre-commit hooks to use ruff.
  • Refactored :meth:CategoricalMatrix.transpose_matvec to be deterministic when using OpenMP.
  • Adjusted transformation to sparse format in :func:tabmat.from_pandas to future changes in pandas.

What's Changed

Full Changelog: 3.1.14...4.0.0

tabmat 3.1.14

28 Feb 22:12
4ac3dc3
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.13...3.1.14

tabmat 4.0.0a3

26 Jan 14:25
bd20e0d
Compare
Choose a tag to compare
tabmat 4.0.0a3 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 4.0.0a2...4.0.0a3

tabmat 3.1.13

17 Oct 10:07
991c055
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.12...3.1.13

tabmat 3.1.12

16 Oct 15:02
bf61132
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.11...3.1.12

tabmat 3.1.11

13 Oct 17:13
e65e4e0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.1.10...3.1.11

tabmat 4.0.0a2

29 Aug 01:48
ab53673
Compare
Choose a tag to compare
tabmat 4.0.0a2 Pre-release
Pre-release

What's Changed

Full Changelog: 4.0.0a1...4.0.0a2

tabmat 4.0.0a1

17 Aug 18:57
41ad4af
Compare
Choose a tag to compare
tabmat 4.0.0a1 Pre-release
Pre-release

What's Changed

Full Changelog: 3.1.10...4.0.0a1

tabmat 4.0.0a0

15 Aug 15:43
d3d3d82
Compare
Choose a tag to compare
tabmat 4.0.0a0 Pre-release
Pre-release

Note: this is the same as the 4.0.0.dev1 release.

What's Changed

  • Large refactoring. DenseMatrix and SparseMatrix do not inherit directly from numpy.ndarray and scipy.sparse.csc_matrix. Rather, they use the __array_ufunc__ interface. by @MartinStancsicsQC.
  • Improve the performance of from_pandas in the case of low-cardinality categoricals by @MartinStancsicsQC in #275
  • Add pickled benchmark data to .gitignore by @MartinStancsicsQC in #282
  • Use boa to build conda packages by @jtilly in #285

Full Changelog: 3.1.10...4.0.0.dev1

tabmat 3.1.10

23 Jun 15:56
d1ed819
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.9...3.1.10