pandas - 将 pandas 数据框中的所有 inf、-inf 值替换为 NaN
问题描述
我有一个大数据框,在不同的列中有 inf、-inf 值。我想用 NaN 替换所有 inf、-inf 值
我可以逐列这样做。所以这有效:
df['column name'] = df['column name'].replace(np.inf, np.nan)
但是我的代码在一次遍历数据帧时没有这样做。
df.replace([np.inf, -np.inf], np.nan)
输出不会替换 inf 值
解决方案
因此,替换整个数据框的代码问题不起作用,因为您需要将其重新分配或添加inplace=True
为参数。这也是您的逐列工作的原因,因为您将其分配回列df['column name'] = ...
因此,更改df.replace([np.inf, -np.inf], np.nan)
为:
df.replace([np.inf, -np.inf], np.nan,inplace=True)
或分配回一个新的数据框:
df = df.replace([np.inf, -np.inf], np.nan)
推荐阅读
- clojure - Having problems with reagent atom and resert! function
- swift - 是否可以在闭包中使用可变参数?
- javascript - 如何截取包含视频和画布的 div 的屏幕截图?
- javascript - 如何切换用JS隐藏和显示标签?
- c# - 如何在 Docker 中运行 .NET Core 3.1.3 x86 应用程序
- python - TypeError:“球”对象不可调用?
- pandas - 根据 x 轴将两个不同日期的两条轨迹绘制到一张图上
- sql - SQL - Oracle比较一张表的两列中的数据
- java - 如何在Java中对像素进行算术运算
- python-3.x - Import Random 处理我相同的数字