在处理+ 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的编辑问题- 我认为,类似问题之间的区别是因为其他答案意味着要创建一个新的数据框,而这对我而言是不必要的。