pandas के साथ डेटा ट्रांसफॉर्म करना

Python में ETL और ELT

Jake Roach

Data Engineer

पाइपलाइन में डेटा ट्रांसफॉर्म करना

डेटा को ठीक से ट्रांसफॉर्म करना ज़रूरी है ताकि डाउनस्ट्रीम यूज़र्स को वैल्यू मिले

A data transformation workflow.

pandas टैब्युलर डेटा ट्रांसफॉर्म करने के लिए पावरफुल टूल देता है

  • .loc[]
  • .to_datetime()
Python में ETL और ELT

.loc[] से रिकॉर्ड फ़िल्टर करना

.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]]
Python में ETL और ELT

डेटा टाइप बदलना

डाउनस्ट्रीम यूज़ केस के लिए कई बार डेटा टाइप बदलने पड़ते हैं

  • .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')
Python में ETL और ELT

ट्रांसफॉर्मेशन वैलिडेट करना

डेटा ट्रांसफॉर्म करते समय जोखिम होते हैं:

  • जानकारी खोना
  • गलत डेटा बनना
# 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

अभ्यास करते हैं!

Python में ETL और ELT

Preparing Video For Download...