शुरू करेंमुफ़्त में शुरू करें

गलत Joins की जाँच

यदि हम सावधान न रहें तो Joins चुपचाप गलत हो सकते हैं। यानी वे error नहीं देंगे, बल्कि अपेक्षा से अधिक या कम रिकॉर्ड्स के साथ बिगड़ा हुआ डेटा लौटाएँगे। चलिए देखते हैं कि गलत तरीके से join करने से आपका डेटासेट कैसे खराब हो सकता है।

इस उदाहरण में हम देखेंगे कि क्या होता है जब आप दो dataframes को ऐसे join करते हैं जिनकी join keys की precision एक जैसी नहीं है, और सही तथा गलत join के बीच रिकॉर्ड काउंट्स की तुलना करेंगे।

यह अभ्यास पाठ्यक्रम का हिस्सा है

PySpark के साथ Feature Engineering

पाठ्यक्रम देखें

अभ्यास निर्देश

  • df_orig (precision सही करने से पहले वाला dataframe) और walk_df के बीच एक join बनाएँ, जो respective dataframes में longitude और latitude पर match करता है।
  • where() और isNull() का उपयोग करके df['walkscore'] और correct_join['walkscore'] में missing values की गिनती करें। आप देखेंगे कि बहुत-सी missing values हैं क्योंकि हमारे datatypes और precision मेल नहीं खाते।
  • df और walk_df के बीच एक join बनाएँ जो केवल longitude पर match करता हो।
  • count() के साथ few_keys_df और correct_join_df में रिकॉर्ड्स की संख्या गिनें। आप देखेंगे कि मान बहुत ज़्यादा हैं क्योंकि हमने matching को ठीक से constrain नहीं किया है।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Join on mismatched keys precision 
wrong_prec_cond = [____ == ____, ____ == ____]
wrong_prec_df = ____.join(____, on=wrong_prec_cond, how='left')

# Compare bad join to the correct one
print(wrong_prec_df.____(____.____()).count())
print(correct_join_df.____(____.____).count())

# Create a join on too few keys
few_keys_cond = [____ == ____]
few_keys_df = ____.join(____, on=few_keys_cond, how='left')

# Compare bad join to the correct one
print("Record Count of the Too Few Keys Join Example: " + str(____.____()))
print("Record Count of the Correct Join Example: " + str(____.____()))
कोड संपादित करें और चलाएँ