šŸ•·ļø Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 103 (from laksa044)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ā„¹ļø Skipped - page is already crawled

šŸ“„
INDEXABLE
āœ…
CRAWLED
7 days ago
šŸ¤–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.3 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://www.geeksforgeeks.org/pandas/how-to-drop-rows-with-nan-values-in-pandas-dataframe/
Last Crawled2026-04-07 04:00:51 (7 days ago)
First Indexed2025-07-06 05:47:05 (9 months ago)
HTTP Status Code200
Meta TitleHow to Drop Rows with NaN Values in Pandas DataFrame? - GeeksforGeeks
Meta DescriptionYour All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more., Your All-in-One Learning Portal. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
Meta Canonicalnull
Boilerpipe Text
import pandas as pd import numpy as np ​ data = { 'Name' : [ 'Alice' , 'Bob' , 'Charlie' , 'David' , np . nan , np . nan ], 'Age' : [ 25 , np . nan , 35 , 40 , np . nan , np . nan ], 'City' : [ 'New York' , 'San Francisco' , 'Los Angeles' , np . nan , np . nan , np . nan ], 'Salary' : [ 5000 , 6000 , 5500 , 6200 , np . nan , np . nan ]} df = pd . DataFrame ( data ) ​ df_clean = df . dropna ( subset = [ 'Name' , 'Age' ]) print ( df_clean )
Markdown
[![geeksforgeeks](https://media.geeksforgeeks.org/gfg-gg-logo.svg)](https://www.geeksforgeeks.org/) ![search icon](https://media.geeksforgeeks.org/auth-dashboard-uploads/Property=Light---Default.svg) - Sign In - [Courses]() - [Tutorials]() - [Interview Prep]() - [DSA](https://www.geeksforgeeks.org/dsa/dsa-tutorial-learn-data-structures-and-algorithms/) - [Practice Problems](https://www.geeksforgeeks.org/explore) - [C](https://www.geeksforgeeks.org/c/c-programming-language/) - [C++](https://www.geeksforgeeks.org/cpp/c-plus-plus/) - [Java](https://www.geeksforgeeks.org/java/java/) - [Python](https://www.geeksforgeeks.org/python/python-programming-language-tutorial/) - [JavaScript](https://www.geeksforgeeks.org/javascript/javascript-tutorial/) - [Data Science](https://www.geeksforgeeks.org/data-science/data-science-for-beginners/) - [Machine Learning](https://www.geeksforgeeks.org/machine-learning/machine-learning/) - [Courses](https://www.geeksforgeeks.org/courses) # How to Drop Rows with NaN Values in Pandas DataFrame? Last Updated : 15 Jul, 2025 In Pandas missing values are represented as NaN (Not a Number) which can lead to inaccurate analyses. One common approach to handling missing data is to drop rows containing NaN values using pandas. Below are some methods that can be used: ## Method 1: ****Using**** **`dropna()`** The [dropna() method](https://www.geeksforgeeks.org/python/python-pandas-dataframe-dropna/) is the most straightforward way to remove rows with missing values. It scans through the DataFrame and drops any row that contains at least one `NaN value`. This method helps in maintaining data integrity as only complete records are used in analysis. Python `` ``` import pandas as pd ``` ``` import numpy as np ``` ``` ​ ``` ``` data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],'Age': [25, np.nan, 35, 40],'City': ['New York', 'San Francisco', 'Los Angeles', np.nan],'Salary': [5000, 6000, 5500, 6200]} ``` ``` df = pd.DataFrame(data) ``` ``` ​ ``` ``` a=df.dropna() ``` ``` print(a) ``` ****Output:**** ![Screenshot-2025-04-17-122448](https://media.geeksforgeeks.org/wp-content/uploads/20250417122538981420/Screenshot-2025-04-17-122448.png) using dropna Here we removed all NaN value rows from dataset. ## ****Method 2: Drop Rows Based on Specific Columns**** The `subset` parameter allows you to specify columns that should be checked for NaN values allowing you to maintain rows that have missing values in less important columns. Python `` ``` import pandas as pd ``` ``` import numpy as np ``` ``` ​ ``` ``` data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', np.nan, np.nan],'Age': [25, np.nan, 35, 40, np.nan, np.nan],'City': ['New York', 'San Francisco', 'Los Angeles', np.nan, np.nan, np.nan],'Salary': [5000, 6000, 5500, 6200, np.nan, np.nan]} ``` ``` df = pd.DataFrame(data) ``` ``` ​ ``` ``` df_clean = df.dropna(subset=['Name', 'Age']) ``` ``` print(df_clean) ``` ****Output:**** ![Screenshot-2025-04-15-091714](https://media.geeksforgeeks.org/wp-content/uploads/20250415091724932115/Screenshot-2025-04-15-091714.png) Drop rows based on specific coloumn Here we removed rows with NaN values present in Name and Age column. ## ****Method 3: In-Place Modification with**** **`inplace=True`** By default `dropna()` returns a new DataFrame and leaves the original dataframe unchanged. Use**`inplace=True`** to modify the original DataFrame directly. This approach save memory and processing time when working with large datasets. Python `` ``` import pandas as pd ``` ``` import numpy as np ``` ``` ​ ``` ``` data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', np.nan, np.nan],'Age': [25, np.nan, 35, 40, np.nan, np.nan],'City': ['New York', 'San Francisco', 'Los Angeles', np.nan, np.nan, np.nan],'Salary': [5000, 6000, 5500, 6200, np.nan, np.nan]} ``` ``` df = pd.DataFrame(data) ``` ``` ​ ``` ``` df.dropna(inplace=True) ``` ``` print(df) ``` ****Output:**** ![Screenshot-2025-04-15-091714](https://media.geeksforgeeks.org/wp-content/uploads/20250415091848541780/Screenshot-2025-04-15-091714.png) In place modification The `dropna()` function offers various parameters that provide flexibility in handling missing data. How to remove null value Rows from DATASET Comment [S](https://www.geeksforgeeks.org/user/shardul_singh_tomar/) [shardul\_singh\_tomar](https://www.geeksforgeeks.org/user/shardul_singh_tomar/) 13 Article Tags: Article Tags: [Pandas](https://www.geeksforgeeks.org/category/programming-language/python/pandas/) [Python-pandas](https://www.geeksforgeeks.org/tag/python-pandas/) [Python pandas-dataFrame](https://www.geeksforgeeks.org/tag/python-pandas-dataframe/) ### Explore [![GeeksforGeeks](https://media.geeksforgeeks.org/auth-dashboard-uploads/gfgFooterLogo.png)](https://www.geeksforgeeks.org/) ![location](https://media.geeksforgeeks.org/img-practice/Location-1685004904.svg) Corporate & Communications Address: A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305) ![location](https://media.geeksforgeeks.org/img-practice/Location-1685004904.svg) Registered Address: K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305 [![GFG App on Play Store](https://media.geeksforgeeks.org/auth-dashboard-uploads/googleplay-%281%29.png)](https://geeksforgeeksapp.page.link/gfg-app)[![GFG App on App Store](https://media.geeksforgeeks.org/auth-dashboard-uploads/appstore-%281%29.png)](https://geeksforgeeksapp.page.link/gfg-app) - Company - [About Us](https://www.geeksforgeeks.org/about/) - [Legal](https://www.geeksforgeeks.org/legal/) - [Privacy Policy](https://www.geeksforgeeks.org/legal/privacy-policy/) - [Contact Us](https://www.geeksforgeeks.org/about/contact-us/) - [Advertise with us](https://www.geeksforgeeks.org/advertise-with-us/) - [GFG Corporate Solution](https://www.geeksforgeeks.org/gfg-corporate-solution/) - [Campus Training Program](https://www.geeksforgeeks.org/campus-training-program/) - Explore - [POTD](https://www.geeksforgeeks.org/problem-of-the-day) - [Job-A-Thon](https://practice.geeksforgeeks.org/events/rec/job-a-thon/) - [Blogs](https://www.geeksforgeeks.org/category/blogs/?type=recent) - [Nation Skill Up](https://www.geeksforgeeks.org/nation-skill-up/) - Tutorials - [Programming Languages](https://www.geeksforgeeks.org/computer-science-fundamentals/programming-language-tutorials/) - [DSA](https://www.geeksforgeeks.org/dsa/dsa-tutorial-learn-data-structures-and-algorithms/) - [Web Technology](https://www.geeksforgeeks.org/web-tech/web-technology/) - [AI, ML & Data Science](https://www.geeksforgeeks.org/machine-learning/ai-ml-and-data-science-tutorial-learn-ai-ml-and-data-science/) - [DevOps](https://www.geeksforgeeks.org/devops/devops-tutorial/) - [CS Core Subjects](https://www.geeksforgeeks.org/gate/gate-exam-tutorial/) - [Interview Preparation](https://www.geeksforgeeks.org/aptitude/interview-corner/) - [Software and Tools](https://www.geeksforgeeks.org/websites-apps/software-and-tools-a-to-z-list/) - Courses - [ML and Data Science](https://www.geeksforgeeks.org/courses/category/machine-learning-data-science) - [DSA and Placements](https://www.geeksforgeeks.org/courses/category/dsa-placements) - [Web Development](https://www.geeksforgeeks.org/courses/category/development-testing) - [Programming Languages](https://www.geeksforgeeks.org/courses/category/programming-languages) - [DevOps & Cloud](https://www.geeksforgeeks.org/courses/category/cloud-devops) - [GATE](https://www.geeksforgeeks.org/courses/category/gate) - [Trending Technologies](https://www.geeksforgeeks.org/courses/category/trending-technologies/) - Videos - [DSA](https://www.geeksforgeeks.org/videos/category/sde-sheet/) - [Python](https://www.geeksforgeeks.org/videos/category/python/) - [Java](https://www.geeksforgeeks.org/videos/category/java-w6y5f4/) - [C++](https://www.geeksforgeeks.org/videos/category/c/) - [Web Development](https://www.geeksforgeeks.org/videos/category/web-development/) - [Data Science](https://www.geeksforgeeks.org/videos/category/data-science/) - [CS Subjects](https://www.geeksforgeeks.org/videos/category/cs-subjects/) - Preparation Corner - [Interview Corner](https://www.geeksforgeeks.org/interview-prep/interview-corner/) - [Aptitude](https://www.geeksforgeeks.org/aptitude/aptitude-questions-and-answers/) - [Puzzles](https://www.geeksforgeeks.org/aptitude/puzzles/) - [GfG 160](https://www.geeksforgeeks.org/courses/gfg-160-series) - [System Design](https://www.geeksforgeeks.org/system-design/system-design-tutorial/) [@GeeksforGeeks, Sanchhaya Education Private Limited](https://www.geeksforgeeks.org/), [All rights reserved](https://www.geeksforgeeks.org/copyright-information/) ![]()
Readable Markdown
``` import pandas as pd ``` ``` import numpy as np ``` ``` ​ ``` ``` data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', np.nan, np.nan],'Age': [25, np.nan, 35, 40, np.nan, np.nan],'City': ['New York', 'San Francisco', 'Los Angeles', np.nan, np.nan, np.nan],'Salary': [5000, 6000, 5500, 6200, np.nan, np.nan]} ``` ``` df = pd.DataFrame(data) ``` ``` ​ ``` ``` df_clean = df.dropna(subset=['Name', 'Age']) ``` ``` print(df_clean) ```
Shard103 (laksa)
Root Hash12046344915360636903
Unparsed URLorg,geeksforgeeks!www,/pandas/how-to-drop-rows-with-nan-values-in-pandas-dataframe/ s443