我这里有一个特定的性能问题.我正在处理气象预报时间序列,我编译成一个numpy 2d数组
现在,我希望dim0每小时一次,但有些消息来源只能每N小时产生预测.例如,假设N = 3并且dim1中的时间步长是M = 1小时.然后我得到类似的东西
12:00 11.2 12.2 14.0 15.0 11.3 12.0
13:00 nan nan nan nan nan nan
14:00 nan nan nan nan nan nan
15:00 14.7 11.5 12.2 13.0 14.3 15.1
Run Code Online (Sandbox Code Playgroud)
但当然也有信息在13:00和14:00,因为它可以从12:00预测运行填写.所以我想最终得到这样的东西:
12:00 11.2 12.2 14.0 15.0 11.3 12.0
13:00 12.2 14.0 15.0 11.3 12.0 nan
14:00 14.0 15.0 11.3 12.0 nan nan
15:00 14.7 11.5 12.2 13.0 14.3 15.1
Run Code Online (Sandbox Code Playgroud)
最快的方法是什么,假设dim0大约是1e4,dim1大约是1e2?现在我一行一行地做,但这很慢:
nRows, nCols = dat.shape
if N >= M:
assert(N % M …Run Code Online (Sandbox Code Playgroud)