python - 在 Pandas 的两列中的任何一列上合并表

标签 python mysql pandas merge

我正在使用 python 使用 pandas 合并表,但我遇到了一些麻烦。这就是问题所在。

我有 2 个表_A 和表_B。我在 table_A 上有两列说“一”,“二”。我在 table_B 上有两列说“一”,“三”。 table_B 中的“one”列有一些值映射到 table_A 中的“one”列,还有一些值映射到 table_A 中的“two”列。我如何在 python 中映射类似于查询的值:

Select * from Table_A a, Table_B b
where a.one = b.one or a.two=b.one 

谢谢!

最佳答案

考虑使用合并将您的 SQL 查询转换为 OR 的连接通常类似于 UNION:

pd.concat([pd.merge(table_A, table_B, on='one'),
           pd.merge(table_A, table_B, left_on='two', right_on='one')])

关于python - 在 Pandas 的两列中的任何一列上合并表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43552785/

相关文章:

python - 将 PIL 图像转换为字节数组

python - 如何对列中的每个不同值进行转发重采样

python - 当用 "10.0"替换 ".0"时,""被完全删除

python - 将所有落在 Pandas 同一时间仓中的行分组

python - 谁能告诉我快速排序代码中的错误是什么

python - 不明白此 AttributeError : '_Screen' object has no attribute 'setimage' 的原因

Python for 循环声明和行为

mysql - 尝试显示超链接时解析错误

mysql - 为什么这个 MySQL 查询不起作用?

python - SQLAlchemy 表达式语言 : how to join table with subquery?