我们说我有两个数据帧,df1和df2,我想做以下事情:
for i, row in df1.iterrows():
lines = df2[(df2['A'] - row['A']).abs() < threshold]
arr.extend(lines.values)
这种方式非常低效,如何在没有行迭代的情况下进行此操作? 我知道我可以用Cython改进迭代,但我想避免它。
答案 0 :(得分:0)
如果df1
和df2
共享一个索引,那么你可以创建一个布尔掩码,然后用它来索引df2
。
mask = (df2.A - df1.A.abs()) < threshold
arr = df2[mask]