Skip to content

Releases: hosseinmoein/DataFrame

June-2026

Choose a tag to compare

@hosseinmoein hosseinmoein released this 06 Jun 17:24

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

The following interfaces were made to work seamlessly with both scalar and multidimensional columns of data:

ConfIntervalVisitor, CoeffVariationVisitor, ChiSquaredTestVisitor, EntropyVisitor, ImpurityVisitor, SigmoidVisitor, PolicyLearningLossVisitor, LossFunctionVisitor, VectorSimilarityVisitor, SeasonalPeriodVisitor, DynamicTimeWarpVisitor, AnomalyDetectByFFTVisitor, AnomalyDetectByZScoreVisitor, AnomalyDetectByLOFVisitor, MutualInfoVisitor, HWESForecastVisitor, LSTMForecastVisitor, AnomalyDetectByKNNVisitor, EhlersHighPassFilterVisitor, EhlersBandPassFilterVisitor, ClipVisitor, AbsVisitor, ExpoSmootherVisitor, HWExpoSmootherVisitor, covariance_matrix, canon_corr, compact_svd, pca_by_eigen, fast_ica, knn, kshape_groups, MC_station_dist

Documentations and code samples were updated to reflect the new functionality.

Fixed an edge bug with ARIMAVisitor
Fixed a bug in fast_ica()
Fixed a bug in canon_corr()
Fixed a bug in MC_station_dist()
Added get_flatten() to Matrix class

April-2026

Choose a tag to compare

@hosseinmoein hosseinmoein released this 03 Apr 15:05

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

The following interfaces were made to work seamlessly with both scalar and multidimensional columns of data:

FastFourierTransVisitor, DotProdVisitor, AutoCorrVisitor, PartialAutoCorrVisitor, FixedAutoCorrVisitor, ZScoreVisitor, GeometricMeanVisitor, BoxCoxVisitor, ProbabilityDistVisitor, StandardizeVisitor, PolyFitVisitor, LogFitVisitor, PowerFitVisitor, QuadraticFitVisitor, LinearFitVisitor, CubicSplineFitVisitor, LowessVisitor, DecomposeVisitor, BiasVisitor, StationaryCheckVisitor

Documentations and code samples were updated to reflect the new functionality.

March-2026

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 Mar 14:25

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Many of visitor algorithms were generalized to work seamlessly with both scalar (i.e. columns of numbers) and multidimensional (i.e. columns of vectors or arrays) datasets, and many others are forthcoming. This justifies increasing the major version number.
Added more tests in general
Enhanced documentations
Implemented gen_join() function
Implemented ChiSquaredTestVisitor visitor
Implemented SHAPValuesVisitor visitor
Implemented get_matrix() with column names passed in
Implemented solve() function in matrix
Implemented ldlt() function in matrix
Added matrix/vector, vector/vector, array/array, … arithmetic operators to matrix source code
Implemented ARIMAVisitor visitor
Implemented LSTMForecastVisitor visitor
Enhanced interfaces by using C++20 requires.
Implemented kshape_groups() function
Made parallel_loop() aligned with cache line width hence improving multithreading performance significantly
Implemented count() function
Implemented class_count() function
Implemented AnomalyDetectByKNNVisitor visitor
Implemented BIRCHVisitor visitor
Implemented get_[data|view]_by_birch() function
Made clustering algorithms and many other statistical algos work seamlessly with multidimensional datasets.

Oct-2025

Choose a tag to compare

@hosseinmoein hosseinmoein released this 02 Oct 13:59

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Added collapsing menus to docs and improved content and visuals
Fixed an edge case (\r in strings) when reading csv2 files
Implemented sort_freq() function
Implemented writing data in pretty printing
Implemented writing data in markdown format
Implemented writing data in latex table format
Implemented writing data in html table format
Implemented load_random_sample() function
Implemented resample() function
Implemented DivideToBinsVisitor visitor
Implemented DivideToQuantilesVisitor visitor
Implemented the pipe() function
Implemented fl_valid_index() function
Implemented permutation_vec() function
Implemented get_data_every_n() function
Implemented get_n_largest_data() function
Implemented get_n_smallest_data() function
Implemented is_nan_mask() function
Implemented is_infinity_mask() function
Implemented is_defualt_mask() function
Implemented SkewVisitor visitor
Implemented KurtosisVisitor visitor
Added get_mean() to CovVisitor and a bunch of other visitors
Implemented CategoryVisitor visitor
Implemented CoeffVariationVisitor visitor
Added inclusiveness enum class and added it as a parameter to a bunch of slicing and other functions with ranges

August-2025

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 Aug 13:42

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Improved documentation by creating split windows
Added cheat-sheet to docs
Fixed some edge case bug in parallel sort
Implemented detect_and_fill()
Implemented detect_and_change()
Implemented KolmoSmirnovTestVisitor visitor
Implemented MannWhitneyUTestVisitor visitor
Implemented mask()
Added many more functionalities to the internal Matrix class
Implemented fast_ica()
Fixed the inconsistency in writing/reading DateTime columns to/from files
Added ability to read only selected columns from files
Implemented MutualInfoVisitor visitor
Added ability to specify a delimiter when writing/reading to/from csv files.
Implemented AndersonDarlingTestVisitor visitor
Implemented ShapiroWilkTestVisitor visitor
Implemented CramerVonMisesTestVisitor visitor
Implemented unpivot()
Implemented pivot()

April-2025

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 Apr 14:20
4fe5379

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Enhanced documentation
Implemented SpectralClusteringVisitor visitor
Enhanced ThreadPool parallel_loop()
Implemented get_[data|view]_by_spectral()
Implemented determinant() + a bunch of other stuff in Matrix
Implemented canon_corr()
Implemented MC_station_dist()
Implemented SeasonalPeriodVisitor visitor
Improved performance in reading files of different types
Changed read() signature to take a struct for its parameters -- backward incompatible change
Changed write() signature to take a struct for its parameters -- backward incompatible change
Implemented ability to read() csv2 files with user provided schema
Implemented knn()
Implemented DynamicTimeWarpVisitor visitor
Implemented AnomalyDetectByFFTVisitor visitor
Changed the interface of HampelFilterVisitor -- backward incompatible change
Implemented remove_data_by_fft()
Implemented AnomalyDetectByIQRVisitor visitor
Implemented AnomalyDetectByZScoreVisitor visitor
Implemented remove_data_by_iqr()
Implemented remove_data_by_zscore()
Implemented AnomalyDetectByLOFVisitor visitor
Ported to GCC14 compiler and fixed many edge-case bugs

Jan-2025

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 Jan 16:40

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Improved documentation and code quality
Fixed a bug in assign()
Implemented get_[data|view]_by_kmeans()
Changed interface and optimized code in AffinityPropVisitor (backward incompatible change)
Implemented get_[data|view]_by_affin()
Added option to HampelFilterVisitor to populate indices to datapoints affected
Implemented remove_data_by_hampel()
Implemented MeanShiftVisitor visitor
Implemented get_[data|view]_by_dbscan()
Impelmented get_[data|view]_by_mshift()
Improved performance in remove_duplicates()
Added FixedSizeString as one of the types that can be read/written from/to files
Added a stable_algo option to covariance and ... visitors to use a numerically stable algo instead of regular algo
Implemented a Matrix class to be used for internal calculations and analysis results
Implemented CrossCorrVisitor visitor
Optimized the implementation of AutoCorrVisitor
Implemented PartialAutoCorrVisitor visitor
Added max_lag parameter to AutoCorrVisitor
Implemented make_stationary()
Implemented StationaryCheckVisitor visitor
Implemented covariance_matrix()
Implemented pca_by_eigen()
Implemented compact_svd()

Oct-2024

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 Oct 13:59

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Improved documentation both visually and content-wise
Changed NLargestVisitor to take N as constructor parameter instead of template parameter (backward incompatible change)
Implemented get_top_n_[data|view]()
Implemented get_bottom_n_[data|view]()
Implemented get_above_quantile_[data|view]()
Implemented get_below_quantile_[data|view]()
Added period parameter to ReturnVisitor visitor
Implemented starts_with()
Implemented ends_with()
Implemented CumCountVisitor visitor
Implemented in_between()
Implemented peaks()
Implemented valleys()
Made reading/writing large files faster
Implemented apply()
Made replace() faster with better algorithm
Implemented truncate()
Implemented a version of load_column() with functor generating data
Implemented explode()
Implemented reading/writing std::pair columns from/to files
Added more sanity checks
Implemented difference()
Implemented get_[data|view]_at_times()
Implemented get_[data|view]_before_times()
Implemented get_[data|view]_after_times()
Implemented get_[data|view]_on_days()
Implemented get_[data|view]_in_months()
Implemented get_[data|view]_on_days_in_month()
Implemented get_[data|view]_between_times()
Implemented remove_top_n_data()
Implemented remove_bottom_n_data()
Implemented remove_above_quantile_data()
Implemented remove_below_quantile_data()
Implemented remove_data_by_stdev()
Implemented get_[data|view]_by_stdev()

July-2024

Choose a tag to compare

@hosseinmoein hosseinmoein released this 11 Jul 18:03

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Enhanced documentation and code clean ups
Converted DateTime doc to html
Implemented PeaksAndValleysVisitor visitor
Implemented EhlersHighPassFilterVisitor visitor
Implemented EhlersBandPassFilterVisitor visitor
Implemented reading/writing in binary format
Implemented reading binary data format in chunks
Implemented serialize() and deserialize()
Implemented reading/writing containers in binary format
Added optional time-zone to strings parsed by DateTime constructor
Implemented PowerFitVisitor visitor
Implemented QuadraticFitVisitor visitor
Implemented fill_policy::lagrange_interpolate
Implemented correlation_type::kendall_tau
Implemented change_freq()
Implemented duplication_mask()

May-2024

Choose a tag to compare

@hosseinmoein hosseinmoein released this 01 May 13:30

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Significantly enhanced documentations both content-wise and visually
Fixed a few edge-case bugs, including an edge-case in reading CSV2 format files
Factored out and cleaned code
Implemented inversion_count()
Implemented get_[data|view]_by_like()
Implemented remove_data_by_like()
Added char and uchar type to types read/written from/to files
Added ability to read/write columns of containers from/to files
remove_column() now requires a template parameter. It actually frees up the memory space now
Implemented clear()
Implemented swap()
Now using some of the std::ranges algorithms
Added scaler arithmetic DF operators
Added magnitude calculations to DotProdVisitor visitor
Added Euclidean distance calculations to DotProdVisitor visitor
Added Manhattan distance calculations to DotProdVisitor visitor
Implemented VectorSimilarityVisitor visitor
Replaced asserts in algos with exceptions and added a compile-time option for it (HMDF_SANITY_EXCEPTIONS)
Partially reengineered views so now you can use most of the API from views
Added sentinels to vector views iterators