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
Python ile ETL ve ELT
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)