I have two Pandas TimeSeries: x, and y, which I would like to sync “as of”. I would like to find for every element in x the latest (by index) element in y that preceeds it (by index value). For example, I would like to compute this new_x:
x new_x
---- -----
13:01 13:00
14:02 14:00
y
----
13:00
13:01
13:30
14:00
I am looking for a vectorized solution, not a Python loop. The time values are based on Numpy datetime64. The y array’s length is in the order of millions, so O(n^2) solutions are probably not practical.
In some circles this operation is known as the “asof” join. Here is an implementation:
Internally, this uses
pandas.Series.asof().