Ravindra Bagale · Data Scienceसर्व coursesया course चे lessonsशोधाEnglish

Data Science · मराठी आवृत्ती

8.2 merge: Orders सोबत Stores जोडा

रवींद्र बागले यांच्या course वर आधारित · सहज मराठीत explanation

प्रत्येक order च्या store_id वरून city आणि manager आणूया:

orders = pd.DataFrame({
    "order_id": ["BLK-001", "BLK-002", "AMN-003", "BLK-004"],
    "store_id": ["PUN-01", "NSK-01", "KOP-01", "PUN-99"],
    "amount": [64, 90, 58, 110],
    "customer": ["Ruhi Bagale", "Amir", "Zoya", "Ravina"],
})
stores = pd.DataFrame({
    "store_id": ["PUN-01", "NSK-01", "KOP-01", "SLP-01"],
    "city": ["Pune", "Nashik", "Kolhapur", "Solapur"],
    "manager": ["Ravindra Bagale", "Shraddha Bagale", "Salman", "Raja"],
})

left = orders.merge(stores, on="store_id", how="left")
inner = orders.merge(stores, on="store_id", how="inner")
print(left)
print(len(orders), len(left), len(inner))
howकाय राहतं?
leftसर्व orders; store सापडला नाही तर NaN — इथे PUN-99
innerफक्त दोन्ही tables मध्ये जुळणाऱ्या keys
right / outerया class मध्ये कमी वापर; हे join प्रकारही उपलब्ध आहेत

Jupyter मध्ये steps

  1. orders आणि stores तयार करा.
  2. left = orders.merge(stores, on="store_id", how="left") run करा.
  3. न जुळलेल्या rows शोधा: left[left["city"].isna()].
  4. योग्य many-to-one left join मध्ये len(left) == len(orders) आहे का तपासा.

BLK-004 / PUN-99 च्या city मध्ये NaN दिसेल. Export मधला store_id तपासण्याची ही खूण आहे.