lance.LanceDataset.join_asof(self, right_dataset, 开启, , tolerance, right_on=None, right_by=None)

在当前数据集与另一个数据集之间执行异步连接(asof join)。

这与左连接类似,不同之处在于我们匹配的是最接近的键而非完全相等的键。两个数据集都必须按键排序。这种连接类型对于时间序列数据特别有用,尤其是那些时间点不完全对齐的情况。

在搜索时使用"on"之前,可选择先用"by"匹配等效键。

连接操作的结果将是一个新的数据集,可以对其应用进一步的操作。

Parameters:
right_dataset : dataset

要连接到当前数据集的数据集,在连接操作中作为右侧数据集。

on : str

当前数据集中用作连接操作左侧"on"键的列。

在"on"键上使用近似匹配,即当且仅当left_on - tolerance <= right_on <= left_on时,才认为行匹配。

输入表必须按"on"键排序。必须是单一字段且为通用类型。

目前,"on"键必须是整数、日期或时间戳类型。

by : str or list[str]

当前数据集中应作为连接操作左侧键的列。连接操作仅在这些列的匹配项上执行。

tolerance : int

对不精确"on"键匹配的容忍度。当满足right.on - left.on <= tolerance时,右侧行将被视为与左侧行匹配。 tolerance可以是:

  • 负数,此时执行过去时间点连接;

  • 正数,此时执行未来时间点连接;

  • 或零,此时执行精确时间点连接。

容忍度的单位与"on"键的单位相同。

right_on : str or list[str], default None

右侧数据集中应作为连接操作右侧键的列。 当None时,使用与左侧数据集相同的键名。

right_by : str or list[str], default None

右侧数据集中应作为连接操作右端关联键的列。 当None时,使用与左侧数据集相同的键名。

Return type:

内存数据集