Java でのデータインポート
Anthony Markham
VP Quant Developer
.selectColumns() は新しい Table オブジェクトを作成// 列名で選択
Table nameAndSalary = employees.selectColumns("Name", "Salary");
// 列の型で選択
Table numericColumns = employees.selectColumns(
column -> column.type().equals(ColumnType.DOUBLE) ||
column.type().equals(ColumnType.INTEGER));
.where() で行をフィルタリングTable オブジェクトを返す// 単一条件でフィルタリング
Table seniors = employees.where(
employees.intColumn("Age").isGreaterThanOrEqualTo(65));
// 複数条件でフィルタリング
Table targetGroup = employees.where(
employees.intColumn("Age").isBetweenInclusive(30, 50)
.and(employees.doubleColumn("Salary")
.isGreaterThan(75000)));
.sortOn() でデータを整列.sortDescendingOn() で降順ソート// 単一列で昇順ソート
Table sortedBySalary = employees.sortOn("Salary");
// 複数列でカスタムソート
Table complexSort = employees
.sortOn("Department")
.sortDescendingOn("Salary");
.summarize() で要約統計を計算import tech.tablesaw.aggregate.AggregateFunctions.*;
// 給与を集計
Table deptSummary = employees.summarize("Salary", mean, count, max).apply();
| Mean [Salary] | Count [Salary] | Max [Salary] |
|---|---|---|
| 113606.20299999935 | 1000 | 199793 |
// 複数の集計
Table complexSummary = employees.summarize(
"Salary", "Age",
mean, median, min, max).apply();
| Mean [Salary] | Median [Salary] | Min [Salary] | Max [Salary] | Mean [Age] | Median [Age] | Min [Age] | Max [Age] |
|---|---|---|---|---|---|---|---|
| 113606.2029 | 112667 | 30301 | 199793 | 45.6699 | 46 | 22 | 70 |
.select() - 特定の列を選択Table selected = employees.select("Name", "Salary");
.where() - 条件による行のフィルタリングTable filtered = employees.where(condition);
.sortOn() - 列によるデータの並び替えTable sorted = employees.sortOn("Department", "Salary");
.summarize() - 統計の計算Table summary = employees.summarize("Salary", mean, max).apply();
Java でのデータインポート