此方法用于执行asof合并。这类似于left-join,除了我们匹配最近的键而不是相等的键。两个DataFrame都必须按键排序。
用法: pandas.merge_asof(left, right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, by=None, left_by=None, right_by=None, suffixes=(‘_x’, ‘_y’), tolerance=None, allow_exact_matches=True, direction=’backward’, )
参数:
- left, right: DataFrame
- on:标签,要加入的字段名称。必须在两个DataFrame中都找到。
- left_on:标签,要在左侧DataFrame中加入的字段名称。
- right_on:标签,要在右侧DataFrame中加入的字段名称。
- left_index:布尔值,使用左侧DataFrame的索引作为连接键。
- right_index:布尔值,使用正确的DataFrame的索引作为连接键。
下面是上述方法的实现和一些示例:
范例1:
Python3
# importing package
import pandas
# creating data
left = pandas.DataFrame({'a':[1, 5, 10],
'left_val':['a', 'b', 'c']})
right = pandas.DataFrame({'a':[1, 2, 3, 6, 7],
'right_val':[1, 2, 3, 6, 7]})
# view data
print(left)
print(right)
# applying merge_asof on data
print(pandas.merge_asof(left, right, on='a'))
print(pandas.merge_asof(left, right, on='a',
allow_exact_matches=False))
输出:
范例2:
Python3
# importing package
import pandas
# creating data
left = pandas.DataFrame({'a':[1, 5, 10],
'left_val':['a', 'b', 'c']})
right = pandas.DataFrame({'a':[1, 2, 3, 6, 7],
'right_val':[1, 2, 3, 6, 7]})
# view data
print(left)
print(right)
# applying merge_asof on data
print(pandas.merge_asof(left, right, on='a',
direction='forward'))
print(pandas.merge_asof(left, right, on='a',
direction='nearest'))
输出:
范例3:
Python3
# importing package
import pandas
# creating data
left = pandas.DataFrame({'left_val':['a', 'b', 'c']},
index=[1, 5, 10])
right = pandas.DataFrame({'right_val':[1, 2, 3, 6, 7]},
index=[1, 2, 3, 6, 7])
# view data
print(left)
print(right)
# applying merge_asof on data
print(pandas.merge_asof(left, right, left_index=True,
right_index=True))
输出:
相关用法
- Python Wand function()用法及代码示例
- Python cmp()用法及代码示例
- Python sum()用法及代码示例
- Python now()用法及代码示例
- Python dir()用法及代码示例
- Python ord()用法及代码示例
- Python hex()用法及代码示例
- Python min()用法及代码示例
- Python int()用法及代码示例
- Python tell()用法及代码示例
- Python oct()用法及代码示例
- Python str()用法及代码示例
- Python id()用法及代码示例
- Python map()用法及代码示例
- Python turtle.dot()用法及代码示例
- Python ldexp()用法及代码示例
注:本文由纯净天空筛选整理自deepanshu_rustagi大神的英文原创作品 pandas.merge_asof() function in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。