【发布时间】:2018-12-20 04:56:56
【问题描述】:
我正在尝试对大小为 480x2040 = 接近 1,000,000 像素的数据集进行去趋势处理。 我在这个系列(年)中有 17 个时间步,但是我想在某个时候移到每日时间步。此代码有效,但是运行方式太慢而无法正常运行。
我觉得 scipy.signal.detrend 可以做整个数据集,但是我有一些 NaN。在某些情况下,NaN 是大陆,这意味着在每个时间步都有一个 NaN,但在极少数情况下,会丢失一些数据。
如何在忽略/跳过 NaN 的同时随着时间的推移消除地图的每个像素的趋势?它需要比这种循环快几个数量级。
for i in range(0,nlat):
for j in range(0,nlon):
pixel = ds[:,i,j]
b = ~np.isnan(pixel)
detrend[b,i,j]=signal.detrend(pixel[b])
干杯!
【问题讨论】:
标签: python python-3.x numpy scipy signal-processing