daru v0.1.1 Release Notes

Release Date: 2015-08-19 // over 8 years ago
    • ✨ Enhancements
      • Added a new class Daru::Offsets for providing a uniform API to jump between dates.
      • Added benchmarking scripts
      • Added a new Arel-like querying syntax for Vector and DataFrame. This will allow faster and more intuitive lookup of data than using loops such as filter.
      • Vector
        • #concat now compulsorily requires a second index argument.
        • Added new method #index= to change the index directly.
        • Added basic functions for rolling statistics - mean, std, count, etc.
        • Added cumulative sum function.
        • Added #keep_if.
        • Added #count_values.
      • Indexing
        • Changed Index so that it now accepts all sorts of data (not restricted to only Symbols as it was previously).
        • Re wrote MultiIndex in levels and labels form so that its faster and more accomodative of different kinds of index levels.
        • Changed .new to return appropriate index object based on data passed.
        • Added .from_tuple and .from_array methods to MultiIndex.
        • Added union and intersection behaviour to Index and MultiIndex.
        • Added a new index, DateTimeIndex for indexing with time-based data.
        • Optimized range search for Index.
      • DataFrame
        • Removed the DataFrameByVector class and the #vector function. Now only way to access a Vector in a DF is by using the #[] operator.
        • Added new method #index= and #vectors= for changing row and column indexes directly.
        • Optimized Vector value setting and retreival.
        • Added inner, outer, left outer and right outer joins with the #join method.
        • Added #set_index.
    • 🔄 Changes
      • Removed the + operator overload from Index and replaced in with union.
      • Removed the second 'values' argument from Daru::Index because it's redundant.
      • Changed behaviour of Vector#reindex and DataFrame#reindex and #reindex_vectors to preserve indexing of original data when possible.
    • 🛠 Fixes
      • Fixed DataFrame#delete_row and Vector#delete_if.
      • Fixed Vector#rename.