合并两个不重叠的列并创建新列 [英] Merging two columns which don't overlap and create new columns

查看:85
本文介绍了合并两个不重叠的列并创建新列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import pandas as pd

df1 = pd.DataFrame([["2014", "q2"]],
                   columns=('Year', 'Quarter'))

df2 = pd.DataFrame([["2016", "q1"], 
                    ["2015", "q1"]],
                   columns=('Year', 'Quarter'))


print(df1.merge(df2, on='Year', how='outer'))

结果:

   Year   Quarter_x    Quarter_y
0   2016    NaN         q1
1   2015    NaN         q1
2   2014    q2          NaN

我想得到的是:

   Year     Quarter
0  2016      q1
1  2015      q1
2  2014      q2

有没有一种简单的方法可以通过merge()或其他函数来做到这一点?

Is there a simple way to do this with the merge() or some other function?

推荐答案

您可以使用:

df1.merge(df2, on=['Year', 'Quarter'], how='outer').dropna()

获得:

   Year Quarter
0  2014      q2
1  2016      q1
2  2015      q1

您还可以查看pd.concat().

You can also look into pd.concat().

这篇关于合并两个不重叠的列并创建新列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆