python - 从 Pandas 的数据框中删除无限值?

标签 python pandas numpy

如何在不重置 的情况下从 DataFrame 中删除 naninf-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/

相关文章:

Python 和 MySQL——哪个用得更多?

python - libvlc "VLC is unable to open the MRL ' C :\Users\Public\Videos\Sample Videos\Wildlife. mwv'"

python-3.x - 将数据帧列切成十分位数并附加到矩阵

python - pandas 在 for 循环中删除列的有效方法

python - 如何为 pandas groupby 设计 agg 函数

python - 是否 [ :] slice only make shallow copy of a list?

python - Flask 无法识别两个 URL 参数

python - 我想比较两个大小不等的多索引数据框

python - 将 Numpy 二维数组转换为字典映射列表

python - 根据阈值将 NumPy 数组转换为 0 或 1