我有两个 Dataframe df1和df2。
np.random.seed(0)
df1= pd.DataFrame({'key': ['A', 'B', 'C', 'D'],'id': ['2', '23', '234', '2345'], '2021': np.random.randn(4)})
df2= pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'id': ['23', '2345', '67', '45'],'2022': np.random.randn(4)})
key id 2021
0 A 2 1.764052
1 B 23 0.400157
2 C 234 0.978738
3 D 2345 2.240893
key id 2022
0 B 23 1.867558
1 D 2345 -0.977278
2 E 67 0.950088
3 F 45 -0.151357
我想有唯一的关键字。如果关键字已经找到,只是更新关键字,否则插入新行。我不知道我是否必须使用合并/concat/联接。有人能给这个洞察力吗?
注意:我使用了完全外部连接,它返回重复的列。在发布问题后编辑了输入 Dataframe 。
谢谢!
3条答案
按热度按时间11dmarpk1#
根据您的描述,看起来您需要
combine_first
。它将通过按顺序替换重复项来合并两个数据集。输出:
ego6inou2#
您可以使用合并功能:
如果您还需要合并"id":
ix0qys7i3#
我认为您需要从
key
创建索引,然后加入concat
: