我有两个几乎相同的熊猫数据栏和5个共同的列。我想将第二个dataframe添加到第一个,它有一个新的列。
Dataframe 1

Dataframe 2

但我想要它更新同一行,因为列‘批号’,‘晶圆’和‘站点’匹配(绿色)。如果这些列不匹配,我希望有如下所示的NaN值。
期望输出

我必须这样做超过160个离散列,但可能匹配的批号,晶圆和网站价值。
我尝试了各种合并(左,右,外)和连接选项,只是似乎不能得到正确的。如果有任何帮助\评论,我们将不胜感激。
编辑,跟进问题:
我试图在循环中使用这一点,在循环中,每次迭代都生成一个分配给临时项目的新数据文件,需要与以前的dataframe合并。我不能与空的dataframe合并,因为它会导致合并错误。我怎样才能做到这一点?
alldata = pd.DataFrame()
for i in range(len(operation)):
    temp = data[data['OPE_NO'].isin([operation[i]])]
    temp = temp[temp['PARAM_NAME'].isin([parameter[i]])]
    temp = temp.reset_index(drop=True)
    temp = temp[["LOT",'Lot name','WAFER',"SITE","PRODUCT",'PARAM_VALUE_NUMBER']]
    temp = temp.rename(columns={'PARAM_VALUE_NUMBER':'PMRM28LEMCKLYTFR.1~'+operation[i]+'~'+parameter[i]})
    alldata.merge(temp,how='outer')发布于 2022-03-12 09:41:53
示例可以使用以下代码完成
df1.merge(df2, how="outer")如果我是误会问题,请告诉我问题。
我的英语不好,但我有好心来帮助你。
https://stackoverflow.com/questions/71448357
复制相似问题