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
相关产品推荐
相关产品推荐

