función pandas.merge_asof() en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *