在左侧合并2列数据帧时,设置它在两个数据帧中出现的值id

时间:2017-11-22 15:54:53

标签: pandas merge

我有2个数据帧:

    is_churn  msno
0         0   f5    # only in df2
1         1   f0    # only in df2
2         1   f3    # in df2 and df1, same is_churn=1
3         1   f2    # in df2 is_churn is 1 and in df1 is_churn is 0, so result: 1
4         0   f1    # only in df1
5         1   f4    # only in df1

我需要合并它们,所以'msno'的所有值都会出现在结果中, 如果ms_出现在df1和df2中,则is_churn的值将取自df2。 我需要的结果如下:

{{1}}

1 个答案:

答案 0 :(得分:3)

IIUIC,使用

In [126]: pd.concat([df2, df1[~df1.msno.isin(df2.msno)]], ignore_index=True)
Out[126]:
   is_churn msno
0         0   f5
1         1   f0
2         1   f3
3         1   f2
4         0   f1
5         1   f4