Skip to content

Releases: jtablesaw/tablesaw

v0.23.3

15 Jul 22:41
Compare
Choose a tag to compare
  • Added join convenience methods

v0.23.2

15 Jul 19:21
Compare
Choose a tag to compare
  • Added power function on NumberColumn
  • Javadoc now hosted on javadoc.io

v0.23.1

15 Jul 19:23
Compare
Choose a tag to compare
  • Additional rolling aggregates
  • Refined missing row handling in csv reader
  • Standardized set(Selection rowSelection, newValue) API across column types

v0.23.0

15 Jul 02:55
Compare
Choose a tag to compare
  • Removed filtering via QueryHelper. Filtering should be done directly via column now

v0.22.0

12 Jul 17:04
Compare
Choose a tag to compare
  • Added table.as()... functionality replacing table.asMatrix() and adding many new options
  • Added an option to CsvReaderOptions to provide a missing value string
  • Made Row constructor public
  • Upgraded dependencies

v0.21.0

10 Jul 05:39
Compare
Choose a tag to compare

Testing & Documentation

  1. Increased test coverage from 44% in core, to 76%.

Removed:

  1. Removed Float, Int, Short, Long column types. An enhanced DoubleColumn is used for all numbers.
  2. Removed TableGroup, SubTable, and NumericSummaryTable. All replaced by standard table or TableSlice and TableSliceGroup.
  3. Removed Smile integration
  4. Removed experimental time interval support
  5. Removed several index types
  6. Removed .saw file persistence
  7. Removed all deprecated methods
  8. Removed methods of limited or unclear utility
  9. Removed Lombok dependency (it caused warnings in Java9 and The IDEA plugin is flakey)
  10. Removed duplicate comparator implementations

Renamed:

  1. Renamed CategoryColumn to StringColumn
  2. Renamed NumericColumn interface to NumberColumn
  3. Renamed TemporaryView and ViewGroup to TableSlice and TableSliceGroup

Enhancements:

  1. Numerous bug fixes

  2. Added filler methods for each column.

  3. Added CsvWriteOptions to allow greater control over file writing

  4. Improved filtering support

    1. Implemented support for selecting specific columns, including calculated columns, in query result tables.

      table.select(dateCol, dateCol.year()).where(nCol("quantity").isPositive());
    2. Standardized naming on queries for tables and columns:

      Column c1 = col.where(col.isLessThan(4));
      Table  t1 = tab.where(col.isLessThan(4));
    3. Added several filtering methods to columns:

      Column c1 = col.inRange(int start, int end);
      Column c2 = col.rows(introws);
      Column c3 = col.sampleX(double proportion);
      Column c4 = col.sampleN(int nRows);

      Added support for using Java 8 predicates to filter columns

    4. Extended table filtering to support direct use of column filter methods (e.g. col.startsWith("foo")) in table where clauses

    5. Added And, Or, and Not filters to Table API so users don't need to use/know-about QueryHelper for most queries

    6. Added support for chaining "selections" so filters can be readily combined

      col.where(col.isLessThan(3).and(col.isGreaterThan(-2)));
  5. Improved join support

    1. Added support for left and right outer joins. For example:

      table.join("myJoinColumn").leftOuter(table2, "otherJoinColumn");
    2. Added support for joining on doubles (after rounding to ints)

  6. Reading and printing formatted data

    1. Added support for formatted printing of tables and columns (esp., number and time columns)

      dateColumn.setPrintFormatter(DateTimeFormatter.ofPattern("MMM~dd~yyyy"));
      doubleColumn.setPrintFormatter(NumberColumnFormatter.ints); 
    2. Added support for applying a locale for CSV file import

    3. Added support for applying DateTimeFormatters to read specific date/time formats from CSV files.

  7. Standardize column instantiation methods

    1. Always use a static create() method rather than public constructors
    2. Standardize support for instantiating from lists and arrays.
  8. Added support for lag(n) and lead(n) methods on all column types. These return the receivers data offset by n positions:

    Column xLag = columnX.lag(1);
    Column xLead = columnX.lead(1);
  9. Extended PackedLocalTime and PackedLocalDate to be (approximately) functionally equivalent to Java's LocalDate and LocalTime.

  10. Added initial support for JavaScript-based plotting using Plot.ly. See this page for more information.

  11. Improved Aggregation/Summarization

    1. Support for conditional summarization using summarizeIf(). The code below counts the number of strings in column that end with "3".

      double count = column.summarizeIf(column.endsWith("3"), count);
    2. Simplified the CrossTab API, and provided methods for creating CrossTabs (aka contingency tables) in table objects:

      table.xTabCounts("columnA", "columnB");
    3. Support for table summaries that include summaries of columns created on the fly using mapping functions:

      table.summarize(dateColumn.year(), max, min);
    4. Support for table summaries that include non-numeric columns. For example, the code below applies countTrue to the boolean column and standardDeviation to the numeric column.

      table.summarize(booleanColumn, numberColumn, countTrue, standardDeviation); 
    5. Support summarizing by "time windows" groups of n time units (days, weeks, years, etc).

      table.summarize("quantity", mean, median).by(date.timeWindow(DAYS, 5));
    6. Support summarizing by named time units (months, for example):

      table.summarize("quantity", mean, median).by(date.month());
    7. Both of the above are examples of a more general solution: Sub totals can per calculated for groups defined by any function that returns a column:

      table.summarize("quantity", sumOfSquares).by(strCol.substring(4, 7));

Version 0.7.2

07 Aug 14:40
Compare
Choose a tag to compare
Version 0.7.2 Pre-release
Pre-release

Aggregating changes and bug fixes for latest push to maven central. This release contains initial support for machine learning models, extensions to the visualization support, and numerous bug-fixes and minor enhancements to the data-frame capability.

Version 0.7.1.1

24 Jul 13:54
Compare
Choose a tag to compare
Version 0.7.1.1 Pre-release
Pre-release

New OpenCSV library added.
Incorporated difference methods for smarks.
A number of new methods added.
A (small) number of bug fixes,

Version 0.7.1

15 Jul 11:13
Compare
Choose a tag to compare
Version 0.7.1 Pre-release
Pre-release

Bug fixes for column#isEqualTo(a Value), and Columnar addition/subtraction.

Includes 0.7, with all changes prior to first release maven central.

Note that this is still considered as in-progress, rather than a production-stable release.

Version 0.6.6.1 Bugfix

11 Jul 17:04
Compare
Choose a tag to compare
Pre-release

Fixed build breakage due to pom dependency