此方法用於執行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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。