在numpy数组中快速就地替换某些值

Kur*_*ehr 16 python performance numpy

必须有更快的方法来替换价值,对吗?我有一个2D数组代表一个高程/水深测量网格.我想用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
Run Code Online (Sandbox Code Playgroud)

看起来这是一个更好的方式!

NPE*_*NPE 21

以下将这样做:

elevation[elevation > 0] = numpy.NAN
Run Code Online (Sandbox Code Playgroud)

请参阅NumPy教程中的使用布尔数组建立索引.