Skip to content

Commit 267bc99

Browse files
committed
Starting work to bring splitting and aggregating up to Outlier levels of functionality
1 parent 2b35229 commit 267bc99

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

src/main/java/com/github/lwhite1/tablesaw/Table.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ public Table appendText(CategoryColumn sumColumn, CategoryColumn byColumn) {
540540
return resultTable;
541541
}
542542

543-
public Table sum(IntColumn sumColumn, String[] byColumnNames) {
543+
public Table sum(IntColumn sumColumn, String... byColumnNames) {
544544
TableGroup groupTable = new TableGroup(this, byColumnNames);
545545
Table resultTable = new Table(name + " summary");
546546

@@ -556,10 +556,15 @@ public Table sum(IntColumn sumColumn, String[] byColumnNames) {
556556
groupColumn.add(groupName);
557557
sumColumn1.add((int) sum);
558558
}
559-
560559
return resultTable;
561560
}
562561

562+
/*
563+
public Average average(String summarizedColumnName) {
564+
return new Average(this, summarizedColumnName);
565+
}
566+
*/
567+
563568
public CategoryColumn categoryColumn(String columnName) {
564569
return (CategoryColumn) column(columnName);
565570
}

src/test/java/com/github/lwhite1/tablesaw/examples/TornadoExample.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.github.lwhite1.tablesaw.Table;
44
import com.github.lwhite1.tablesaw.api.ColumnType;
55
import com.github.lwhite1.tablesaw.columns.CategoryColumn;
6+
import com.github.lwhite1.tablesaw.columns.IntColumn;
67
import com.github.lwhite1.tablesaw.io.CsvReader;
78
import com.github.lwhite1.tablesaw.io.CsvWriter;
89
import com.github.lwhite1.tablesaw.store.StorageManager;
@@ -78,6 +79,14 @@ public static void main(String[] args) throws Exception {
7879
out("Calculating basic descriptive statistics on Fatalities");
7980
out(fatal.intColumn("Fatalities").stats().asTable("").print());
8081

82+
83+
//TODO(lwhite): Provide a param for title of the new table (or auto-generate a better one).
84+
IntColumn injuries = tornadoes.intColumn("Injuries");
85+
Table sumInjuriesByScale = tornadoes.sum(injuries, "Scale");
86+
sumInjuriesByScale.setName("Total injuries by Tornado Scale");
87+
out(sumInjuriesByScale.print());
88+
89+
8190
out();
8291
out("Writing the revised table to a new csv file");
8392
CsvWriter.write("data/rev_tornadoes_1950-2014.csv", tornadoes);

0 commit comments

Comments
 (0)