2011-11-03 47 views
14

Có phải có cách nhanh hơn để thực hiện thay thế các giá trị, đúng không? Tôi đã có một mảng 2D đại diện cho một mạng lưới độ cao/độ sâu. Tôi muốn thay thế bất kỳ thứ gì trên 0 bằng NAN và cách này là siêu chậm:Thay thế tại chỗ nhanh chóng của một số giá trị trong một mảng nhiều mảng

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

Có vẻ như đó là cách tốt hơn!

Trả lời

3
np.putmask(elevation, elevation > 0, np.nan) 
Các vấn đề liên quan