python - Pandas 根据最相似的值合并数据帧

标签 python pandas join merge

我正在尝试合并 2 个 pandas 数据框,但是,合并列中的值并不完全相同。

我正在使用命令 pd.merge(D_data, L_data,on="R_Time") 但是,在 D_data 中,我的 R_time 列看起来像

4.316667, 4.320834, 4.325000
在我的 L_data 列中,我的数据如下所示:

4.31000, 4.32000, ...


本质上,我想做的就是获取第一组中的每个项目,并将其与第二组中最接近的元素相匹配。我已经使用 Excel 中的 vlookup 函数完成了此操作,但我不完全确定如何在 Pandas Dataframe 对象中获得相同的功能。

给定数据:

D_data:<br/> 4.316667<br/> 4.320834 4.325 4.329167 4.333334 4.3375 4.341667 4.345834 4.35 4.354167 4.358334

L_Data 4.316667 4.318667 4.320667 4.322667 4.324667 4.326667 4.328667 4.330667 4.332667 4.334667 4.336667

我想在这些元素之间精确地进行配对,即使它们在大多数情况下并不完全相同。

最佳答案

您可以使用Pandas' merge_asof() :

关于python - Pandas 根据最相似的值合并数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777007/

相关文章:

mysql加入一对多最后一条记录

database - 查找时间对比 : foreign key is or is not present

mysql - 根据条件连接两个表以及第二个表中的记录计数

python - 使用重复项约束优化

python - 根据另一个 DataFrame 的列名子集 DataFrame

python - 如何在单词完成后检测刽子手获胜

python - 如何比较Python pandas中的日期差异

python - 选择索引标签位于两个列表之一中的 Pandas Dataframe 行

python - 如何有效地将一个 Pandas Dataframe 的每一列与另一个 Dataframe 的每一列相乘?

python - 使用 pandas resample/rolling_sum 计算秒时间间隔