pytest ile birim testleri yazma
Bu egzersizde, bir veri hattını (data pipeline) doğrulamak için bir birim testi yazmayı pratik edeceksin. Testleri oluşturmak için assert ve diğer araçları kullanacak ve veri hattının olması gerektiği gibi çalışıp çalışmadığını belirleyeceksin.
pandas kütüphanası pd olarak içe aktarılmış durumda ve extract() ile transform() fonksiyonları sana hazır verildi. Aşağıda gösterilen transform() fonksiyonunu test edeceksin.
def transform(raw_data):
raw_data["average_taxable_income"] = raw_data["total_taxable_income"] / raw_data["number_of_firms"]
clean_data = raw_data.loc[raw_data["average_taxable_income"] > 100, :]
clean_data.set_index("industry_name", inplace=True)
return clean_data
Bu egzersiz, kursun bir parçasıdır
Python ile ETL ve ELT
Egzersiz talimatları
pytestkütüphanesini içe aktar.clean_tax_datadeğişkeninde saklanan değerin birpd.DataFrameörneği olduğunuassertile doğrula.clean_tax_dataDataFrame’indeki sütun sayısının,raw_tax_dataDataFrame’inde saklanan sütun sayısından büyük olduğunu doğrula.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
import ____
def test_transformed_data():
raw_tax_data = extract("raw_tax_data.csv")
clean_tax_data = transform(raw_tax_data)
# Assert that the transform function returns a pd.DataFrame
assert ____(clean_tax_data, pd.DataFrame)
# Assert that the clean_tax_data DataFrame has more columns than the raw_tax_data DataFrame
____ len(clean_tax_data.columns) ____ len(raw_tax_data.columns)