Преобразовать условное объединение в SQL в панд - PullRequest
0 голосов
/ 11 июля 2019

Как я могу это сделать панды?В основном у меня есть df1, к которому я присоединяюсь к df2, но в зависимости от того, что содержит запись df2, ключ соединения изменяется

select coalesce( t2.age,t3.age) as age 
from df1 t1 left join df2 t2 on df1.id=df2.id and df1.Id is not null and df2.id is not null
left join df2 t3 on df1.name = df2.name and df1.name is not null and df2.name is not null and t3.title='Manager'

1 Ответ

0 голосов
/ 11 июля 2019

Кажется, вы конвертируете SQL в pandas, просто используя pandasql

import pandas as pd
import pandasql as ps

q1 = """select coalesce( t2.age,t3.age) as age 
from df1 t1 left join df2 t2 on df1.id=df2.id and df1.Id is not null and df2.id is not null
left join df2 t3 on df1.name = df2.name and df1.name is not null and df2.name is not null and t3.title='Manager' """

print(ps.sqldf(q1.replace('\n',''), locals()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...