Data Science · मराठी आवृत्ती
28.2 merge how= left / inner / outer
या course चे सर्व chapters (py + ch)
- How to Use This Free Data Science Course
- How to Install Python, Jupyter Notebook and VS Code for Data Science (Windows and Mac)
- Python Variables and Data Types Explained for Beginners (int, float, str, bool)
- Python Strings Tutorial: Slicing, f-strings and String Methods with Examples
- Python Lists, Tuples, Dictionaries and Sets Explained with Examples
- Python if, elif and else Statements with Real Examples for Beginners
- Python for Loops and while Loops Explained with Examples (range, break, continue)
- Python Functions Tutorial: def, return, Arguments and lambda with Examples
- Python Errors and Exceptions: How to Use try, except, else and finally
- How to Read and Write CSV, JSON and Text Files in Python (with open and with)
- Python Modules, pip and Virtual Environments (venv) Explained for Beginners
- Python Classes and Objects for Beginners: OOP Basics with Simple Examples
- NumPy Tutorial for Beginners: Arrays, Maths and Filtering in Python
- Python Mini Projects for Beginners: 5 Practice Projects Before Learning pandas
- Data Science vs Data Analytics Tutorial
- Python Jupyter Setup for Data Science
- Python Basics for Data Science Tutorial
- NumPy Essentials for Data Science Tutorial
- pandas DataFrames and Series Tutorial
- Filter and Sort Data in pandas Tutorial
- pandas GroupBy and Aggregations Tutorial
- Merge and Concat Data in pandas Tutorial
- Data Cleaning in pandas A–Z Tutorial
- Dates and Text in pandas – Free Tutorial
- Reshape Data: melt and pivot_table
- Exploratory Data Analysis in Python
- matplotlib Visualization Tutorial – Free
- seaborn Visualization Tutorial – Free
- Chart Choice and Data Storytelling
- Data Science Project: Blinkit Maharashtra
- Data Science Practice Exercises
- Data Science Interview Questions
- pandas matplotlib seaborn Cheat Sheet
- Data Science Glossary – Free Tutorial
- Stats for Data Work Mean Median IQR
- Export CSV Excel PNG from pandas Tutorial
- Common pandas Mistakes and Fixes Tutorial
- Load SQL Query Results into pandas DataFrame – Free Tutorial
- How to Rank and Running Totals in pandas
- How to Read APIs, JSON and Zipped CSVs into pandas
- How to Use Git with Jupyter Notebooks for Data Projects
- How to Merge and Join Tables in pandas for Blinkit Data
- What Is Machine Learning Simple Explanation
- Machine Learning Workflow Step by Step
- Train Test Split in Machine Learning sklearn
- Features and Labels in Machine Learning
- Linear Regression in Python with sklearn
- Classification with Logistic Regression in Python
- Decision Trees and Random Forests in Python
- K-Means Clustering in Python for Beginners
- How to Check If Your ML Model Is Good
- Overfitting and Underfitting in Machine Learning
- End-to-End ML Project India Dataset
- Data Preprocessing for ML: Impute Scale Encode
- What Is a Neural Network Simple Explanation
- Activation Loss Gradient Descent Plain English
- Backpropagation Intuition No Heavy Maths
- Install PyTorch and First Tensors
- Your First Neural Network in PyTorch
- Deep Learning vs Classical ML When to Use Which
- Convolutional Neural Networks CNNs for Images
- Small CNN Image Project in PyTorch
- What Transformers Are Text and Sequences
- Tiny Text Classifier Transformer Intro PyTorch
- What Is Natural Language Processing NLP
- Text Cleaning and TF-IDF in Python sklearn
- Sentiment Analysis Project in Python TF-IDF
- NLP vs ChatGPT Classical NLP and Generative AI
हे का शिकायचं?
left = डावीकडच्या सगळ्या rows. inner = फक्त जुळलेल्या. outer = दोन्हीकडच्या.
हे काय आहे?
pd.merge(left, right, on="key", how="left"). Shape आणि NaNs पाहा.
कसं करायचं?
Step 1. how=left try.
Step 2. how=inner तुलना.
Step 3. NaN count.
Step 4. कोणता how व्यवसायाला हवा.
उदाहरणं: copy करा आणि चालवा
| how | Keeps |
|---|---|
left |
All left rows; missing right → NaN |
inner |
Only matching keys |
outer |
Keys from either side |
right |
All right rows (less common from orders) |
उदाहरण A — Classic Blinkit left join.
import pandas as pd
orders = pd.DataFrame({
"order_id": ["BLK-001", "BLK-002", "AMN-003", "BLK-004"],
"store_id": ["PUN-01", "NSK-01", "KOP-01", "PUN-99"],
"amount_inr": [64, 90, 58, 110],
"status": ["Delivered", "Delivered", "Cancelled", "Delivered"],
"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("orders", len(orders), "left", len(left), "inner", len(inner))
print("unmatched", left.loc[left["city"].isna(), "order_id"].tolist())
What you should see. BLK-004 / PUN-99 unmatched on left; missing from inner.
उदाहरण B — When inner is OK.
Training notebook that only wants “valid store map” rows — inner is fine if you log how many dropped.
उदाहरण C — Outer for reconciliation.
outer = orders.merge(stores, on="store_id", how="outer", indicator=True)
print(outer["_merge"].value_counts())