รูปแบบการแปลงข้อมูล

การนำเข้าข้อมูลใน Java

Anthony Markham

VP Quant Developer

ฟังก์ชัน Map

  • แปลงค่าแต่ละองค์ประกอบในคอลัมน์
DoubleColumn celsius = DoubleColumn.create("Celsius", 0, 10, 20, 30);

DoubleColumn fahrenheit = celsius.map(c -> c * 9.0/5.0 + 32); table.addColumns(fahrenheit.setName("Fahrenheit"));
Celsius Fahrenheit
0.0 32.0
10.0 50.0
20.0 68.0
30.0 86.0
การนำเข้าข้อมูลใน Java

ฟังก์ชัน Reduce

  • รวมค่าทั้งหมดในคอลัมน์ให้เป็นผลลัพธ์เดียว
  • ใช้รูปแบบ accumulator (เช่น sum, max หรือ logic กำหนดเอง)
  • เหมาะสำหรับการดำเนินการทางสถิติและการวิเคราะห์
// Find the total sales
double totalSales = table.doubleColumn("Sales").reduce(0, Double::sum);
250000
// Find the maximum
double largeSales = table.doubleColumn("Sales").reduce(0, (acc, x) -> acc + (x > 5000 ? 1 : 0));
68
การนำเข้าข้อมูลใน Java

การวนซ้ำแถวด้วย forEach

  • วนซ้ำผ่านแต่ละแถวในตาราง
DoubleColumn difference = DoubleColumn.create("Difference");
table.forEach(row -> {
    double celsius = row.getDouble("Celsius");
    double fahrenheit = row.getDouble("Fahrenheit");
    difference.append(fahrenheit - celsius);
});

table.addColumns(difference);
Celsius Fahrenheit Difference
0.0 32.0 32.0
10.0 50.0 40.0
20.0 68.0 48.0
การนำเข้าข้อมูลใน Java

Pipeline การแปลงข้อมูล

  • เชื่อมต่อหลายการดำเนินการเข้าด้วยกัน
  • เพิ่มความอ่านง่ายและดูแลรักษาโค้ดได้ง่ายขึ้น ✅
  • ประมวลผลข้อมูลได้อย่างมีประสิทธิภาพ ✅
Table result = originalTable
    .where(numberColumn("Age").isGreaterThan(18)) // Filter on Age > 18

.addColumns( numberColumn("Income").map(i -> i * 1.1).setName("AdjustedIncome") );
// Calculate average income double avgIncome = result.doubleColumn("AdjustedIncome") .reduce(0.0, Double::sum) / result.rowCount();
การนำเข้าข้อมูลใน Java

สรุป

  • map() - ใช้ฟังก์ชันแปลงค่าในคอลัมน์
  • forEach() - วนซ้ำแถวเพื่อเข้าถึงหลายคอลัมน์
  • reduce() - รวมและสรุปข้อมูลให้เป็นค่าเดียว

ภาพแสดงฟังก์ชันการแปลงข้อมูล 3 ประเภท

การนำเข้าข้อมูลใน Java

มาฝึกกันเถอะ!

การนำเข้าข้อมูลใน Java

Preparing Video For Download...