[英]Finding close rows by values in two pandas dataframes without iterating
假設我有兩個數據幀df1和df2,我想執行以下操作:
for i, row in df1.iterrows():
lines = df2[(df2['A'] - row['A']).abs() < threshold]
arr.extend(lines.values)
這種方法效率極低,如何在不進行行迭代的情況下做到這一點? 我知道我可以使用Cython改善迭代,但是我想避免這樣做。
如果df1
和df2
共享一個索引,則可以創建一個布爾掩碼,然后通過它創建df2
索引。
mask = (df2.A - df1.A.abs()) < threshold
arr = df2[mask]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.