合并两个不重叠的列并创建新列 [英] Merging two columns which don't overlap and create new columns
本文介绍了合并两个不重叠的列并创建新列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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屋!
查看全文