pandas有没有办法通过使用条件语句合并两个不同长度的数据帧? 例如:
pd.merge(df1, df2, on=<condition>)
例如,假设有两个数据帧,分别为10,000和15,000个对象的df1和df2。 我想使用它们的x和y位置匹配两个目录之间的常见对象。对象应在df1和df2之间匹配,以使匹配的对象落在彼此相差1m的范围内。
除了x和y之外,两个数据帧之间没有任何共同之处。
到目前为止,我能想到的最好的是一个for循环。我确信有更快更好的方法吗?
delta = 1.0
result = pd.concat([df1, df2], axis=1)
for index, values in result.T.iteritems():
if len(result[((result.x.iloc[:,1]-delta)<values.x.iloc[0]) & ((result.x.iloc[:,1]+delta)>values.x.iloc[0]) &
((result.y.iloc[:,1]-delta)<values.y.iloc[0]) & ((result.y.iloc[:,1]+delta)>values.y.iloc[0])])>0 :
print values.id