Python 如果一个数据帧中的值与另一个数据帧中的值匹配,则更改该数据帧中的值
我已经创建了2个数据帧 DataFrame1.Number包含错误的值,但DataFrame2.Number包含正确的值 我想将DataFrame1.Number的值替换为DataFrame2.Number中的值,如果所有列的值都匹配,即Python 如果一个数据帧中的值与另一个数据帧中的值匹配,则更改该数据帧中的值,python,pandas,dataframe,Python,Pandas,Dataframe,我已经创建了2个数据帧 DataFrame1.Number包含错误的值,但DataFrame2.Number包含正确的值 我想将DataFrame1.Number的值替换为DataFrame2.Number中的值,如果所有列的值都匹配,即 DataFrame2.Name == DataFrame1.Name and DataFrame2.Value1 == DataFrame1.Value1 and DataFrame2.Value2 == DataFrame1.Value2 and Dat
DataFrame2.Name == DataFrame1.Name and
DataFrame2.Value1 == DataFrame1.Value1 and
DataFrame2.Value2 == DataFrame1.Value2 and
DataFrame2.Value3 == DataFrame1.Value3 and
DataFrame2.Value4 == DataFrame1.Value4
DataFrame1中的预期结果:
我无法达到要求的结果。请帮忙
df3=pd.merge(d1,df2, how='left', on='Name')
另外,请查看用于合并Name
、Value1
、Value2
、Value3
和Value4
列,然后根据df2
数据框中合并的Number
列使用来更新df1
Number
列
df1[“Number”]更新(df1.merge(df2,on=[“Name”,“Value1”,“Value2”,“Value3”,“Value4”],how=“outer”)[“Number_y”])
请尝试以一种格式发布您的数据,好吗?没有人会花时间从头开始重新创建您的数据集。嗨,二人韩。感谢您的回复,但这将创建一个数据框的形状(37,11)。这不是我想要的。嘿,你试过df=df3[['column1','column2',…]吗?