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