如何在不重置 的情况下从
?DataFrame
中删除 nan
、inf
和 -inf
值>mode.use_inf_as_null
我可以告诉 dropna
在其缺失值的定义中包含 inf
以便以下工作吗?
df.dropna(subset=["col1", "col2"], how="all")
最佳答案
第一个 replace()
带有 NaN 的 infs:
df.replace([np.inf, -np.inf], np.nan, inplace=True)
然后通过 dropna()
删除 NaN :
df.dropna(subset=["col1", "col2"], how="all", inplace=True)
例如:
>>> df = pd.DataFrame({"col1": [1, np.inf, -np.inf], "col2": [2, 3, np.nan]})
>>> df
col1 col2
0 1.0 2.0
1 inf 3.0
2 -inf NaN
>>> df.replace([np.inf, -np.inf], np.nan, inplace=True)
>>> df
col1 col2
0 1.0 2.0
1 NaN 3.0
2 NaN NaN
>>> df.dropna(subset=["col1", "col2"], how="all", inplace=True)
>>> df
col1 col2
0 1.0 2.0
1 NaN 3.0
同样的方法也适用于Series
。
关于python - 从 Pandas 的数据框中删除无限值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477979/