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")]