繁体   English   中英

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

[英]Fast in-place replacement of some values in a numpy array

必须有更快的方法来替换价值,对吗? 我有一个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

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

以下将这样做:

elevation[elevation > 0] = numpy.NAN

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

np.putmask(elevation, elevation > 0, np.nan)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM