【发布时间】:2020-01-12 08:11:58
【问题描述】:
我想合并两个数据框(how=left),但不仅在索引上,而且在条件上。
例如假设两个数据框
C1 C2
A = I 3
K 2
L 5
C1 C2 C3
B = I 5 T
I 0 U
K 1 X
L 7 Z
现在我想在 A.C2 > B.C2 的条件下使用索引 C1 将外部连接表 A 与 B 分开。也就是说,最终的结果应该是这样的
A.C1 A.C2 B.C2 B.C3
A<-B = I 1 0 U
K 2 1 X
L 5 Null Null
P.S.:如果你想自己测试一下:
import pandas as pd
df_A = pd.DataFrame([], columns={'C 1', 'C2'})
df_A['C 1'] = ['I', 'K', 'L']
df_A['C2'] = [3, 2, 5]
df_B = pd.DataFrame([], columns={'C1', 'C2', 'C3'})
df_B['C1'] = ['I', 'I', 'K', 'L']
df_B['C2'] = [5, 0, 2, 7]
df_B['C3'] = ['T', 'U', 'X', 'Z']
【问题讨论】:
-
请向我们展示您的代码。
-
该链接应该对您有所帮助! - stackoverflow.com/questions/53549492/…
-
@ShivaPrakash:不,您建议的链接中没有提到条件合并
-
看看这个 [Pandas: Join dataframe with condition ](stackoverflow.com/questions/44080248/…)。
-
其他一些相关链接:(1) stackoverflow.com/questions/23508351/…, (2) github.com/pandas-dev/pandas/issues/7480。