Data Science · मराठी आवृत्ती
23.2 चुकीचे dtypes आणि silent NaNs
या 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
हे का शिकायचं?
amount object असेल तर mean चुकीचं किंवा error. to_numeric errors="coerce" शांतपणे NaN करते.
हे काय आहे?
dtypes तपासा. pd.to_numeric, astype, बद्दल जाणून घ्या. Coerce नंतरisna().sum() पाहा.
कसं करायचं?
Step 1. df.dtypes पाहा.
Step 2. Numeric column to_numeric.
Step 3. NaN count print करा.
Step 4. Unexpected NaN असल्यास raw value पाहा.
उदाहरणं: copy करा आणि चालवा
उदाहरण A — Comma + N/A.
import numpy as np
import pandas as pd
raw = pd.DataFrame({
"order_id": ["BLK-10", "BLK-11", "AMN-12", "BLK-13"],
"city": ["Pune", "Solapur", "Nagpur", "Nashik"],
"amount": ["64", "1,299", "N/A", "210"],
"customer": ["Shraddha Bagale", "Salman", "Rani", "Shahrukh"],
})
before_na = raw["amount"].isna().sum()
amt = (
raw["amount"].astype(str)
.str.replace(",", "", regex=False)
.replace({"N/A": np.nan, "nan": np.nan, "": np.nan})
)
raw["amount"] = pd.to_numeric(amt, errors="coerce")
print(raw.dtypes)
print("NaNs introduced", raw["amount"].isna().sum() - before_na)
print(raw)
What you should see. One NaN for AMN-12. GMV must decide: drop, fill, or exclude with an explicit filter — and log the count.
उदाहरण B — Silent mean on object (trap).
messy = pd.Series(["100", "200", "x"])
# pandas may error or coerce depending on version/path — always clean first
clean = pd.to_numeric(messy, errors="coerce")
print(clean.tolist(), "mean skipping NaN", clean.mean())
उदाहरण C — Date swap risk.
dates = pd.Series(["05-10-2026", "13-10-2026"]) # 5 Oct, 13 Oct
print(pd.to_datetime(dates, dayfirst=True))
# Without dayfirst, 05-10 may become 10 May in some settings
Zoya’s Diwali window filter breaks if 05-10 becomes May.