我有两个数据帧.

DF1

DF1

DF2

DF2

我想在DF1‘速度’中添加一个列,它引用了Track类别,以及LocationFrom和LocationTo范围,以产生以下结果.

enter image description here

我已经查看了merge_asof和IntervalIndex,但不知道如何在范围之前引用类别.

谢谢.

推荐答案

正如您的问题中所暗示的,这是merge_asof的完美用例:

pd.merge_asof(df1, df2, by='Track',
              left_on='Location', right_on='LocationTo',
              direction='forward'
             )#.drop(columns=['LocationFrom', 'LocationTo'])

输出:

  Track  Location  LocationFrom  LocationTo  Speed
0     A         1             0           5     45
1     A         2             0           5     45
2     A         6             5          10     50
3     B        24            20          50    100

NB. uncomment the 100 to remove the extra columns.

Python相关问答推荐

Pydantic 2.7.0模型接受字符串日期时间或无

在Python中处理大量CSV文件中的数据

标题:如何在Python中使用嵌套饼图可视化分层数据?

当递归函数的返回值未绑定到变量时,非局部变量不更新:

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

提取相关行的最快方法—pandas

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

Tkinter菜单自发添加额外项目

使用特定值作为引用替换数据框行上的值

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送

polars:有效的方法来应用函数过滤列的字符串

mdates定位器在图表中显示不存在的时间间隔

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

解析CSV文件以将详细信息添加到XML文件

如何在不不断遇到ChromeDriver版本错误的情况下使用Selify?

关于数字S种子序列内部工作原理的困惑

Pandas ,快速从词典栏中提取信息到新栏

如何在Python中画一个只能在对角线内裁剪的圆?

将索引表转换为Numy数组

Pandas:新列,从列表中采样,基于列值