其中「缺席」可以表示nan
或np.masked
,取其中最容易實現的值。如何有效地「拉伸」數組中的當前值而不使用缺省值
例如:
>>> from numpy import nan
>>> do_it([1, nan, nan, 2, nan, 3, nan, nan, 4, 3, nan, 2, nan])
array([1, 1, 1, 2, 2, 3, 3, 3, 4, 3, 3, 2, 2])
# each nan is replaced with the first non-nan value before it
>>> do_it([nan, nan, 2, nan])
array([nan, nan, 2, 2])
# don't care too much about the outcome here, but this seems sensible
我可以看到你是如何做到這一點有一個for循環:
def do_it(a):
res = []
last_val = nan
for item in a:
if not np.isnan(item):
last_val = item
res.append(last_val)
return np.asarray(res)
是否有向量化它更快的方法?
嗯,如果x是2d,這不起作用,但我想這不是我所要求的 – Eric
@Eric:是的,我不知道你甚至想要2D輸入。 – user2357112
我希望它可以獨立處理每一行,就像它是1d一樣 – Eric