Pandas,从df2更新df1行

时间:2016-02-03 16:01:44

标签: python-2.7 pandas dataframe

我有df1

id, colA, colB, colC, name
1,  1,  2,  3,  a
2,  2,  3,  4,  a
3,  3,  4,  5,  b
4,  4,  5,  6,  b

df2

id, colA, colB, colD, name
2,  10,  20,  D1,  a
3,  20,  30,  D2,  a

是否有办法,可能使用mergejoindf中的行替换为匹配df2id的{​​{1}} < / p>

所以结果如下:

name

我在考虑类似:id, colA, colB, colC, name, colD 1, 1, 2, 3, a, N/A 2, 10, 20, N/A, a, D1 3, 3, 4, 5, b, N/A 4, 4, 5, 6, b, N?A ,但只匹配一列。

1 个答案:

答案 0 :(得分:0)

你可以:

df = pd.concat([df1, df2]).drop_duplicates(subset=['id', 'name'], keep='last').drop_duplicates(subset='id')

将两个DataFrame合并,并保留来自id的重复namedf2,并从{{id中删除df2 s 1}}你不想保留。