merge_asof pandas python(多行)
发布时间:2022-08-24 17:47:32 172
相关标签: # node.js
我有两个 python数据框。它们的行需要由两个值(X,Y)坐标匹配,这两个值不是完全匹配但在公差范围内。我需要将 df2 中的“VAL”项添加到 df1 中的“VAL”项,其中(X,Y ) 匹配。
我尝试使用 merge_asof 没有运气。我想如果我可以让 merge_asof 以我期望的方式工作,我可以对 df2 进行添加和重新分配,但到目前为止我无法进行匹配。
这是我尝试过的代码示例。
d1 = [ ['wp1',0.0,0.0,10],['wp2',10.0,10.0,5],['wp3',7.0,7.0,5]]
d2 = [ ['wp4',0.1,0.1,5],['wp5',10.2,10.2,8]]
headers = ['Name','X','Y','VAL']
df1 = pd.DataFrame(d1,columns = headers)
df2 = pd.DataFrame(d2,columns = headers)
#attempt at solution just to find matching values
df3 = pd.merge_asof(df1.sort_values('VAL'), df2.sort_values('VAL'),on=['VAL'],by=['X','Y'],direction='nearest',tolerance=1)
#desired solution is to sum 'VAL' from df2 into df1
d1_final = [ ['wp1',0.0,0.0,10+5],['wp2',10.0,10.0,5+8]]
df1_final = pd.DataFrame(d1_final,columns = headers)
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报