np.maximum.accumulate函数似乎不能很好地处理nan。
import numpy as np
arr = np.array([1,np.nan,3,1])
np.maximum.accumulate(arr)在第二元素之后给出所有的nans。
如何得到结果[1,np.nan,3,3]?
发布于 2018-11-29 20:50:52
使用numpy.fmax.accumulate,它会忽略nan的:
arr = np.array([1,np.nan,3,1])
np.fmax.accumulate(arr)
# array([1., 1., 3., 3.])如果您需要保留nan:
np.where(np.isnan(arr), np.nan, np.fmax.accumulate(arr))
# array([ 1., nan, 3., 3.])https://stackoverflow.com/questions/53547340
复制相似问题