假設我有兩個數據幀A和B,每個數據幀都包含兩個稱爲x和y的列。 我想連接這兩個數據框,但不是在兩個數據框上的x和y列相等的行上,而是在A的x列是B的x列的子串並且y相同的行上。 例如Python在滿足條件的列上加入兩個數據幀
if A[x][1]='mpla' and B[x][1]='mplampla'
我想要被捕獲。
上的SQL它會是這樣的:
select *
from A
join B
on A.x<=B.x and A.y<=B.y.
可以像這樣的蟒蛇做什麼?與那就是你必須遍歷的A
所有元素
import numpy.core.defchararray as ca
ca.find(B.x.values.astype(str), 'mpla') >= 0
問題:
您提供的SQL沒有實現您描述的內容。你想要哪一個:子串匹配還是字典比較? – 2015-01-21 05:57:34
哦,我知道,這只是一個例子。在這個特定的場合,我需要子串匹配。但我理想的情況是我想了解是否有辦法爲其他關係實現它(例如,如果我有數字等...) – yortos 2015-01-21 06:08:18
這裏是一個類似的問題... http://stackoverflow.com/questions/22723286/complex-joins-in-pandas – DataByDavid 2015-01-22 03:27:40