데이터 조작과 분석

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...