Python &引用;截至「;在努比

Python &引用;截至「;在努比,python,loops,numpy,time-series,Python,Loops,Numpy,Time Series,我正在寻找一种在numpy中实现“as-of”操作符的方法。具体而言,如果: t1是严格递增顺序的时间戳的n-向量 d1是观察值的nxp矩阵,第i行与t1[i]对应 t2在时间戳的m向量中,也以严格递增的顺序 我需要创建一个m x p矩阵d2,其中d2[I]只是d1[j]的最大值j,这样t1[j]您的最佳选择是: 这将搜索必须将t2的值插入t1以维持顺序的索引。side=“right”和-1位用于确保精确的指定行为 编辑:获取理想世界中条件为t1[j]的NaN行,以及t1[j]@aix:更新答案

我正在寻找一种在
numpy
中实现“as-of”操作符的方法。具体而言,如果:

  • t1
    是严格递增顺序的时间戳的
    n
    -向量
  • d1
    是观察值的
    nxp
    矩阵,第i行与
    t1[i]
    对应
  • t2
    在时间戳的
    m
    向量中,也以严格递增的顺序 我需要创建一个
    m x p
    矩阵
    d2
    ,其中
    d2[I]
    只是
    d1[j]
    的最大值
    j
    ,这样
    t1[j]您的最佳选择是:

    这将搜索必须将
    t2
    的值插入
    t1
    以维持顺序的索引。
    side=“right”
    -1
    位用于确保精确的指定行为


    编辑:获取理想世界中条件为
    t1[j]的NaN行,以及
    t1[j]@aix:更新答案以反映这一点。先生,您是一个明星。P.S.
    vstack
    需要一个元组,因此代码缺少第二对括号。
    d1[numpy.searchsorted(t1, t2, side="right") - 1]
    
    nan_row = numpy.repeat(numpy.nan, d1.shape[1])
    d1_nan = numpy.vstack((nan_row, d1))
    d2 = d1_nan[numpy.searchsorted(t1, t2, side="right")]