4
我有兩個數據幀,說A
和B
,有一些列名爲attr1
,attr2
,attrN
。基於最近值合併熊貓數據幀
我有一定的距離測量,我想合併數據幀,使A
中的每一行與B
中具有最短距離屬性之間的行合併。請注意,合併時可以重複B
中的行。
例如(有一個屬性讓事情變得簡單),使用絕對差距離|A.attr1 - B.att1|
A | attr1 B | attr1
0 | 10 0 | 15
1 | 20 1 | 27
2 | 30 2 | 80
應該產生以下合併表
M | attr1_A attr1_B
0 | 10 15
1 | 20 15
2 | 30 27
我做的電流的方式合併這兩個表這是緩慢的,並且基於比較每行A
與B
的每一行,但代碼也不明確,因爲我必須保留用於合併的索引並且我根本不滿意,但是我可以沒有拿出更好的解決方案。
如何使用熊貓來執行上述合併?有沒有任何方便的方法或功能可以幫助您?
編輯:只是爲了澄清,在數據框中還有其他列沒有用於距離計算,但也必須合併。你可以做到這一點如下
因此,如果我正確地得到它,您首先計算產品(A中的每一行與B中的每一行),然後過濾掉不符合給定條件的行。絕對比我的解決方案更可讀,謝謝! – AkiRoss
@AkiRoss是的,我創建了A和B的笛卡爾積,然後使用條件進行過濾。 –
非常有趣的解決方案! – MaxU