【发布时间】:2021-03-24 16:34:39
【问题描述】:
我想合并两个数据框,df2 可能有更多列,并且总是 1 行。我希望df2 行中的数据覆盖df 中a 上的匹配行。
df = pd.DataFrame({'a': {0: 0, 1: 1, 2: 2}, 'b': {0: 3, 1: 4, 2: 5}})
df2 = pd.DataFrame({'a': {0: 1}, 'b': {0: 90}, 'c': {0: 76}})
>>> df
a b
0 0 3
1 1 4
2 2 5
>>> df2
a b c
0 1 90 76
想要的输出:
a b c
0 0 3 NaN
1 1 90 76
2 2 5 NaN
我尝试过向左合并,但这会创建两个 b 列(b_x 和 b_y):
>>> pd.merge(df,df2,how='left', on='a')
a b_x b_y c
0 0 3 NaN NaN
1 1 4 90.0 76.0
2 2 5 NaN NaN
【问题讨论】:
标签: python python-3.x pandas dataframe