4
要解決的問題如下: 我有兩個要合併爲一個的數據集。數據集沒有公共密鑰列。我希望根據第1列和第2列的唯一組合以及第3列的相似性排除重複項。通過相似性,我的意思是數據集A中第3列的值僅略大於數據集B中的值,例如,對於值20,來自範圍[18,22]的值是可接受的。一個例子更清楚:Python:基於兩個特徵的獨特組合以及第三個特徵的條件刪除重複
數據集:
Col1 | Col2 | Col3 |
1 A | A | 10 |
2 B | A | 20 |
3 A | B | 10 |
4 B | B | 20 |
數據集B:
Col1 | Col2 | Col3 |
1 A | A | 10 |
2 B | A | 21 |
3 A | B | 100 |
- 第1行是在這兩個數據集完全一樣的,所以我只想包括我的最終數據集中有一行。
- 第1列和第2列在第2行中完全相同。但是,第3列中的值爲,略微爲不同:20 vs 21.我想將這些行作爲重複對象並僅包括一行,例如,來自數據集A
- 列1和列2在第3行中完全相同。但是,第3列中的值爲極其不同:10 vs 100.我想將兩行都包含在我的最終數據集中。
- 數據集A中的第4行不存在於數據集B中,所以我想將它包含到我的最終數據集中。
預期輸出:
Col1 | Col2 | Col3 |
1 A | A | 10 |
2 B | A | 20 |
3 A | B | 10 |
4 A | B | 100 |
5 B | B | 20 |
有法的計算複雜度爲O低(N^2)[檢查與每一行的每一行]?
你有5%的「略」的數學定義嗎?或+/-三個單位內? 「稍微」一些更具體和可編程的東西。謝謝。 –
加上@ ScottBoston的問題,'咯'的可能定義很可能不是傳遞的。當行k&m和行m&n稍有不同時會發生什麼情況,但行k和n有很大不同? – EFT