Calculer des centiles
Vous avez calculé la moyenne, le minimum et le maximum des montants de transaction d’échantillons de ventes de café. Trouvez maintenant la médiane, ainsi que les 25e et 75e centiles des montants de transaction, formatés avec deux décimales.
| 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 |
Les dépendances nécessaires, comme LocalDate, Arrays, List et DescriptiveStatistics, ont été importées pour vous.
Cet exercice fait partie du cours
<cours>Nettoyer des données en Java</cours>Instructions de l’exercice
- Calculez la médiane des montants de transaction (le 50e centile) des ventes de café.
- Calculez les 25e et 75e centiles des montants de transaction.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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.____(____));
}
}