是否可以执行合并(vlookup)而无需在Pandas中创建第三个数据框?

时间:2019-03-28 01:50:28

标签: pandas dataframe

在处理+ 450K行x 90 col数据帧时,我需要执行几个pd.merge(Excel的“ vlookup”)命令。

与现有解决方案相比,我认为针对每次合并所提到的维度的新数据框效率不高。

如何在df1内的新列上合并df1和df2?

到目前为止,我的方法是将合并指向df1中的新列。没有成功。

import pandas as pd

df1=pd.DataFrame({'Campo':['C1','C2','C3'],'Plataformas':['C1-A','C2-A','C3-A']})

df2=pd.DataFrame({'Plataformas':['C1-A','C2-A','C3-A'],'Pozos':[5,10,15]})

df3=df1.merge(df2,on='Plataformas')   #This works for the df3 

t1['Num Pozos']=t1.merge(t2,on='Plataformas')  #This didn't worked

DF1
Campo   Plataformas
C1  C1-A
C2  C2-A
C3  C3-A

DF2
Plataformas Pozos
C1-A            5
C2-A            10
C3-A            15

New DF1 (Expected)
Campo   Plataformas Pozos
C1  C1-A             5
C2  C2-A             10
C3  C3-A             15

为了避免df3,我尝试过:

df1['Num Pozos']=df1.merge(df2,on='Plataformas')

输出错误为:

ValueError:传递的项目数错误4,展示位置表示1

感谢您的帮助。

---针对@coldspeed的编辑问题- 我认为,类似问题之间的区别是因为其他答案意味着要创建一个新的数据框,而这对我而言是不必要的。

0 个答案:

没有答案