如何合并和更新2个Dataframe

时间:2017-03-16 08:50:30

标签: python pandas dataframe

a1 = pd.DataFrame({'A': [1,2,3], 'B': [2,3,4]})
b2 = pd.DataFrame({'A': [1,4], 'B': [3,6]})

我想要

c = pd.DataFrame({'A': [1,2,3,4], 'B': [3,3,4,6]})

a1和b2合并key='A' 但是当' A'相等但B不同,得到b2值

我怎样才能完成这项工作?不知道。

1 个答案:

答案 0 :(得分:2)

首先将两个数据帧连接在一起以获得一个大数据帧:

c = pd.concat([a1, b2], 0)


    A   B
0   1   2
1   2   3
2   3   4
0   1   3
1   4   6

然后在A列上进行分组,只获取A的唯一值,使用最后一次确认,而不是在有重复时使用b2的值。这给出了:

c = c.groupby('A').last()


    B
A   
1   3
2   3
3   4
4   6

然后设置重置索引以获得一个很好的数字索引。

c = c.reset_index()

返回:

    A   B
0   1   3
1   2   3
2   3   4
3   4   6

要完成所有操作,只需输入以下代码行:

c = pd.concat([a1, b2], 0)
c = c.groupby('A').last().reset_index()