如何合并和更新数据帧

2024-04-16 18:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把数据帧df1df2合并,得到数据帧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行被更新。你知道吗


Tags: 数据iddataframedfpddf1df2
1条回答
网友
1楼 · 发布于 2024-04-16 18:32:06
  1. 串联
  2. 删除重复项

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

相关问题 更多 >