我有一个数据集,我正在尝试使用 sklearn 运行逻辑回归,但该数据集具有导致问题的 NaN。我在网上看到的大多数问题都涉及插补缺失值。但是,我对估算缺失值感到不舒服。有没有办法删除数据帧中的所有 NaN 值或仅包含所有列中没有 NaN 的行?
我最终创建了一个新的数据帧,只保留在所有列中有答案的行。
df2 = df1[(df1['var1']>=0) & (df1['var2']>=0) & (df1['var3']>=0)]
但是如果我有 100 列怎么办。最好和最简单的方法是什么?
删除至少一个条目为 NaN 的行:
df2 = df1.dropna(axis=0, how='any')
请注意,上述参数值是默认值,但我还是将它们包含在内,只是为了更清楚。
将all
与axis =1
一起使用
df1 = df1.loc[df1.gt(0).all(1),:]