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

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

28.3 Multi-key joins आणि suffixes

By Ravindra Bagale

या course चे सर्व chapters (py + ch)

हे का शिकायचं?

कधीकधी order_id + city किंवा दोन columns लागतात. समान column नावं suffixes घेतात.

हे काय आहे?

on=["a","b"] किंवा left_on/right_on. suffixes=("_ord","_store").

कसं करायचं?

Step 1. Keys list.

Step 2. merge.

Step 3. suffix columns rename.

Step 4. head तपासा.

उदाहरणं: copy करा आणि चालवा

उदाहरण A — left_on / right_on.

import pandas as pd

orders = pd.DataFrame({
    "order_id": ["BLK-10", "BLK-11"],
    "store_code": ["PUN-01", "NGP-01"],
    "amount_inr": [120, 150],
})
stores = pd.DataFrame({
    "store_id": ["PUN-01", "NGP-01"],
    "city": ["Pune", "Nagpur"],
})
m = orders.merge(stores, left_on="store_code", right_on="store_id", how="left")
print(m)

उदाहरण B — suffixes.

orders = pd.DataFrame({
    "order_id": ["BLK-20"],
    "store_id": ["PUN-01"],
    "city": ["Pune"],  # denormalized copy
    "amount_inr": [99],
})
stores = pd.DataFrame({
    "store_id": ["PUN-01"],
    "city": ["Pune"],
    "manager": ["Shraddha Bagale"],
})
m = orders.merge(stores, on="store_id", how="left", suffixes=("_ord", "_master"))
print(m.columns.tolist())

उदाहरण C — Two keys (fictional shift roster).

roster = pd.DataFrame({
    "store_id": ["PUN-01", "PUN-01"],
    "shift": ["morning", "evening"],
    "lead_rider": ["Salman", "Raja"],
})
orders = pd.DataFrame({
    "order_id": ["BLK-30", "BLK-31"],
    "store_id": ["PUN-01", "PUN-01"],
    "shift": ["morning", "evening"],
    "amount_inr": [80, 95],
})
print(orders.merge(roster, on=["store_id", "shift"], how="left"))