我有一个400行25列的数据框。我需要从数据集中删除所有NaN值,然后从25列中选择3列进行处理。我使用以下代码完成了这个操作:
df1.dropna(axis=0)df2=df1.loc[:,['bgr','wc','rc']]df2['rc']=pd.to_numeric(df['rc'],errors='coerce')df2['wc']=pd.to_numeric(df['wc'],errors='coerce')
当我检查数据类型时,’rc’和’wc’显示为对象类型,所以我将它们转换为浮点数。
现在,在我删除NaN值后,只剩下252行。因此,我认为所有的NaN值都已被删除。
但是,当我执行df2.describe()时,’rc’的计数显示为251,而’bgr’和’wc’的计数为252。这很奇怪,所以当我执行df2.rc.unique()时,竟然显示了一个NaN值!!!
我的问题是:如何删除这个NaN值?
回答:
重新赋值:
df = df.dropna(axis=0)
默认情况下,除非你指定,否则不会就地修改:
df.dropna(axis=0, inplace=True)
查看文档