根据范围匹配数据框观察

时间:2018-01-25 22:15:16

标签: python pandas dataframe append

我有两个(不一定是对齐的)数据框,如下所示:

df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [3, 4, 3, 10], 'C': [10, 11, 13, 14]})
df2 = pd.DataFrame({'A': [1, 7, 70, 5, 30], 'B': [3, 30, 20, 110, 1], 'C': [2, 130, 140, 10, 100]})

修改:我想确定df1A中的观察结果BABdf2列完全匹配{1}};以及C列中的值,该值位于C的{​​{1}}列中观察值的七位数内。

在这个例子中,我想要输出如下:

df2

我可以弄清楚如何找到列A B C True True False True False False False False False False False True A的完全匹配:

B

1 个答案:

答案 0 :(得分:1)

df1.isin(df2).assign(C=pd.np.abs(df1.C - df2.C).dropna() <= 7)

# Output:
       A      B      C
0   True   True  False
1  False  False  False
2  False  False  False
3  False  False   True