Python 合并数据帧并覆盖原始df中的数据
我正在尝试合并两个熊猫数据帧,但我不知道如何获得所需的结果。以下是我正在查看的数据帧的示例版本:Python 合并数据帧并覆盖原始df中的数据,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我正在尝试合并两个熊猫数据帧,但我不知道如何获得所需的结果。以下是我正在查看的数据帧的示例版本: df1 = pd.DataFrame([["09/10/2019",None],["10/10/2019",None], ["11/10/2019",6], ["12/10/2019",5], ["13/10/2019",3], ["14/10/2019",3], ["15/10/2019",5],
df1 = pd.DataFrame([["09/10/2019",None],["10/10/2019",None], ["11/10/2019",6],
["12/10/2019",5], ["13/10/2019",3], ["14/10/2019",3],
["15/10/2019",5],
["16/10/2019",None]], columns = ['Date', 'A'])
df2 = pd.DataFrame([["10/10/2019",3], ["11/10/2019",5], ["12/10/2019",6],
["13/10/2019",1], ["14/10/2019",2], ["15/10/2019",4]],
columns = ['Date', 'A'])
我已经检查过了,但仍然找不到正确的方法。基本上,我需要使用与指南中相同的图形:
i、 e.我希望保留来自df1的数据,该数据位于共享密钥部分之外,但在共享区域内,我希望来自列“A”的df2数据覆盖来自df1的数据。我甚至不确定merge
是否是正确的工具
我曾尝试使用带有不同选项的df1=pd.merge(df1,df2,how='right',on='Date')
,但在大多数情况下,它会在输出中创建两个单独的列-A_x
和A_y
这就是我想要得到的最终结果:
Date A
0 09/10/2019 NaN
1 10/10/2019 3.0
2 11/10/2019 5.0
3 12/10/2019 6.0
4 13/10/2019 1.0
5 14/10/2019 2.0
6 15/10/2019 4.0
7 16/10/2019 NaN
Date A
0 09/10/2019 NaN
1 10/10/2019 3.0
2 11/10/2019 5.0
3 12/10/2019 6.0
4 13/10/2019 1.0
5 14/10/2019 2.0
6 15/10/2019 4.0
7 16/10/2019 NaN
提前谢谢 以下是一种使用方法:
或:
df2.set_index('Date').reindex_like(df1.set_index('Date')).reset_index()
Date A
0 09/10/2019 NaN
1 10/10/2019 3.0
2 11/10/2019 5.0
3 12/10/2019 6.0
4 13/10/2019 1.0
5 14/10/2019 2.0
6 15/10/2019 4.0
7 16/10/2019 NaN