pytest के साथ यूनिट टेस्ट लिखना
इस अभ्यास में, आप एक डेटा पाइपलाइन को वैलिडेट करने के लिए यूनिट टेस्ट लिखने का अभ्यास करेंगे। आप टेस्ट बनाने के लिए assert और अन्य टूल्स का उपयोग करेंगे, और यह निर्धारित करेंगे कि डेटा पाइपलाइन अपेक्षा के अनुसार काम करती है या नहीं।
extract() और transform() फंक्शन्स आपके लिए उपलब्ध करा दिए गए हैं, साथ ही pandas भी pd नाम से इंपोर्ट किया गया है। आप नीचे दिए गए transform() फंक्शन का परीक्षण करेंगे।
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
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में ETL और ELT
अभ्यास निर्देश
pytestलाइब्रेरी इंपोर्ट करें।- सुनिश्चित करें (assert) कि
clean_tax_dataवैरिएबल में सेव की गई वैल्यूpd.DataFrameका एक इंस्टेंस है। - वैलिडेट करें कि
clean_tax_dataDataFrame में कॉलम्स की संख्याraw_tax_dataDataFrame में स्टोर किए गए कॉलम्स से अधिक है।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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)