You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas移除NaN失败求助:dropna方法为何未生效?

移除DataFrame中Age列的NaN值失败,问题出在哪?

我尝试移除Age列的NaN值时遇到了困难,试了好几种方法都没用。

以下是我的代码示例:

import pandas as pd     
import seaborn as sns               # 这个示例里没用到,后续绘图会需要
import matplotlib as mpl            # 同上
import matplotlib.pyplot as plt     # 同上
import numpy as np                  # 同上

df = pd.read_csv("https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBM-DA0321EN-SkillsNetwork/LargeData/m2_survey_data.csv")

df.Age.describe()  # 数据类型为float64

df['Age'].isna().value_counts()  # 存在287个NaN值

df['Age'].dropna(how='any', inplace=True)  # 尝试移除NaN值

df['Age'].isna().value_counts()  # 仍然有287个NaN值

# 只是为了定位行
# 我想只打印NaN值,但不知道怎么做
i = 0
for el in df.Age:
    print(i, el, type(el))
    i += 1

# 第一个NaN在第67行

我忽略了什么?

更新:
我已经成功过滤出NaN值:

i = 0
for el in df.Age:
    if el != el:  # NaN不等于自身,借此判断是否为NaN
        print(i, el, type(el))
    i += 1

内容的提问来源于stack exchange,提问作者jarsonX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 09:36:26