Para realizar a comparação (df2['data_abertura'] >= df1['data_inicio']) em cada linha durante o merge, você pode usar a função apply() do pandas para aplicar uma função lambda em cada registro das colunas correspondentes.
Aqui está uma possível solução para o seu problema:
import pandas as pd
df3 = pd.merge(df1, df2, left_on=['numero_a', 'data_inicio'], right_on=['numero_b', 'data_abertura'], how='left')
# Função para verificar se a data de abertura é maior ou igual à data de início
def check_data(row):
return row['data_abertura'] >= row['data_inicio']
# Aplicando a função em cada linha do DataFrame
df3['comparacao'] = df3.apply(check_data, axis=1)
Após a execução desse código, o DataFrame df3 terá uma nova coluna chamada 'comparacao' que conterá o resultado da comparação entre as datas de abertura e início para cada registro.
Certifique-se de que as colunas 'numero_a', 'data_inicio', 'numero_b' e 'data_abertura' existam nos respectivos DataFrames (df1 e df2) e estejam com os tipos de dados corretos (inteiro para os campos numéricos e datas para os campos de data).
Espero que isso ajude! Se você tiver mais dúvidas, sinta-se à vontade para perguntar.