Python 如何设置熊猫合并asof中的公差范围?
我正在尝试使用pandas merge_asof和tolerance level合并两个时间序列数据 给了我一个很好的演示如何使用公差,但我想知道我是否可以使用一个公差范围Python 如何设置熊猫合并asof中的公差范围?,python,pandas,merge,dask,timedelta,Python,Pandas,Merge,Dask,Timedelta,我正在尝试使用pandas merge_asof和tolerance level合并两个时间序列数据 给了我一个很好的演示如何使用公差,但我想知道我是否可以使用一个公差范围 >>> quotes time ticker bid ask 0 2016-05-25 13:30:00.023 GOOG 720.50 720.93 1 2016-05-25 13:30:00.023 MSFT 51.95 51
>>> quotes
time ticker bid ask
0 2016-05-25 13:30:00.023 GOOG 720.50 720.93
1 2016-05-25 13:30:00.023 MSFT 51.95 51.96
2 2016-05-25 13:30:00.030 MSFT 51.97 51.98
3 2016-05-25 13:30:00.041 MSFT 51.99 52.00
4 2016-05-25 13:30:00.048 GOOG 720.50 720.93
5 2016-05-25 13:30:00.049 AAPL 97.99 98.01
6 2016-05-25 13:30:00.072 GOOG 720.50 720.88
7 2016-05-25 13:30:00.075 MSFT 52.01 52.03
>>> trades
time ticker price quantity
0 2016-05-25 13:30:00.023 MSFT 51.95 75
1 2016-05-25 13:30:00.038 MSFT 51.95 155
2 2016-05-25 13:30:00.048 GOOG 720.77 100
3 2016-05-25 13:30:00.048 GOOG 720.92 100
4 2016-05-25 13:30:00.048 AAPL 98.00 100
>>> pd.merge_asof(trades, quotes,
... on='time',
... by='ticker',
... tolerance=pd.Timedelta('10ms'),
... allow_exact_matches=False)
time ticker price quantity bid ask
0 2016-05-25 13:30:00.023 MSFT 51.95 75 NaN NaN
1 2016-05-25 13:30:00.038 MSFT 51.95 155 51.97 51.98
2 2016-05-25 13:30:00.048 GOOG 720.77 100 NaN NaN
3 2016-05-25 13:30:00.048 GOOG 720.92 100 NaN NaN
4 2016-05-25 13:30:00.048 AAPL 98.00 100 NaN NaN
只有当时间间隔严格小于“10ms”时,上述示例才会与direction='backward'
合并
我想知道我是否可以将10分钟到20分钟的范围与direction='forward'
一起使用,这样它就可以合并10分钟后发生但不到20分钟的最近的一次
编辑:我已经将示例数据添加到帖子中(来自熊猫文档)。在上面的例子中,假设我想将Timedelta级别合并到“5ms”和“10ms”之间。我已经添加了示例数据。