Este método se utiliza para realizar una fusión asof. Esto es similar a una combinación izquierda, excepto que hacemos coincidir la clave más cercana en lugar de las claves iguales. Ambos DataFrames deben ordenarse por clave.
Sintaxis: pandas.merge_asof(left, right, on=Ninguno, left_on=Ninguno, right_on=Ninguno, left_index=False, right_index=False, by=Ninguno, left_by=Ninguno, right_by=Ninguno, sufijos=(‘_x’, ‘ _y’), tolerancia=Ninguna, allow_exact_matches=Verdadero, dirección=’hacia atrás’, )
Parámetros:
- izquierda, derecha: marco de datos
- en: etiqueta, Nombre de campo para unirse. Debe encontrarse en ambos DataFrames.
- left_on: etiqueta, nombre de campo para unirse en el marco de datos izquierdo.
- right_on: etiqueta, nombre de campo para unirse en el marco de datos derecho.
- left_index: booleano, use el índice del DataFrame izquierdo como clave de unión.
- right_index: booleano, use el índice del DataFrame derecho como clave de combinación.
A continuación se muestra la implementación del método anterior con algunos ejemplos:
Ejemplo 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))
Producción:
Ejemplo 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'))
Producción :
Ejemplo 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))
Producción:
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA