All Versions
Latest Version
Avg Release Cycle
184 days
Latest Release
759 days ago

Changelog History
Page 1

  • v0.3 Changes

    May 30, 2020
    • Major Enhacements
      • Remove official support for Ruby < 2.5.1. Now we only test with 2.5.1 and 2.7.1. (@v0dro)
      • Make nmatrix and gsl optional dependencies for testing. (@v0dro)
      • Update sqlite, activerecord, nokogiri, packable, rake dependencies. (@v0dro)
      • Remove runtime dependency on backports. (@v0dro)
      • Add Daru::Vector#match and Daru::Vector#apply_where methods (@athityakumar).
      • Add support for options to the Daru module. Adds a separate module Daru::Configuration that can hold data for overall configuration of daru's execution. (@kojix2)
    • Minor Enhancements
      • Add new DataFrame#insert_vector method. (@cyrillefr)
      • Add Vector#last. (@kojix2)
      • Add DataFrame#rename_vectors!. (@neumanrq)
      • Refactor GroupBy#apply_method. (@paisible-wanderer)
      • Auto-adjust header parameters when printing to terminal. (@ncs1)
      • Infer offsets of timeseries automatically when they are a natural number multiple of seconds. (@jpaulgs)
  • v0.2.2 Changes

    August 08, 2019

    ๐Ÿ› Bug fixes :

  • v0.2.1 Changes

    July 02, 2018

    Minor Enhancements

    • Allow pasing singular Symbol to CSV converters option (@takkanm)
    • Support calling GroupBy#each_group w/o blocks (@hibariya)
    • Refactor grouping and aggregation (@paisible-wanderer)
    • Add String Converter to Daru::IO::CSV::CONVERTERS (@takkanm)
    • Fix annoying missing libraries warning

    - Remove post-install message (nice yet useless)

    ๐Ÿ›  Fixes

    • Fix group_by for DataFrame with single row (@baarkerlounger)
    • #rolling_fillna! bugfixes on Daru::Vector and Daru::DataFrame (@mhammiche)
    • Fixes #include? on multiindex (@rohitner)
  • v0.2.0 Changes

    October 31, 2017

    ๐Ÿš€ We are currently working hard on a proper version 1.0 release, with daru-io integration, full codebase cleanup and a lot of cool things.

    In the meantime, here is 0.2.0!

    Major Enhancements

    - Add DataFrame#uniq (@baarkerlounger)

    Minor Enhancements

    • Allow Vector#count to be called without param for category type Vector (@rainchen)
    • Add option to DataFrame#vector_sum to skip nils (@parthm)
    • Add installation instructions to (@koishimasato)
    • Add release policy documentation (@baarkerlounger)

    - Set index as DataFrame's default x axis for nyaplot (@matugm)

    ๐Ÿ›  Fixes

    • Fix DataFrame/Vector#to_s when name is a symbol (@baarkerlounger)
    • Force Vector#proportions to return float (@rainchen)
    • DataFrame#new creates empty DataFrame when given empty hash (@parthm)
    • Remove unnecessary backports dependencies (@zverok)
    • Specify minimum packable dependency (@zverok)
    • Preserve key/column order when creating DataFrame from hash (@baarkerlounger)
    • Fix DataFrame#add_row for DF with multi-index (@zverok)
    • Fix Vector#min,#max,#index_of_min,#index_of_max` (0.1.6 regression) (@athityakumar)
    • Integrate yard-junk into CI (@rohitner)
    • Remove Travis spec restriction (@zverok)
    • Fix tuple sorting for DataFrames with nils (@baarkerlounger)
    • Fix merge on index dropping default index (@rohitner)
  • v0.1.6 Changes

    August 04, 2017

    ๐Ÿš€ Here's the full changelog of this release (all thanks to @baarkerlounger for the hard work!):

    Major Enhancements

    • Add support for reading HTML tables into DataFrames (@athityakumar)
    • Add support for importing remote CSVs (@athityakumar, @anshuman23)
    • Allow named indexes (@Shekharrajak)
    • DataFrame GroupBy returns MultiIndex DataFrame (@Shekharrajak)
    • Add new functions to Vector: max, min, index_of_max, index_of_min, max_by, min_by, index_of_max_by, index_of_min_by (@athityakumar)
    • Add summary to DataFrame and Vector without reportbuilder (@ananyo2012)

    - Add support for missing data for where clause (@athityakumar)

    Minor Enhancements

    • Allow inserting or updating DataFrame vectors with single values (@baarkerlounger)
    • Add a boolean converter to the CSV importer (@baarkerlounger)
    • Fix documentation of replace_values method (@kojix2)
    • Improve HTML table code of DataFrame and Vector (@Shekharrajak )
    • Support CSV files with empty rows (@baarkerlounger)
    • Better DataFrame and Vector to_s methods (@baarkerlounger)
    • Add support for histogram to Vector moving average convergence-divergence (@parthm)
    • Add support for negative arguments to Vector.lag (@parthm)
    • Return Nyaplot instance instead of nil for Nyaplot Vector, Category and DataFrame (@Shekharrajak)
    • Add global configurable error stream which allows error stream to be silenced (@sivagollapalli)
    • Rubocop update and cleanup (@zverok)
    • Improve performance of DataFrame covariance (@genya0407)
    • Index [] to only take index value as argument (@ananyo2012)
    • Better error raised when Vector is missing from DataFrame (@sivagollapalli)
    • Add default order for DataFrame (@athityakumar)
    • Add is_values to Index (@Shekharrajak)
    • Improve spec style in IO/SQL data source spec (@dshvimer)
    • Open SQLite databases by bath (@dshvimer)
    • Remove unnecessary whitespace (@Shekharrajak)
    • Remove the .svg from Travis CI build link (@athityakumar)
    • Fix Travis CI icon in README (@athityakumar)
    • Replace is_nil?, not_nil? with is_values (@lokeshh)

    - Update contributing documentation (@v0dro)

    ๐Ÿ›  Fixes

    • Fix missing axis labels for categorized scatter plot with Gruff (@xprazak2)
    • Fix NMatrix Vector initialization when Vector has nils and no nm_type is given (@baarkerlounger)
    • Fix head/tail methods on DataFrames with DateTime indexes and on Vector_at splat calls (@baarkerlounger)
    • Fix empty DateTime Index (@zverok)
    • Fix where clause when data contains missing/undefined values (@Shekharrajak)
    • Fix apply_scalar_operator spec (@athityakumar)
    • Change nil check to respond_to operator check for apply_scalar_operator (@athityakumar)
    • Make where compatible with is_values (@athityakumar)
    • Fix vector is_values method (@athityakumar)
  • v0.1.5 Changes

    January 30, 2017

    ๐Ÿš€ This release introduces the following changes:

    • Major Enhancements
      • Add Daru::Vector#group_by (@lokeshh).
      • Add rspec-guard to run tests automatically (@lokeshh).
      • Remove Daru::DataFrame implicit Hash method since Dataframes are not implicit hashes and having an implicit converter can introduce unwanted side effects. (@gnilrets)
      • Add Daru::DataFrame#union. (Tim)
    • Minor Enhancements
      • Added a join indicator. (@gnilrets)
      • Support an enumerable value as an index of a vector. (Yuichiro Kaneko)
      • Add test case for NegativeDateOffset. (Yuichiro Kaneko)
      • Add test case for #on_offset?. (Yuichiro Kaneko)
      • NegativeDateOffset#- returns DateOffset. (Yuichiro Kaneko)
      • Make Vector#resort_index private because its only use was for internal usage in Vector#sort. (Yuichiro Kaneko)
      • Add DataFrame#order= method to reorder vectors in a dataframe. (@lokeshh)
      • Use Integer instead of Fixnum throughout the gem. (Yuichiro Kaneko)
      • Improve error message of Daru::Vector#index=. (@lokeshh)
      • Deprecate freqs and make frequencies return a Daru::Vector. (@lokeshh)
      • DataFrame#access_row with integer index. (Yusuke Sangenya)
      • Add method alias for comparison operator. (Yusuke Sangenya)
      • Update Nokogiri version. (Yusuke Sangenya)
      • Return Daru::Vector for multiple modal values for Daru::Vector#mode. (baarkerlounger)
    • ๐Ÿ›  Fixes
      • Fix many to one joins. The prior version was shifting values in the left dataframe before checking whether values in the right dataframe should be shifted. They both need to be checked at the same time before shifting either. (@gnilrets)
      • Support formatting empty dataframes. They were returning an error before. (@gnilrets)
      • method_missing in Daru::DataFrame would not detect the correct vector if it was a String. Fixed that. (@lokeshh)
      • Fix docs of contrast_code to specify that the default value is false. (@v0dro)
      • Fix occurence of SystemStackError due to faulty arguement passing to Array#values_at. (@v0dro)
      • Fix DataFrame#pivot_table regression that raised an ArgumentError if the :index option was not specified. (@zverok)
      • Fix DateFrame.rows to accept empty argument. (@zverok)
      • Fix bug with false values on dataframe create. DataFrame from an Array of hashes wasn't being created properly when some of the values were false. (@gnilrets)
      • Fix Vector#reorder! method. (Yusuke Sangenya)
      • Fix DataFrame#group_by for numeric indexes. (@zverok)
      • Make DataFrame#index= accept only Daru::Index. (Yusuke Sangenya)
      • DataFrame#vectors= now changes the name of vectors contained in the internal @data variable. (Yusuke Sangenya)
  • v0.1.4 Changes

    August 19, 2016

    0.1.4 (19 August 2016)

    • Major Enhancements
      • Added new dependency 'backports' to support #to_h in Ruby 2.0. (@lokeshh)
      • Greatly improve code test coverage. (@zverok)
      • Greatly refactor code and make some methods faster, smaller and more readable. (@zverok)
      • Add support for categorical data with different coding schemes and several methods for in built categorical data support. Add a new index 'Daru::CategoricalIndex'. (@lokeshh)
      • Removed runtime dependencies on 'spreadsheet' and 'reportbuilder'. They are now loaded if the libraries are already present in the system. (@v0dro)
    • Minor enhancements
      • Update SqlDataSource to improve the performance of DataFrame.from_sql. (@dansbits)
      • Remove default DataFrame name. Now DataFrames will no name by default. (@zverok)
      • Better looking #inspect for Vector and DataFrame. (@zverok)
      • Better looking #to_html for Vector and DataFrame. Also better #to_html for MultiIndex. (@zverok)
      • Remove monkey patching on Array and add those methods to Daru::ArrayHelper. (@zverok)
      • Add a rake task for running RSpec for every Ruby version with a single command. (@lokeshh)
      • Add rake tasks for easily setting up and testing test harness. (@lokeshh)
      • Added Daru::Vector#to_nmatrix.
      • Remove the 'metadata' feature introduced in v0.1.3. (@gnilrets)
      • Added DataFrame#to_df and Vector#to_df. (@gnilrets)
    • ๐Ÿ›  Fixes
      • DataFrame#clone preserves order and name. (@wlevine)
      • Vector#where preserves name. (@v0dro)
      • Fix bug in DataFrame#pivot_table that prevented anything other than Array or Symbol to be specified in the :values option. (@v0dro)
      • Daru::Index#each returns an Enumerator if block is not specified. (@v0dro)
      • Fixes bug where joins failed when nils were in join keys. (@gnilrets)
      • DataFrame#merge now preserves the vector name type when merging. (@lokeshh)
    • ๐Ÿ—„ Deprecations
      • Remove methods DataFrame#vector and DataFrame#column. (@zverok)
      • Remove the missing_values feature of daru. The only values that are now treated as 'missing' are nil and Float::NAN. (@lokeshh)
  • v0.1.4.1 Changes

    August 20, 2016
    • ๐Ÿ›  Fixes
      • Turns out that removing the dependencies did not load a few libraries from the Ruby standard library when daru is deployed on a fresh system. This release fixes that by adding extra require calls.
  • v0.1.3 Changes

    May 01, 2016
    • โœจ Enhancements
      • Proper error handling for case where an index specified by the user is not actually present in the DataFrame/Vector (@lokeshh).
      • DataFrame CSV writer function will now supress headers when passing headers: false (@gnilrets).
      • Refactor Index and MultiIndex so that a Vector or DataFrame can access the actual index number without having to check the exact type of index every time (@lokeshh).
      • Refactor Vector#[]= to not use conditionals (@lokeshh).
      • Custom #dup method for Daru::DateTimeIndex (@Deepakkoli93).
      • Massive performance boost to Vector and DataFrame sorting by using in-built Array#sort and removing previous hand-made sort (@lokeshh).
      • Handle nils in sorting for Vectors and DataFrame (@lokeshh, @gnilrets).
      • Add #describe function for Vectors (@shahsaurabh0605).
      • Adds support for concatenating dataframes that don't share all the same vectors (@gnilrets).
      • Massive performance enhancement for joins using the sorted merge method (@gnilrets).
      • New statistics methods and tests for DataFrame (@shahsaurabh0605).
      • Add explicit conversion to hash for DataFrame (DataFrame#to_h, Vector#to_h) and remove implicit conversion to hash (DataFrame#to_hash, Vector#to_hash) (@gnilrets).
      • Add DataFrame#rename_vectors for simplifying renaming of vectors in DataFrame (@gnilrets).
      • MultiIndex raises error on accessing an invalid index (@shreyanshd).
      • Order columns as given in the CSV file when reading into a DataFrame from CSV using DataFrame.from_csv (@lokeshh).
      • Add Vector#percent_change and DataFrame#percent_change (@shahsaurabh0605).
      • Faster DataFrame#filter_rows (@lokeshh).
      • Added Vector#emv for calculating exponential moving variance of Vector (@shahsaurabh0605).
      • Add support for associating metadata with a Vector or DataFrame using the :metadata option (@gnilrets).
      • Add Vector#emsd for calculating exponential moving standard deviation of Vector (@shahsaurabh0605).
      • Sample and population covariance functions for Vector (@shahsaurabh0605).
      • Improve DataFrame#dup performance (@gnilrets).
      • Add Daru::DataFrame::Core::GroupBy#reduce for reducing groups by passing a block (@gnilrets).
      • Add rubocop as development dependency and make changes suggested by it to conform to the Ruby Style Guide (@zverok).
      • Allow Daru::Index to be initialized by a Range (@lokeshh).
    • ๐Ÿ›  Fixes
      • Fix conflict with narray that caused namespace clashes with nmatrix in case both narray and nmatrix were installed on the user's system (@lokeshh).
      • Fix bug with dataframe concatenation that caused modifying the arrays that compose the vectors in the original dataframes (@gnilrets).
      • Fix an error where the Vectors in an empty DataFrame would not be assigned correct names (@lokeshh).
      • Correct spelling mistakes and fix broken links in README (@lokeshh).
      • Fix bug in Vector#mode (@sunshineyyy).
      • Fix Vector#index_of method to handle dtype :array differently (@lokeshh).
      • Fix DateTimeIndex#include? method since it was raising an exception when index not found. It returns false now (@Phitherek).
      • Handle nils in group_by keys (@gnilrets).
      • Handle nils for statistics methods in Vector and DataFrame for :array and :gsl data (@lokeshh).
      • Fix DataFrame#clone when no arguments have been passed to it (@lokeshh).
      • Fix bug when joining empty dataframes (@gnilrets).
  • v0.1.3.1 Changes

    May 12, 2016
    • ๐Ÿ›  Fixes
      • Fixed small error with usage of newly introduced #each_with_object (@v0dro).