Bir veri hattında (pipeline) günlükleme (logging)
Bu egzersizde, önceki bir videoda yazdığın fonksiyona geri dönüp bu fonksiyona logging eklemeyi pratiğe dökeceğiz. Bu, hataları giderirken veya mantıkta değişiklik yaparken çok işine yarar!
pandas pd takma adıyla içe aktarılmış durumda. Buna ek olarak logging modülü de içe aktarıldı ve varsayılan log düzeyi "debug" olarak ayarlandı.
Bu egzersiz
Python ile ETL ve ELT
kursunun bir parçasıdırEgzersiz talimatları
- Dönüşümden sonra, şu metni geçirerek bilgi (info) düzeyinde bir log oluştur:
"Transformed 'Order Date' column to type 'datetime'." - Filtrelemeden önce ve sonra DataFrame'in
.shapedeğerini hata ayıklama (debug) düzeyinde logla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def transform(raw_data):
raw_data["Order Date"] = pd.to_datetime(raw_data["Order Date"], format="%m/%d/%y %H:%M")
clean_data = raw_data.loc[raw_data["Price Each"] < 10, :]
# Create an info log regarding transformation
logging.____("Transformed 'Order Date' column to type 'datetime'.")
# Create debug-level logs for the DataFrame before and after filtering
____(f"Shape of the DataFrame before filtering: {raw_data.shape}")
____(f"Shape of the DataFrame after filtering: {clean_data.shape}")
return clean_data
clean_sales_data = transform(raw_sales_data)