从熊猫的数据框中删除无限值?
问题内容:
从熊猫DataFrame中删除nan和inf /
-inf值而不重置的最快/最简单方法是什么mode.use_inf_as_null
?我希望能够使用subset
和的和how
参数dropna
,但inf
认为缺少的值除外,例如:
df.dropna(subset=["col1", "col2"], how="all", with_inf=True)
这可能吗?有没有办法告诉它在缺失值的定义中dropna
包含inf
?
问题答案:
最简单的方法是先将replace
infs改为NaN:
df.replace([np.inf, -np.inf], np.nan)
然后使用dropna
:
df.replace([np.inf, -np.inf], np.nan).dropna(subset=["col1", "col2"], how="all")
例如:
In [11]: df = pd.DataFrame([1, 2, np.inf, -np.inf])
In [12]: df.replace([np.inf, -np.inf], np.nan)
Out[12]:
0
0 1
1 2
2 NaN
3 NaN
相同的方法适用于系列。