Python में ETL और ELT
Jake Roach
Data Engineer
डेटा को ठीक से ट्रांसफॉर्म करना ज़रूरी है ताकि डाउनस्ट्रीम यूज़र्स को वैल्यू मिले

pandas टैब्युलर डेटा ट्रांसफॉर्म करने के लिए पावरफुल टूल देता है
.loc[].to_datetime().loc[] से DataFrame के दोनों डाइमेंशन ट्रांसफॉर्म किए जा सकते हैं
# Keep only non-zero entries
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, :]
# Remove excess columns
cleaned = raw_stock_data.loc[:, ["timestamps", "open", "close"]]
# Combine into one step
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]
.iloc[] इंटीजर इंडेक्सिंग से DataFrames को फ़िल्टर करता है
cleaned = raw_stock_data.iloc[[0:50], [0, 1, 2]]
डाउनस्ट्रीम यूज़ केस के लिए कई बार डेटा टाइप बदलने पड़ते हैं
.to_datetime()# "timestamps" column currectly looks like: "20230101085731"
# Convert "timestamps" column to type datetime
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], format="%Y%m%d%H%M%S")
Timestamp('2023-01-01 08:57:31')
# "timestamps" column currently looks like: 1681596000011
# Convert "timestamps" column to type datatime
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], unit="ms")
Timestamp('2023-04-15 22:00:00.011000')
डेटा ट्रांसफॉर्म करते समय जोखिम होते हैं:
# Several ways to investigate a DataFrame
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]
print(cleaned.head())
# Return smallest and largest records
print(cleaned.nsmallest(10, ["timestamps"]))
print(cleaned.nlargest(10, ["timestamps"]))
Python में ETL और ELT