You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas/Python中计算DataFrame相邻行的相对曼哈顿距离

实现方案

你手上存储位置序列的DataFrame现有三列:

['Location number','x_coordinate', 'y_coordinate']

需要新增列记录当前行与上一行位置的相对距离:第一行无前序位置,距离填0;其余行按曼哈顿距离计算,规则为x方向差值加y方向差值(距离场景下默认取绝对值保证非负)。

直接用pandas内置的相邻行差值方法即可,无需手写循环,性能更好,假设你的DataFrame变量名为df,执行以下代码即可:

df['relative_distance'] = (df['x_coordinate'].diff().abs() + df['y_coordinate'].diff().abs()).fillna(0)

逻辑说明

  • df[列名].diff():自动计算当前行与上一行的数值差,第一行因为没有上一行数据,返回空值NaN
  • .abs():对差值取绝对值,符合距离非负的通用逻辑;如果你的业务场景需要保留正负值体现移动方向,直接删除该方法调用即可
  • .fillna(0):将第一行的空值填充为0,满足首行距离为0的要求

内容的提问来源于stack exchange,提问作者Cornelis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:24:14