ā¹ļø Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.3 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://www.geeksforgeeks.org/pandas/how-to-drop-rows-with-nan-values-in-pandas-dataframe/ |
| Last Crawled | 2026-04-07 04:00:51 (7 days ago) |
| First Indexed | 2025-07-06 05:47:05 (9 months ago) |
| HTTP Status Code | 200 |
| Meta Title | How to Drop Rows with NaN Values in Pandas DataFrame? - GeeksforGeeks |
| Meta Description | Your 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 Canonical | null |
| 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 | [](https://www.geeksforgeeks.org/)

- 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:****

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:****

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:****

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
[](https://www.geeksforgeeks.org/)

Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)

Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
[](https://geeksforgeeksapp.page.link/gfg-app)[](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)
``` |
| Shard | 103 (laksa) |
| Root Hash | 12046344915360636903 |
| Unparsed URL | org,geeksforgeeks!www,/pandas/how-to-drop-rows-with-nan-values-in-pandas-dataframe/ s443 |