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

Python में ETL और ELT

Jake Roach

Data Engineer

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

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

एक डेटा ट्रांसफॉर्मेशन वर्कफ़्लो.

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

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

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

.loc[] से DataFrame के दोनों डाइमेंशन ट्रांसफॉर्म किए जा सकते हैं

# केवल non-zero एंट्री रखें
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, :]
# अतिरिक्त कॉलम हटाएँ
cleaned = raw_stock_data.loc[:, ["timestamps", "open", "close"]]
# एक ही स्टेप में मिलाएँ
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]

.iloc[] integer indexing से DataFrames फ़िल्टर करता है

cleaned = raw_stock_data.iloc[[0:50], [0, 1, 2]]
Python में ETL और ELT

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

डाउनस्ट्रीम उपयोग के लिए अक्सर डेटा टाइप बदलने होते हैं

  • .to_datetime()
# "timestamps" कॉलम अभी ऐसा दिखता है: "20230101085731"
# "timestamps" कॉलम को datetime टाइप में बदलें
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], format="%Y%m%d%H%M%S")
Timestamp('2023-01-01 08:57:31')
# "timestamps" कॉलम अभी ऐसा दिखता है: 1681596000011
# "timestamps" कॉलम को datatime टाइप में बदलें
cleaned["timestamps"] = pd.to_datetime(cleaned["timestamps"], unit="ms")
Timestamp('2023-04-15 22:00:00.011000')
Python में ETL और ELT

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

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

  • जानकारी खोना
  • गलत डेटा बनना
# DataFrame की जाँच के कई तरीके
cleaned = raw_stock_data.loc[raw_stock_data["open"] > 0, ["timestamps", "open", "close"]]
print(cleaned.head())
# सबसे छोटे और सबसे बड़े रिकॉर्ड लौटाएँ
print(cleaned.nsmallest(10, ["timestamps"]))
print(cleaned.nlargest(10, ["timestamps"]))
Python में ETL और ELT

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

Python में ETL और ELT

Preparing Video For Download...