首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 2 lists / SQL联接

Python 2 lists / SQL联接
EN

Stack Overflow用户
提问于 2015-07-03 15:12:10
回答 2查看 178关注 0票数 1

如果我在蟒蛇中有两个列表或数据框架(熊猫),我如何合并/匹配/加入它们?

例如:

清单/ DF 1:

代码语言:javascript
复制
Table_Name  Table_Alias
  tab_1          t1
  tab_2          t2
  tab_3          t3

清单/ DF 2:

代码语言:javascript
复制
Table_Alias   Variable_Name
    t1            Owner
    t1            Owner_Id
    t2            Purchase_date
    t3            Maintenance_cost

预期结果:

代码语言:javascript
复制
Table_Name   Table_Alias   Variable_Name
   tab_1         t1            Owner
   tab_1         t1            Owner_Id
   tab_2         t2            Purchase_date
   tab_3         t3            Maintenance_cost

注意:如果我是在R中这样做的话,我会使用这样的方法:

代码语言:javascript
复制
df3 <- merge(df1, df2, by = 'Table_Alias', all.y = T)

在python中做这件事的最好方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-03 15:16:55

你想要一个“外部”merge

代码语言:javascript
复制
In [9]:
df.merge(df1, how='outer')

Out[9]:
  Table_Name Table_Alias     Variable_Name
0      tab_1          t1             Owner
1      tab_1          t1          Owner_Id
2      tab_2          t2     Purchase_date
3      tab_3          t3  Maintenance_cost

它将在dfs的重叠列上匹配,并返回匹配行的合并。

票数 2
EN

Stack Overflow用户

发布于 2015-07-03 15:36:19

我只会使用pd.merge(df1, df2, how='outer',on='alias')

代码语言:javascript
复制
df1 = pd.DataFrame({ "table_name":['tab1',"tab2","tab3"],"talias ['t1','t2','t3']})
df2 = pd.DataFrame({"talias":['t1',"t1","t2",'t3'], "vname,['Owner','Owner_Id','Purchase_date','Maintenance_cost']})


pd.merge(df1,df2,how='outer', on='talias')


Out:
    Table_Alias Table_Name  Variable_Name
0   t1  tab1    Owner
1   t1  tab1    Owner_Id
2   t2  tab2    Purchase_date
3   t3  tab3    Maintenance_cost
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31209908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档