我有两个(不一定是对齐的)数据框,如下所示:
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]})
修改:我想确定df1
列A
中的观察结果B
,A
与B
和df2
列完全匹配{1}};以及C
列中的值,该值位于C
的{{1}}列中观察值的七位数内。
在这个例子中,我想要输出如下:
df2
我可以弄清楚如何找到列A B C
True True False
True False False
False False False
False False True
和A
的完全匹配:
B
答案 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