如何根据 Python 中多列的不相等条件进行合并

How to merge based on unequal conditions on more than one columns in Python

所以,假设我有两个数据集 A 和 B,我正尝试将它们合并到多个列上,作为左连接。相应的 SQL 可能是:

Select
A.a1
,A.a2
,A.a3
,B.b3
from A left join B
on A.a1=B.b1 and A.a2 <= B.b2

提前感谢您的帮助! :)

您可以使用 pd.merge 来完成所有这些

import numpy as np

df = pd.merge(left_df, right_df, how = 'left', left_on = ['Column1', 'Column2'], right_on = ['Column_1', 'Column_2'])
df['Check'] = np.where(df['Column1'] <= df['Column_1'], True, False)
df.loc[df['Check'] == True]

这还包括一种在多个列与每个数据帧不同的情况下加入多个列的方法。

合并数据帧后,您可以使用 np.where 查找某列小于另一列的位置,并将其过滤到正确的位置