[英]join only two columns from different data frames
我有一个看起来像这样的数据框:
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
因此,如果来自第一个 dataframe 的 SKU 与来自第二个 df 的 sku 值匹配,它应该给出其标题值。 如果第一个 dataframe 中的 sku 值在第二个 dataframe 中不存在,则标题应为 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')
左连接仅使用左帧中的键,类似于 SQL 左外连接; 保留密钥顺序。 因此,它将为您提供所需的布局。
结果:
注意: NULL
经 Pandas 处理后会被解释为NaN
。
print(df)
id sku status title
0 1 jd NaN Apple
1 2 io. DONE NaN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.