在没有迭代的情况下,通过两个pandas数据帧中的值查找关闭的行

时间:2014-09-13 16:12:27

标签: python pandas dataframe

我们说我有两个数据帧,df1和df2,我想做以下事情:

for i, row in df1.iterrows():
    lines = df2[(df2['A'] - row['A']).abs() < threshold]
    arr.extend(lines.values)

这种方式非常低效,如何在没有行迭代的情况下进行此操作? 我知道我可以用Cython改进迭代,但我想避免它。

1 个答案:

答案 0 :(得分:0)

如果df1df2共享一个索引,那么你可以创建一个布尔掩码,然后用它来索引df2

mask = (df2.A - df1.A.abs()) < threshold
arr = df2[mask]