การคำนวณเปอร์เซ็นไทล์
คำนวณค่าเฉลี่ย ค่าต่ำสุด และค่าสูงสุดของยอดธุรกรรมจากข้อมูลตัวอย่างยอดขายกาแฟไปแล้ว ต่อไปให้หาค่ามัธยฐาน เปอร์เซ็นไทล์ที่ 25 และเปอร์เซ็นไทล์ที่ 75 ของยอดธุรกรรม โดยแสดงผลทศนิยม 2 ตำแหน่ง
| date | coffee_name | payment_method | quantity | amount |
|---|---|---|---|---|
| 3/1/24 | Latte | cash | 1 | $6.26 |
| 3/5/24 | Hot Chocolate | card | 3 | $32.51 |
| 3/6/24 | Americano | card | 2 | $18.70 |
แพ็กเกจที่จำเป็น เช่น LocalDate, Arrays, List และ DescriptiveStatistics ได้รับการนำเข้าให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลใน Java
คำแนะนำการฝึกหัด
- คำนวณค่ามัธยฐานของยอดธุรกรรม หรือเปอร์เซ็นไทล์ที่ 50 ของยอดขายกาแฟ
- คำนวณเปอร์เซ็นไทล์ที่ 25 และเปอร์เซ็นไทล์ที่ 75 ของยอดธุรกรรม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class CoffeeSalesExample {
private record CoffeeSales(LocalDate date, String coffeeName,
String paymentMethod, int quantity, double amount) {
}
public static void main(String[] args) {
List sales = Arrays.asList(
new CoffeeSales(LocalDate.of(2024, 3, 1), "Latte", "cash", 1, 6.26),
new CoffeeSales(LocalDate.of(2024, 3, 5), "Hot Chocolate", "card", 3, 32.51),
new CoffeeSales(LocalDate.of(2024, 3, 6), "Americano", "card", 2, 18.70));
DescriptiveStatistics stats = new DescriptiveStatistics();
sales.forEach(sale -> stats.addValue(sale.amount()));
System.out.printf("\nSales analyzed: %d%n", sales.size());
System.out.printf("Average amount: $%.2f%n", stats.getMean());
System.out.printf("Amount range: $%.2f - $%.2f%n",
stats.getMin(), stats.getMax());
// Compute the median transaction amount
System.out.printf("Median amount: $%.2f%n", stats.____(____));
// Compute the 25th and 75th percentiles of the amounts
System.out.printf("Normal range: $%.2f - $%.2f%n",
stats.____(____), stats.____(____));
}
}