データの操作と分析

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));
Java でのデータインポート

データのフィルタリング

  • .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)));
Java でのデータインポート

データの並び替え

  • .sortOn() でデータを整列
    • 昇順でソート
  • 新しいソート済みテーブルを返す
  • .sortDescendingOn() で降順ソート
// 単一列で昇順ソート
Table sortedBySalary = employees.sortOn("Salary");
// 複数列でカスタムソート
Table complexSort = employees
    .sortOn("Department") 
    .sortDescendingOn("Salary");
Java でのデータインポート

summarize による集計

  • .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
  • デフォルトで全数値列に適用
Java でのデータインポート

summarize による集計

  • より複雑な集計も可能
// 複数の集計
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
Java でのデータインポート

主要な操作メソッド

  • .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 でのデータインポート

さあ、練習しましょう!

Java でのデータインポート

Preparing Video For Download...