我尝试了几种方法来清除DataFrame中特定系列中包含NaN
的行,只是意识到每个NaN
条目都是一个'NaN'
字符串,而不是空值。
在我的特定示例中,每一行代表一个国家,因此我想从DataFrame中删除'GDP per Capita'
列中没有GDP值的所有国家。
我尝试过的某些事情(失败了):
df_noGDP = df
df_noGDP.dropna(axis=0, subset=['GDP per Capita'])
和
df_noGDP = df.loc[df['GDP per Capita'] != np.nan]
当我调用df_noGDP
时,发现没有任何NaN
值被删除。我认为我在某个地方犯了一个愚蠢的语法错误,或者我需要转换数据类型。
答案 0 :(得分:1)
要做:
df_noGDP=df_noGDP.replace('NaN',np.nan)
或者:
df_noGDP.replace('NaN','np.nan,inplace=1)
然后您的东西将按预期工作。
答案 1 :(得分:1)