根据python中的列合并两个数据框

时间:2019-05-24 10:00:58

标签: python-3.x pandas dataframe

两个DataFrame(df1df2),df1具有列IDdf2具有列ID, flag1, flag2

我想合并两个DataFrame,其中df1中的所有ID应与flag1flag2值一起使用。

我有以下代码行。

df3=pd.merge(df1, df2, on=id, how='left')

df3的输出仅显示ID的列值,而flag1flag2没有任何值。

df3中的预期结果应为ID, flag1, flag2,其值应为flag1中的flag2df2

1 个答案:

答案 0 :(得分:1)

然后,简单地:

import pandas as pd

df1 = pd.DataFrame({'id': [1,2,3,4,5,6]})

df2 = pd.DataFrame({'id': [2,4,6],
                    'flag1' : ['a','b','c'],
                    'flag2' : ['aa','bb','cc']})

pd.merge(df1, df2, how='left')

输出

   id   flag1   flag2
0   1   NaN NaN
1   2   a   aa
2   3   NaN NaN
3   4   b   bb
4   5   NaN NaN
5   6   c   cc