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

如何将按ID序列排列的DataFrame转换为From-To双列结构

重构行程DataFrame生成From/To路径列

给定包含个体ID、访问地点和顺序的DataFrame,我们需要为每个ID生成连续的行程路径(From→To)。

原始数据

ID   location  order
1    6141500   1
1    6140690   2
2    6141450   1
2    6140430   2
2    6141450   3

期望输出

From       To  
6141500    6140690   
6141450    6140430
6140430    6141450   

解决方案(Pandas实现)

核心思路是按ID分组后,通过移位操作获取每个地点的下一个目的地,再过滤掉无后续目的地的行:

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame({
    'ID': [1, 1, 2, 2, 2],
    'location': [6141500, 6140690, 6141450, 6140430, 6141450],
    'order': [1, 2, 1, 2, 3]
})

# 按ID分组,生成To列(当前地点的下一个目的地)
df['To'] = df.groupby('ID')['location'].shift(-1)

# 过滤掉无后续目的地的行,并重命名列得到最终结果
result = df.dropna(subset=['To'])[['location', 'To']].rename(columns={'location': 'From'}).reset_index(drop=True)

print(result)

执行后输出与期望一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:20:30