Aralık doğrulaması

Java'da Veri Temizleme

Dennis Lee

Software Engineer

Çikolata satış veri kümesi

  • Bölüm boyunca bir çikolata satış veri kümesi ile çalışacağız
  • Doğrulamayı göstermek için tutar ve tarih gibi bazı sütunları değiştireceğiz

 

Satış temsilcisi Ülke Ürün Tarih Tutar Gönderilen Koli
James Rudeforth UK Nane Parçalı Çiko 4-Jan-22 $5,320 180
Van Tuxwell Hindistan %85 Bitter Bar 1-Aug-22 $7,896 94
Gigi Bohling Hindistan Fıstık Ezmesi Küpleri 7-Jul-22 $4,501 91
Jan Morforth Avustralya Fıstık Ezmesi Küpleri 27-Apr-22 $12,726 342
Jehu Fischer UK Fıstık Ezmesi Küpleri 24-Feb-22 $13,685 184
Java'da Veri Temizleme

Neden aralık doğrulaması gerekir

// Bu satış tutarlarını ve tarihlerini veri kümemizden çıkardık
List<Double> salesAmounts = Arrays.asList(5320.0, 7896.0, 4501.0,
                                          12726.0, 13685.0);
List<String> saleDates = Arrays.asList("4-Jan-22", "1-Aug-22", "7-Jul-22", 
                                       "27-Apr-22", "24-Feb-22");

System.out.println("Sales amounts: " + salesAmounts);
System.out.println("Sale dates: " + saleDates);
Sales amounts: [5320.0, 7896.0, 4501.0, 12726.0, 13685.0]
Sale dates: [4-Jan-22, 1-Aug-22, 7-Jul-22, 27-Apr-22, 24-Feb-22]
Java'da Veri Temizleme

Aralık sınırlarını bulma

// En düşük satış tutarını alın
Double minSale = Collections.min(salesAmounts);
// En yüksek satış tutarını alın
Double maxSale = Collections.max(salesAmounts);

System.out.println("Aralık: $" + minSale + " - $" + maxSale);
Aralık: $4501.0 - $13685.0
Java'da Veri Temizleme

Geçerli aralık belirleme

// Satış tutarı 0.0'dan küçük olmamalıdır
Double lowerThreshold = 0.0;
// Satış tutarı 15000.0'dan büyük olmamalıdır
Double upperThreshold = 15000.0;

for (Double amount : salesAmounts) { // Her tutarın aralığa düştüğünü kontrol edin if (amount >= lowerThreshold && amount <= upperThreshold) { System.out.println(amount + " aralıkta"); } }
Java'da Veri Temizleme

Geçerli aralık: çıktılar

5320.0 aralıkta
7896.0 aralıkta
4501.0 aralıkta
12726.0 aralıkta
13685.0 aralıkta
Java'da Veri Temizleme

Aralık kategorilerini tanımlama

import org.apache.commons.lang3.Range;
// Düşük satış kategorisi: $0 - $5000
Range<Double> lowSales = Range.between(0.0, 5000.0);
// Orta satış kategorisi: $5000 - $10000
Range<Double> mediumSales = Range.between(5000.0, 10000.0);
// Yüksek satış kategorisi: $10000 - $15000
Range<Double> highSales = Range.between(10000.0, 15000.0);
Java'da Veri Temizleme

Aralık kategorilerini kontrol etme

for (Double amount : salesAmounts) {
    if (lowSales.contains(amount)) { // Tutar düşük satış aralığında mı?
        System.out.println("$" + amount + " - Düşük satış");
    } else if (mediumSales.contains(amount)) { // Tutar orta satış aralığında mı?
        System.out.println("$" + amount + " - Orta satış");
    } else if (highSales.contains(amount)) { // Tutar yüksek satış aralığında mı?
        System.out.println("$" + amount + " - Yüksek satış");
    } else { // Tutar beklenen aralığın dışında mı?
        System.out.println("$" + amount + " - Beklenen aralık dışında");
    }
}
Java'da Veri Temizleme

Aralık kategorileri: çıktılar

Satış sınıflandırması:
$5320.0 - Orta satış
$7896.0 - Orta satış
$4501.0 - Düşük satış
$12726.0 - Yüksek satış
$13685.0 - Yüksek satış
Java'da Veri Temizleme

Tarih doğrulama

// d-MMM-yy: ayın günü (d), kısaltılmış ay adı (MMM), iki haneli yıl (yy)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-MMM-yy");
LocalDate startDate = LocalDate.of(2022, 1, 1); // 2022 başlangıcı
LocalDate endDate = LocalDate.of(2022, 12, 31); // 2022 sonu

for (String dateStr : saleDates) { LocalDate saleDate = LocalDate.parse(dateStr, formatter);
// Geçerli tarihler startDate'ten sonra ve endDate'ten önce olmalıdır boolean isValid = saleDate.isAfter(startDate) && saleDate.isBefore(endDate); System.out.println(dateStr + " geçerli mi: " + isValid); }
Java'da Veri Temizleme

Tarih doğrulama: çıktılar

4-Jan-22 geçerli mi: true
1-Aug-22 geçerli mi: true
7-Jul-22 geçerli mi: true
27-Apr-22 geçerli mi: true
24-Feb-22 geçerli mi: true
Java'da Veri Temizleme

Hepsini bir araya getirme

  • Temel import: org.apache.commons.lang3.Range
  • Min ve max al: Collections.min(salesAmounts), Collections.max(salesAmounts)
  • Aralık kategorileri tanımla: Range.between(0.0, 5000.0)
  • Aralık kategorilerini kontrol et: lowSales.contains(amount)
  • Tarih doğrulama: saleDate.isAfter(startDate), saleDate.isBefore(endDate)
Java'da Veri Temizleme

Hadi pratik yapalım!

Java'da Veri Temizleme

Preparing Video For Download...