如何解决仅连接来自不同数据框的两列
我有一个如下所示的数据框:
id sku status
1. jd NULL
2. io. DONE
数据框 2:
id sku title role
6 jd Apple manager
3. xz. Null employee
我想在“SKU”列中加入这两个,这样我就可以得到一个这样的新 df:
id sku status title
1. jd NULL. Apple
2. io. DONE. NULL
因此,如果第一个数据帧中的 SKU 与第二个 df 中的 sku 值匹配,则应提供其标题值。如果第一个数据帧中的 sku 值不存在于第二个数据帧中,则标题应为 NULL。我怎样才能做到这一点?外连接似乎不起作用。
df = pd.merge(dfFirst,dfSecond[['sku','title']],how='outer',on='sku')
df.head()
解决方法
您可以使用左连接代替外连接,如下所示:
df = pd.merge(dfFirst,dfSecond[['sku','title']],how='left',on='sku')
Left join 仅使用左框架的键,类似于 SQL 左外连接;保留密钥顺序。因此,它会给你你想要的布局。
结果:
注意:NULL
被 Pandas 处理后将被解释为 NaN
。
print(df)
id sku status title
0 1 jd NaN Apple
1 2 io. DONE NaN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。