Python 仅连接来自不同数据帧的两列

Python 仅连接来自不同数据帧的两列,python,pandas,database,join,outer-join,Python,Pandas,Database,Join,Outer Join,我有一个如下所示的数据框: id sku status 1. jd NULL 2. io. DONE id sku status title 1. jd NULL. Apple 2. io. DONE. NULL 数据框架2: id sku title role 6 jd Apple manager 3. xz. Null employee 我想在“SKU”列中加入这两个元素,这样我可以得到一个新的df,如下所示: id sk

我有一个如下所示的数据框:

id  sku  status
1.  jd   NULL
2.  io.  DONE
id  sku  status title
1.  jd   NULL.  Apple
2.  io.  DONE.  NULL
数据框架2:

id  sku  title   role
6   jd   Apple   manager
3.  xz.  Null    employee
我想在“SKU”列中加入这两个元素,这样我可以得到一个新的df,如下所示:

id  sku  status
1.  jd   NULL
2.  io.  DONE
id  sku  status title
1.  jd   NULL.  Apple
2.  io.  DONE.  NULL
因此,如果第一个数据帧中的SKU与第二个df中的SKU值匹配,则应给出其标题值。如果第一个数据帧中的sku值不存在于第二个数据帧中,则标题应为空。我怎样才能做到这一点?外部连接似乎不起作用

df = pd.merge(dfFirst,dfSecond[['sku','title']],how='outer', on='sku')
df.head()
不使用外部联接,您可以使用左联接,如下所示:

df = pd.merge(dfFirst,dfSecond[['sku','title']],how='left', on='sku')
左连接仅使用左框架中的键,类似于SQL左外部连接;保留密钥顺序。因此,它将为您提供所需的布局

结果:

注:
NULL
将被熊猫处理后解释为
NaN

print(df)


   id  sku status  title
0   1   jd    NaN  Apple
1   2  io.   DONE    NaN