首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过left join SQL和Pandas合并数据帧

通过left join SQL和Pandas合并数据帧
EN

Stack Overflow用户
提问于 2019-02-10 14:14:26
回答 2查看 1.4K关注 0票数 0

我使用Python将两个表转换为MySQL数据库。下面的SQL代码用于对数据库中的两个表执行join。我如何通过编写等价的python代码来做同样的事情呢?

MySQL代码:

代码语言:javascript
运行
复制
SELECT A.num, B.co_name, A.rep_name
FROM A 
JOIN B 
ON A.num=B.no

所需的Python代码:

代码语言:javascript
运行
复制
sql = "XXX"    
df_merged = pd.read_sql(sql, con=cnx)
EN

回答 2

Stack Overflow用户

发布于 2019-02-10 15:56:36

我设法通过用适当的撇号括起我的查询来解决问题:

代码语言:javascript
运行
复制
sql = '''SELECT A.num, B.co_name, A.rep_name 
FROM A 
LEFT JOIN B ON A.num=B.no ''' 
df_merged = pd.read_sql(sql, con=cnx)
票数 1
EN

Stack Overflow用户

发布于 2019-02-10 15:35:49

您可以采取的一种方法是逐个获取每个元素,并将其插入到新的表/数据帧中。

代码语言:javascript
运行
复制
zip( *map(lambda x: pd.read_sql_query(SQL.format(x),connection).loc[0],  
                                      df.yourDataFrame))

这将生成一个键值对,SQL表作为键,pandas df作为值。您可以将这些值添加到您喜欢的任何位置(df或sql表)。

希望这能有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54613854

复制
相关文章

相似问题

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