pandas - 是否可以在 Pandas 中不创建第三个数据框的情况下执行合并(vlookup)?
问题描述
使用 +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的编辑问题---在我看来,类似问题之间的区别是因为其他答案意味着创建一个新的数据框,这在我的情况下是不必要的。
解决方案
推荐阅读
- c# - 如何通过新对象设置对象并影响所有引用
- r - 基于 dplyr 中的字符串(或字符串向量)应用过滤器向量
- sqlite - 为什么这个 SQLite UPDATE 语句将更改写入表中的所有记录?
- java - 当数字输入大于 100 时,如何重现此模式?
- r - R中的基本矩阵乘法函数
- texmaker - TexMaker 在打开/保存窗口中仅显示正方形
- python - BeautifulSoup 抓取 span class="value"
- elasticsearch - 为什么弹性索引存储大小增加而更新的索引不插入?
- objective-c - 具有 resizableImageWithCapInsets 的 UIImage 在暗模式下不响应
- javascript - 如何使用 Javascript 在 Outlook 中安排约会?