panda sql подстановочные знаки - PullRequest
0 голосов
/ 27 мая 2020

Давний пользователь и впервые разместил здесь.

Я новичок в pandas и python. Я работаю с фреймом данных, который содержит либо одно значение, либо строку значений, разделенных точкой с запятой; второй фрейм данных - это список субподрядчиков и компании, которая контролирует субподрядчика. Я пытаюсь понять, как объединить эти фреймы данных на основе двух столбцов, которые могут содержать имена субподрядчиков. Чтобы сократить количество шагов, которые я пробовал с библиотекой pandas, я пробовал panda sql.

Я пробовал

on_resource_name = '''
    SELECT
    w.*, v.[Company Name], v.[Oversite Company] as [Survey Submitter Oversite Co]
    FROM
    wo_sat w
    LEFT JOIN vendors v ON
    v.[Company Name] LIKE  '%'||w.[Embedded Data - Resource Name]||'%' OR 
    v.[Company Name] LIKE '%'||w.[Embedded Data - Source Company]||'%' OR
    v.[Company Name] LIKE  w.[Embedded Data - Resource Name]||'%' OR 
    v.[Company Name] LIKE w.[Embedded Data - Source Company]||'%'      
    ;
'''

По какой-то причине подстановочные знаки игнорируются и возвращаются только точные совпадения. Например, если ячейка содержит только (SODEXO), возвращается Sodexo, но в ячейке, содержащей (SODEXO; Jerry Thompson; Bill Murray), значение не соответствует.

Любая помощь будет принята с благодарностью!

...