Условное соединение в пандах - PullRequest
0 голосов
/ 11 июля 2019

Я объединяю 2 набора данных:

df1.merge(df2,how='left' on='ID')

Я хочу выбрать только записи, где df2.NAME = 'ABC'

Какой самый крутой способ сделать это? В SQL это будет:

select * from df1 left join df2 on df1.id=df2.id and df2.name='ABC'

1 Ответ

1 голос
/ 11 июля 2019
df1.merge(df2[df2.NAME=='ABC'], how='left', on='ID')

или

df = df1.merge(df2, how='left', on='ID')
df = df[df.NAME=='ABC']

в зависимости от того, хотите ли вы, чтобы эти строки существовали в результирующем df (с NaNs) [фрагмент 1] или чтобы они были полностью отброшены [фрагмент 2].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...