5
我有一個2D numpy數組1.0e6作爲無數據值。我想生成一個數據的直方圖,雖然我已經成功,但這不是實現這一目標的最佳方式。matplotlib hist而忽略一個特定的無數據值
from matplotlib import pyplot
import sys
eps = sys.float_info.epsilon
no_data = 1.0e6
e_data = elevation.reshape(elevation.size)
e_data_clean = [ ]
for i in xrange(len(e_data)):
val = e_data[i]
# floating point equality check for val aprox not equal no_data
if val > no_data + eps and val < no_data - eps:
e_data_clean.append(val)
pyplot.hist(e_data_clean, bins=100)
似乎應該有一個乾淨的(和更快的一個班輪爲此)。在那兒?