python - 快速就地替换 numpy 数组中的某些值

标签 python performance numpy

必须有一种更快的方法来替换值,对吗?我有一个代表高程/测深网格的二维数组。我想用 NAN 替换任何超过 0 的东西,这种方式非常慢:

for x in range(elevation.shape[0]):
    for y in range(elevation.shape[1]):
        if elevation[x,y] > 0:
            elevation[x,y] = numpy.NAN

看来这是一个更好的方法!

最佳答案

以下将执行此操作:

elevation[elevation > 0] = numpy.NAN

参见 Indexing with Boolean Arrays在 NumPy 教程中。

关于python - 快速就地替换 numpy 数组中的某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994133/

相关文章:

python - 使用重复值对时间序列进行重新采样

C# 缓存 txt 文件或使用 File.ReadLines

python - 使用包含多种类型的 numpy 数组创建 Pandas DataFrame

python - 使用 np.ndarray 进行函数调用,例如 "TypeError: missing 1 required positional argument: "

python - 如何从网络抓取数据中删除元素?

python - 如果第一个键相等,有没有办法按第二个键排序?

python - PyCharm 报告未使用的局部变量,但此变量已在局部命名空间中使用

performance - DirectX9 - 高效绘制 Sprite

java - 在检查之前声明循环限制有什么好处?

python - 如何将 'states' 对象类列表转换为 pandas 数据框?