我想连接数据框 df1 和 df2 并生成数据框 df
df1 = pd.DataFrame([
{"id": 1, "a": 1, "b": 1},
{"id": 2, "a": 2, "b": 2},
])
df2 = pd.DataFrame([
{"id": 1, "a": 5, "b": 5},
{"id": 3, "a": 6, "b": 6}
])
df = pd.DataFrame([
{"id": 1, "a": 5, "b": 5},
{"id": 2, "a": 2, "b": 2},
{"id": 3, "a": 6, "b": 6}
])
可以看到,相同 id 的行已更新。
答案 0 :(得分:1)
df1 = pd.DataFrame([
{"id": 1, "a": 1, "b": 1},
{"id": 2, "a": 2, "b": 2},
])
df2 = pd.DataFrame([
{"id": 1, "a": 5, "b": 5},
{"id": 3, "a": 6, "b": 6}
])
print (pd.concat([df1.set_index('id'),
df2.set_index('id')])
.reset_index()
.drop_duplicates(subset='id', keep='last')
.set_index('id')
.sort_index())
输出:
a b
id
1 5 5
2 2 2
3 6 6