小编mar*_*fel的帖子

优雅的numpy阵列移位和NaN填充?

我这里有一个特定的性能问题.我正在处理气象预报时间序列,我编译成一个numpy 2d数组

  • dim0 =预测系列开始的时间
  • dim1 =预测范围,例如.0至120小时

现在,我希望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)

python numpy nan

7
推荐指数
2
解决办法
2984
查看次数

标签 统计

nan ×1

numpy ×1

python ×1