gpt4 book ai didi

python - 合并与函数输出相关的 Pandas 数据帧

转载 作者:行者123 更新时间:2023-12-03 16:53:09 27 4
gpt4 key购买 nike

是否有一种方便的方法可以根据行之间的距离合并两个数据帧?对于以下示例,我想从最近的 df2 行中获取 df1 行的颜色。距离应计算为 ((x1-x2)**0.5+(y1-y2)**0.5)**0.5 .

import pandas as pd

df1 = pd.DataFrame({'x': [50,16,72,61,95,47],'y': [14,22,11,45,58,56],'size':[1,4,3,7,6,5]})
df2 = pd.DataFrame({'x': [10,21,64,31,25,55],'y': [54,76,68,24,34,19],'color':['red','green','blue','white','brown','black']})

最佳答案

来自 numpy 的东西播送

df1['color']=df2.color.iloc[np.argmin(np.sum(np.abs(df1[['x','y']].values-df2[['x','y']].values[:,None])**0.5,2),0)].values
df1
Out[79]:
x y size color
0 50 14 1 black
1 16 22 4 white
2 72 11 3 black
3 61 45 7 blue
4 95 58 6 blue
5 47 56 5 red

关于python - 合并与函数输出相关的 Pandas 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63647103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com